Importer des données existantes
Cette page concerne les données qui existent déjà ailleurs : les cartes que votre club a géoréférencées au fil des ans, des circuits tracés dans d’autres logiciels, toute une archive sur un serveur RouteGadget. Plutôt que de tout refaire à la main, vous pouvez les transférer dans Checkpoint avec un script qui s’appuie sur l’API.
Ce que permet l’API
Section intitulée « Ce que permet l’API »Tout ce que fait l’application, un script peut le faire aussi, avec le même compte et les mêmes droits. Pour un import, l’essentiel est :
- Clubs —
POST /api/clubscrée le club auquel appartiendront les cartes et les circuits importés. - Cartes —
POST /api/mapsenvoie l’image d’une carte avec la latitude et la longitude de ses quatre coins, ce qui suffit à Checkpoint pour la poser sur le terrain. Une carte peut aussi être créée sans image et géoréférencée plus tard avecPUT /api/maps/{id}/georeference. - Circuits —
POST /api/coursescrée un circuit sur une carte à partir des coordonnées de ses postes. Si vos circuits sont déjà au format IOF XML (v2 ou v3) ou MapRun KML,POST /api/courses/importlit le fichier et renvoie les postes, prêts à enregistrer.
Tous les paramètres sont dans le navigateur OpenAPI. Attention à la limite de 100 requêtes par minute : étalez un gros import plutôt que de relancer après une erreur 429.
Exemples
Section intitulée « Exemples »Des exemples fonctionnels se trouvent dans Checkpoint-io/Checkpoint-Samples sur GitHub. Ils sont publiés sous CC0 : copiez-les et adaptez-les librement.
RouteGadget : toutes les cartes géoréférencées et leurs circuits
Section intitulée « RouteGadget : toutes les cartes géoréférencées et leurs circuits »Import/RouteGadget/import-routegadget.mjs prend toutes les
cartes géoréférencées d’un serveur RouteGadget, avec les circuits de chaque
course qui s’y est tenue, et les recrée dans un nouveau club sur Checkpoint :
- Il lit la liste des cartes et des courses du serveur.
- Il convertit le géoréférencement de chaque carte en position réelle des quatre coins de l’image, et les postes de chaque circuit, de positions sur l’image en latitude et longitude.
- Il crée le club, envoie chaque carte et crée ses circuits.
Les cartes non géoréférencées sont ignorées : sans coordonnées réelles, il n’y a rien à poser sur le terrain.
Pour le lancer, renseignez les constantes en tête du fichier — l’e-mail et le mot de passe de votre compte Checkpoint, le nom du nouveau club et les adresses de votre serveur RouteGadget (l’exemple pointe vers l’un de ceux de British Orienteering) — puis, avec Node.js 20 ou plus récent :
node import-routegadget.mjsIl espace lui-même ses requêtes pour rester sous la limite : une grosse archive prend donc un moment.
N’importez que des cartes et des circuits que vous avez le droit de publier. Une carte appartient au club ou au cartographe qui l’a réalisée, qu’elle soit ou non sur un serveur public.
Contribuer
Section intitulée « Contribuer »Vous avez écrit un import pour un autre outil — OCAD, Purple Pen, Condes, Livelox, l’archive de votre club ? Les contributions au dépôt d’exemples sont les bienvenues : ouvrez une pull request, elle aidera le prochain club qui fera la même démarche.
Si un import demande quelque chose que l’API ne fait pas encore, ou si vous voulez un coup de main pour une migration, dites-le-nous dans la rubrique Import de l’espace de suggestions.