GIS Lien JSON

Bonjour tout le monde,
Dans mon site spip je cherche a afficher une carte GIS en utilisant un lien https://mondomaine.aaaaxxxx/ (contenu json) d’un site externe. Dans le contenu Json il ya des clé comme ID, NAME, LON et LAT bien renseigné

Je veux des pistes pour aborder le problème?

Merci de votre aide

Salut, si ton fichier est un GEOJSON tu peux le faire avec l’option geojson du modèlé cf GIS 4 - SPIP-Contrib ; sinon il faudra adapter le JSON en question avec une boucle DATA par exemple.

Mais sans lien vers le JSON en question, on ne pourra pas t’en dire plus :slight_smile:

Bonjour b_b et merci pour la réponse, je vous donne une capture d’écran du contenu JSON en PJ. J’ai aussi utilisé ce modèle

<carte_gis3|objets=articles|id_rubrique=4|fullscreen=oui|centrer_auto=oui|cluster=oui|height=500px|geojson=https://mondomaine/xxxx>

les points s’affichent bien voir PJ, mais les points ne sont pas cliquables.

Mon seul souci actuellement est comment ouvrir une infobulle en cliquant sur une icône de la carte en mettant des infos de mon choix du genre le nom que je récupère dans le fichier JSON + un lien vers un site externe.

Merci de votre aide

Le dim. 16 janv. 2022 à 18:18, b_b via Discuter de SPIP <noreply@discuter.spip.net> a écrit :

b_b
Janvier 16

Salut, si ton fichier est un GEOJSON tu peux le faire avec l’option geojson du modèlé cf GIS 4 - SPIP-Contrib ; sinon il faudra adapter le JSON en question avec une boucle DATA par exemple.

Mais sans lien vers le JSON en question, on ne pourra pas t’en dire plus :slight_smile:


Voir le sujet ou répondre à ce courriel pour répondre.

Pour se désabonner de ces courriels, cliquez ici.

carte.png

Je me répète, au cas où tu sois passé à côté de cette phrase :wink:

Hello b_b,
voici le lien
https://landmatrix.org/graphql/?query=query%20Senegal%20%7B%20deals(%20filters:%20[%20%7B%20field:%20%22country.id%22,%20operation:%20EQ,%20value:%20686%20%7D%20])%20%7B%20id%20top_investors%20%7B%20id%20name%20%7D%20project_name%20deal_size%20current_intention_of_investment%20geojson%20%7D%20%7D&operationName=Senegal

Le lun. 17 janv. 2022 à 19:53, b_b via Discuter de SPIP <noreply@discuter.spip.net> a écrit :

b_b
Janvier 17

b_b:

Mais sans lien vers le JSON en question, on ne pourra pas t’en dire plus :slight_smile:

Je me répète, au cas où tu sois passé à côté de cette phrase :wink:


Voir le sujet ou répondre à ce courriel pour répondre.

Pour se désabonner de ces courriels, cliquez ici.

Bonjour b_b et merci pour la réponse, J’ai aussi utilisé ce modèle

<carte_gis3|objets=articles|id_rubrique=4|fullscreen=oui|centrer_auto=oui|cluster=oui|height=500px|geojson=https://mondomaine/xxxx>

les points s’affichent mais les points ne sont pas cliquables.

Mon seul souci actuellement est comment ouvrir une infobulle en cliquant sur une icône de la carte en mettant des infos de mon choix du genre le nom que je récupère dans le fichier JSON + un lien vers un site externe.

Merci de votre aide

Voici le lien

https://landmatrix.org/graphql/?query=query%20Senegal%20%7B%20deals(%20filters:%20[%20%7B%20field:%20%22country.id%22,%20operation:%20EQ,%20value:%20686%20%7D%20])%20%7B%20id%20top_investors%20%7B%20id%20name%20%7D%20project_name%20deal_size%20current_intention_of_investment%20geojson%20%7D%20%7D&operationName=Senegal

Le lun. 17 janv. 2022 à 19:53, b_b via Discuter de SPIP <noreply@discuter.spip.net> a écrit :

b_b
Janvier 17

b_b:

Mais sans lien vers le JSON en question, on ne pourra pas t’en dire plus :slight_smile:

Je me répète, au cas où tu sois passé à côté de cette phrase :wink:


Voir le sujet ou répondre à ce courriel pour répondre.

Pour se désabonner de ces courriels, cliquez ici.

Ok vu, ton geojson n’affiche pas d’infobulle car il n’utilise pas la même structure d’info que celui de GIS pour le champ properties. Par défaut, GIS chercher le contenu de l’infobulle dans le champ properties.title cf spip-contrib-extensions/gis - json/gis_articles.html at master - gis - SPIP on GIT

Tout cela est analysé par la méthode setGeoJsonFeaturePopup dans L.Map.Gis cf spip-contrib-extensions/gis - javascript/leaflet.gis.js at master - gis - SPIP on GIT

Donc, tu as deux options :

  • surcharger les méthodes JS de GIS, depuis l’événement load dispo dans l’API comme je le fais ici https://github.com/brunob/octopouce/blob/master/people.html#L48 pour la méthode setGeoJsonFeatureIcon si tu es à l’aise avec le javascript.
  • plus simple certainement, faire un squelette qui récupère le JSON et le traite avec une boucle DATA de SPIP pour adapter le nom des champs de properties à ce qu’attend GIS.

Et voilà :slight_smile:

Bonjour b_b,
Je suis parti sur le plus simple cad la boucle DATA, mais je suis tjrs bloqué :slight_smile:
puis-je avoir plus de detail please ?

j’ai fait une boucle DATA qui récupère bien le json

#SET{url,« https:// »}

<BOUCLE_afficher(DATA){source json,#GET{url}}>

[(#VALEUR|print)]

</BOUCLE_afficher>

mais je bloque sur ça :slight_smile:

Merci

Le ven. 21 janv. 2022 à 09:24, b_b via Discuter de SPIP <noreply@discuter.spip.net> a écrit :

b_b
Janvier 21

Ok vu, ton geojson n’affiche pas d’infobulle car il n’utilise pas la même structure d’info que celui de GIS pour le champ properties. Par défaut, GIS chercher le contenu de l’infobulle dans le champ properties.title cf spip-contrib-extensions/gis - json/gis_articles.html at master - gis - SPIP on GIT

Tout cela est analysé par la méthode setGeoJsonFeaturePopup dans L.Map.Gis cf spip-contrib-extensions/gis - javascript/leaflet.gis.js at master - gis - SPIP on GIT

Donc, tu as deux options :

  • surcharger les méthodes JS de GIS, depuis l’événement load dispo dans l’API comme je le fais ici https://github.com/brunob/octopouce/blob/master/people.html#L48 pour la méthode setGeoJsonFeatureIcon si tu es à l’aise avec le javascript.
  • plus simple certainement, faire un squelette qui récupère le JSON et le traite avec une boucle DATA de SPIP pour adapter le nom des champs de properties à ce qu’attend GIS.

Et voilà :slight_smile:


Voir le sujet ou répondre à ce courriel pour répondre.

Pour se désabonner de ces courriels, cliquez ici.

Please !!!

Le dim. 6 févr. 2022 à 21:31, Manou Liman <manouliman@gmail.com> a écrit :

Bonjour b_b,
Je suis parti sur le plus simple cad la boucle DATA, mais je suis tjrs bloqué :slight_smile:
puis-je avoir plus de detail please ?

j’ai fait une boucle DATA qui récupère bien le json

#SET{url,« https:// »}

<BOUCLE_afficher(DATA){source json,#GET{url}}>

[(#VALEUR|print)]

</BOUCLE_afficher>

mais je bloque sur ça :slight_smile:

Merci

Le ven. 21 janv. 2022 à 09:24, b_b via Discuter de SPIP <noreply@discuter.spip.net> a écrit :

b_b
Janvier 21

Ok vu, ton geojson n’affiche pas d’infobulle car il n’utilise pas la même structure d’info que celui de GIS pour le champ properties. Par défaut, GIS chercher le contenu de l’infobulle dans le champ properties.title cf spip-contrib-extensions/gis - json/gis_articles.html at master - gis - SPIP on GIT

Tout cela est analysé par la méthode setGeoJsonFeaturePopup dans L.Map.Gis cf spip-contrib-extensions/gis - javascript/leaflet.gis.js at master - gis - SPIP on GIT

Donc, tu as deux options :

  • surcharger les méthodes JS de GIS, depuis l’événement load dispo dans l’API comme je le fais ici https://github.com/brunob/octopouce/blob/master/people.html#L48 pour la méthode setGeoJsonFeatureIcon si tu es à l’aise avec le javascript.
  • plus simple certainement, faire un squelette qui récupère le JSON et le traite avec une boucle DATA de SPIP pour adapter le nom des champs de properties à ce qu’attend GIS.

Et voilà :slight_smile:


Voir le sujet ou répondre à ce courriel pour répondre.

Pour se désabonner de ces courriels, cliquez ici.