APIsï
API Geotrekï
Geotrek dispose dâune API (Application Programming Interface) qui sert Ă exposer les donnĂ©es stockĂ©es dans une instance de Geotrek-admin, dans le but de pouvoir la faire communiquer avec dâautres outils, systĂšmes et plateforme et ainsi Ă©changer des donnĂ©es.
Cette API, désormais dans sa version 2 permet à toute structure tierce de récupérer des données et de les intégrer dans son systÚme ou ses applications.
Ă ce jour de nombreux partenaires des structures utilisatrices de lâapplication Geotrek ont dĂ©jĂ utilisĂ© cette API pour intĂ©grer les donnĂ©es dans leurs outils.
LâAPI Geotrek est le point central pour permettre les interconnexions avec divers services. GrĂące Ă cette interface de donnĂ©es, Geotrek sâest positionnĂ© comme un point central dans un Ă©cosystĂšme de solutions du monde de la gestion et promotion des activitĂ©s de pleine nature.
Pour changer les paramĂštres dâaccĂšs de lâAPI, rĂ©fĂ©rez vous Ă cette section API
APIs externesï
Geotrek et IGNrandoâï
Geotrek-admin est capable de produire un flux des itinĂ©raires et POIs prĂ©sents dans sa BDD au format Cirkwi pour pouvoir les importer directement dans IGNrandoâ (https://makina-corpus.com/sig-webmapping/geotrek-et-lign-ca-fonctionne).
Exemple des randonnĂ©es et POIs du Parc national des Ecrins publiĂ©es sur IGNrandoâ depuis Geotrek-admin : https://ignrando.fr/fr/communautes/parc-national-des-ecrins
Depuis cette version, 2 flux sont automatiquement gĂ©nĂ©rĂ©s par Geotrek-admin au format attendu par lâIGN :
[URL_GEOTREK-ADMIN]/api/cirkwi/circuits.xml
[URL_GEOTREK-ADMIN]/api/cirkwi/pois.xml
Il est possible dâexclure les POI du flux pour ne diffuser que les randonnĂ©es. Pour cela, ajouter le paramĂštre ?withoutpois=1
Ă la fin de lâURL (http://XXXXX/api/cirkwi/circuits.xml?withoutpois=1
).
Il est possible de filtrer les POI du flux par structure. Pour cela, ajouter le paramĂštre ?structures=<identifiant_de_la_structure>
Ă la fin de lâURL (http://XXXXX/api/cirkwi/pois.xml?structures=2
).
Vous pouvez filtrer avec plusieurs structures : en séparant les identifiants par des virgules (http://XXXXX/api/cirkwi/pois.xml?structures=2,5,3
).
Il est également possible de filtrer les randonnées du flux par structure et par portail.
Pour cela, ajouter le paramĂštre ?structures=<identifiant_de_la_structure>
ou ?portals=<identifian_de_la_structure>
Ă la fin de lâURL (http://XXXXX/api/cirkwi/circuits.xml?portals=3
).
Il est Ă©galement possible dâexclure du flux les randonnĂ©es provenant de sources externes Ă Geotrek-Admin. Ce filtre est notamment nĂ©cessaire pour
ne pas renvoyer à Cirkwi les randonnées qui en proviennent déjà . Pour cela, ajouter le paramÚtre ?include_externals=false
Ă la fin de lâURL (http://XXXXX/api/cirkwi/circuits.xml?include_externals=false
).
Il est possible de cumuler ces différents filtres, en séparant les valeurs par un &
(http://XXXXX/api/cirkwi/circuits.xml?portals=3&structures=1&include_externals=false
).
Il est Ă©galement possible dâexclure du flux les randonnĂ©es provenant de sources externes Ă Geotrek-Admin. Ce filtre est notamment nĂ©cessaire pour ne pas renvoyer Ă Cirkwi les randonnĂ©es qui en proviennent dĂ©jĂ . Pour cela, ajouter le paramĂštre ?include_externals=false
Ă la fin de lâURL (http://XXXXX/api/cirkwi/circuits.xml?include_externals=false
).
Il est possible de cumuler ces différents filtres, en séparant les valeurs par un &
(http://XXXXX/api/cirkwi/circuits.xml?portals=3&structures=1&include_externals=false
).
Le référentiel CIRKWI a été intégré dans 3 tables accessibles dans le module de configuration (à ne pas modifier) :
Si vous ne souhaitez pas utiliser les valeurs par défaut ou avez créez vos propres typologies, il faut que vous renseigniez les correspondances entre les catégories de votre Geotrek et celles du référentiel IGN (Cirkwi) dans le module de configuration. Comme indiqué ici : https://github.com/GeotrekCE/Geotrek-admin/issues/806.
Pratique >> locomotion/loisirs
Accessibilite >> thematiques/tags
Themes >> thematiques/tags
Types de POI >> Categories POI
Les correspondances avec les valeurs de ces 3 tables sont donc à renseigner dans les tables Geotrek des Pratiques, Accessibilités, ThÚmes et Types de POI.
Ce mĂȘme flux est aussi utilisable pour alimenter directement la plateforme Cirkwi : https://pro.cirkwi.com/importez-vos-donnees-geotrek-dans-cirkwi/.
Note
Geotrek-admin dispose aussi dâune API gĂ©nĂ©rique permettant dâaccĂ©der aux contenus dâune instance Ă lâadresse : [URL_GEOTREK-ADMIN]/api/v2/
Geotrek et APIDAEï
Il existe plusieurs passerelles entre la plateforme dâinformations touristiques APIDAE et Geotrek.
APIDAE vers Geotrekï
Actuellement, certains contenus touristiques peuvent ĂȘtre synchronisĂ©s automatiquement avec une base APIDAE. Il sâagit des contenus situĂ©s dans les catĂ©gories suivantes :
Contenus touristiques (hĂ©bergements, restaurants, produits du territoire, lieux de visitesâŠ)
EvĂ©nements touristiques (expositions, confĂ©rences, sortiesâŠ)
Les contenus touristiques peuvent aussi ĂȘtre synchronisĂ©s depuis des flux Tourinsoft ou Esprit Parc National.
Il est Ă©galement possible de mettre en place des passerelles pour importer des POIs, des lieux de renseignement, des amĂ©nagements ainsi que des randonnĂ©es dâAPIDAE vers Geotrek. Il est aussi possible dâenrichir le lien avec les contenus touristiques pour avoir par exemple dâautres catĂ©gories.
Pour configurer APIDAE, se référer à cette section Configure APIDAE (ex-SITRA) import
Geotrek vers APIDAEï
Il existe aussi un lien dans lâautre sens, permettant dâimporter automatiquement vers APIDAE les itinĂ©raires existants dans une instance Geotrek.
LâAPI permet de connecter une instance Geotrek pour importer des itinĂ©raires vers les objets de type âĂquipementsâ dans APIDAE.
Les randonnées VTT, trail, vélo et les tours itinérants sont également intégrés dans la passerelle.
Pour plus dâinformation, se rĂ©fĂ©rer Ă la documentation en ligne de Sitourisme.
Sensitivity module (or BiodivâSports)ï
Note
You can play with API using BiodivâSports widget tool: https://biodivsports-widget.lpo-aura.org/
The Geotrek API provides a set of parameters that can be used to filter and sort data. There is a Swagger documentation (see Advanced configuration to enable it on your instance if needed) existing to test and browse those parameters that can be found at this address: /api/v2/
.
This section focuses on some common parameters useful to work with sensitivity information and gives details about some endpoints.
- Commons parametersï
If
language
parameter is provided, API returns directly translated fields, else, a dictionnary of traductions is returnede.g.
/api/v2/sensitivearea_practice/1/?
{ "id":1, "name":{ "fr":"Terrestre", "en":"Land", "it":null } }
e.g.
/api/v2/sensitivearea_practice/1/?language=en
{ "id":1, "name":"Land" }
- Sport practicesï
List of sport practices
/api/v2/sensitivearea_practice/
e.g. https://biodiv-sports.fr/api/v2/sensitivearea_practice/
- Sensitive areasï
List of sensitive areas
/api/v2/sensitivearea/
The default output format is
json
. To obtain output ingeojson
format, simply add theformat=geojson
parameter./api/v2/sensitivearea/?format=geojson
e.g. https://biodiv-sports.fr/api/v2/sensitivearea/?format=geojson
Filtering data
Data can be filtered through these parameters:
language
: API language (seeCommons parameters
)Expected values:
fr
,en
,es
orit
e.g.
/api/v2/sensitivearea/?language=fr
period
: Sensitivy period (months list)Expected values: List of month numbers (from 1 to 12), comma separated
e.g.
/api/v2/sensitivearea/?period=4,5,6,7
practices
: Sport practicesExpected values: List of practices ids (see
Sport practices
)e.g.
/api/v2/sensitivearea/?practices=1,2
structure
: Organization that declared the sensitive area.Expected values: List of structures ids
e.g.
/api/v2/sensitivearea/?structures=1,2
in_bbox
Expected values: List of bbox coordinates (respectively longitude and latitude South-West then North-East corner), comma separated.
e.g.
/api/v2/sensitivearea/?in_bbox=5.0,45.0,6.0,46.0
Filtering fields
fields
: List of expected fields (see Field Descriptions)Expected values: List of field names, comma separated
e.g.
/api/v2/sensitivearea/?fields=name,geometry
omit
: List of excluded fields (see Field Descriptions)Expected values: List of field names, comma separated
e.g.
/api/v2/sensitivearea/?omit=name,geometry
Warning
GeoJSON format expect at least id and geometry fields.
Field descriptions
id
: local unique identifier of the sensitive area (integer).name
: Area name (string).description
: Area description (string in HTML format).period
: Area occupancy for each of the 12 months of the year (ordered array of 12 Booleans).contact
: Contact for further information about the sensitive area (string in HTML format).practices
: sports practices concerned by the hotspot (array of identifiers).info_url
: URL containing further information about the area (URL).structure
: Structure or acronyme that provided information on the area (string).elevation
: Elevation used to define area sensitivity volume (globally elevation, buffer radius for areas declared as Point).geometry
: Area GeoJSON geometry. Type is always âPolygonâ.species_id
: species identifier or null for regulatory areas.kml_url
: URL of the downloadable KML file representing this regulatory zone.openair_url
: URL of the downloadable OpenAir file representing the regulatory zone (available only for aerial activities).attachment
: List of area attachment files.rules
: List of regulatory rules.update_datetime
: last update timestamp.create_datetime
: create timestamp.
Note
Species informations are commons for each species areas sharing the same species_id
value, also share the same values for the name
, period
, practices
and info_url
fields.