Aller au contenu
Commencer gratuitement

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.

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/clubs crée le club auquel appartiendront les cartes et les circuits importés.
  • Cartes — POST /api/maps envoie 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 avec PUT /api/maps/{id}/georeference.
  • Circuits — POST /api/courses cré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/import lit 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.

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 :

  1. Il lit la liste des cartes et des courses du serveur.
  2. 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.
  3. 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 :

Terminal window
node import-routegadget.mjs

Il 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.

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.