DATAtourisme

Requête Sparql, distance et polygone

Bonjour,

Je souhaite faire des calculs avec la position.

J’ai essayé de différente façon. Pour le moment j’arrive à afficher des POI qui sont dans un cercle (de rayon 100 km, par exemple) avec un simplet FILTER et un calcule. Je ne sais pas si c’est la méthode la + performante et je ne pense pas que le résultat soit correct (j’ai trouvé le calcul sur internet)

Parcontre, j’aimerai pouvoir afficher les POI d’une région, d’un département… Je pensais faire un calcul avec un Polygone de point (afficher les POI qui sont dans ce polygone), ou connaitre la distance entre un POI et un lon et lat (donc la calculer, par exemple distance d’un POI depuis Paris).

J’ai trouvé geospatial
geo: http://www.bigdata.com/rdf/geospatial# ou geo: http://www.opengis.net/ont/geosparql# (geo:asWKT ?fWKT . ou geo:hasGeometry), ou geoliteral: http://www.bigdata.com/rdf/geospatial/literals/v1#
Dont plusieurs façon de faire:

 BIND (geof:distance(?wkt, ?wkt1, <http://www.opengis.net/def/uom/OGC/1.0/meter>) as ?dist)

FILTER (geof:sfWithin(?fWKT, ‹  ›’
etc
Mais impossible, pourriez vous m’éclairer ?

je me base sur cette requête.

PREFIX : <https://www.datatourisme.gouv.fr/ontology/core#>
PREFIX schema: <http://schema.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT *
            WHERE {
            ?url rdf:type :PointOfInterest;
                 :isLocatedAt ?place.
              ?place schema:geo ?geo.## ?place a pour coordonnées géographiques ?geo
            ?geo schema:longitude ?longitude; ## ?geo a pour longitude ?longitude
            schema:latitude ?latitude. #\n" +
              Optional { 
                   ?place schema:geo ?geo.
                 }
  Optional {?geo <https://www.datatourisme.gouv.fr/ontology/core#latlon> ?x. }            
}

Donc comment calculer la distance d’un POI à un point donné (ex Paris), comment afficher les POI qui sont dans un polygone de point ? et comment afficher tout les points à 50 km de Paris ?

merci d’avance

Bonjour,

Toutes vos questions dépendent de la base de données utilisée pour le stockage des données. Dans le cadre de Blazegraph, sachez que ce dernier ne prend pas en charge le standard GeoSPARQL, dont une bonne partie des opérations que vous citez sont issues.

Voici la documention liée aux capacités géospatiales de Blazegraph : GeoSpatial · blazegraph/database Wiki · GitHub

Si vous souhaitez faire des opérations géospatiales complexes, le RDF n’est peut être pas le format le plus adapté.

Cordialement

j’y suis arrivé à faire le geospatial avec le rdf… mais j’ai 2-3 secondes de délais de traitement et donc de réponse.

Si pour des opérations geospatiales complexes, le RDF n’est pas adapté, lequel serai le + adapté ?

merci

Je ne comprend pas pourquoi des le départ, @conjecto vous m’avez dit d’utiliser apache Jena et sparQL. Voila 1 mois que je boss sur ce projet, j’arrive à la fin (bon tant pis) et j’ai des délais de réponse énorme.
Exemple le tdb de jena sur la data complète met + de 1 heure à charger.
Quand je navigue sur ce forum, j’ai la sensation qu’il y a plusieurs solutions possible… php, javascript… Api docker (datatourisme / docker-stack · GitLab)…

Je vous repose donc ma question.
Je souhaite utiliser tous les POI et faire des manipulations geo (afficher les poi autour de 2kms de Paris, par exemple ou afficher les poi dans un département / région ( donc, sauf erreur les poi qui sont dans un polygone de point). Que dois-je utiliser ?
sachant que je peux utiliser soit java, soit php (symfony) ou même encore autre chose(je m’adapterai) une api enfin je ne sais pas comment faire pour pouvoir manipuler toutes les données comme je le souhaite avec un temps de réponse rapide…

Pourriez-vous me décrire les façons possible et quels sont les mieux svp ?

Bonjour,

Dans votre message d’origine, votre question était généraliste et n’évoquait pas de nécessité de gérer des opérations géospatiales complexes, comme la recherche par polygone.

Il y a effectivement plusieurs solutions possibles pour exploiter les données DATAtourisme, chacune ayant ses avantages et ses inconvénients en fonction des objectifs visés. De fait, il n’y a pas de meilleure façon de faire.

Avez-vous jeté un coup d’œil sur les exports CSV disponibles sur https://data.gouv.fr ? Peut-être vous paraîtront-ils plus simples à utiliser.

Cordialement.

Oui ok ce n’est pas grave tant pis j’aurais découvert sparql :wink:
Petite question, concernant l’api docker stack, pour un serveur debian, combien de mémoire (RAM) vous conseillez vous ?

en vous remerciant