DATAtourisme

Obtenir des poi à partir de coordonnées

Bonjour,

Je souhaite obtenir des poi en fonction d’une proximité avec un point, définis par des coordonnées GPS.

Le moyen évident serait de récupérer les poi en fonction d’un autre critère puis de filtrer les résultats obtenus en fonctions de leurs coordonnées récupérées avec la requête.

Mais j’aimerais savoir s’il y aurait un meilleur moyen, peut-être moins lourd au niveau traitement, au niveau du serveur.

Pour information, j’utilise le docker-stack fourni et l’API datatourisme avec un site en PHP.

Coordialement,

Antoine

Bonjour,
En raison des congés d’été d’une partie de l’équipe DATAtourisme, le traitement des messages postés sur le forum sera ralenti durant le mois d’août 2019.
Votre message sera traité dès que possible.
Merci de votre compréhension !

Bonjour Antoine,

As-tu regarder autour de geo_bunding et geo_distance dans les tuto ?
Il semble que cela pourrait répondre à ta problématique.

{
    poi(
        filters: [
            { isLocatedAt: {schema_geo: { _geo_bounding: {sw_lng: "2.55" , sw_lat:"44.33" , ne_lng: "2.58" , ne_lat:"44.36" } }}}
        ]
    )
    {
        total
    }
}

et

{
    poi(
        filters: [
            { isLocatedAt: {schema_geo: { _geo_distance: {lng: "2.57" , lat: "44.34" , distance: "1" } }}}
        ]
    )
    {
        total
    }
}

Source: docs/api/filters · master · datatourisme / api · GitLab

Cdlt,

Eric

Bonjour
Est-il possible ensuite de trier les résultats avec sort?
Merci

d’après le même manuel, oui …