Nous décrivons ici l’ajout de calques KML superposés à une carte.
Voici le résultat : chaque département du Poitou-Charentes est surligné légèrement par une couleur jaune pale, en partie transparente et avec un contour marron.
Tout d’abord, il nous faut les fichiers KML. Si vous n’en avez pas, vous pouvez par exemple en choisir sur le site http://www.karamelise.fr/ qui vous donnera un zip avec un fichier KML par département français. C’est approximatif [1] mais c’est mieux que rien. Il doit certainement y avoir d’autres sources pour ce genre de KML quelque part. Et n’hésitez pas à poster vos sources dans les commentaires de l’article !
Les KML récupérés sont placés quelque part dans un dossier de votre plugin ou du répertoire squelettes. Pour ma part, c’était dans un répertoire « kml » (original non ?)
Ensuite il reste plus qu’à demander l’appel de ces KML en même temps que la carte.
Voici comment j’ai procédé pour afficher les points des articles d’une rubrique :
[(#INCLURE{fond=modeles/carte_gis,
objets=articles,
id_rubrique=#ID_RUBRIQUE,
zoom=#CONFIG{gis/zoom},
lat=#CONFIG{gis/lat},
lon=#CONFIG{gis/lon},
controle_type=non,
kml=[(#LISTE{
[(#CHEMIN{kml/16.kml}|timestamp|url_absolue)],
[(#CHEMIN{kml/17.kml}|timestamp|url_absolue)],
[(#CHEMIN{kml/86.kml}|timestamp|url_absolue)],
[(#CHEMIN{kml/79.kml}|timestamp|url_absolue)]})]})]
Par rapport à une utilisation habituelle de GIS, ce qui change est la présence de l’option kml
.
Cette option accepte une ou plusieurs entrées et types d’entrées :
- un unique élément ou un tableau comme ici, créé avec #LISTE
- pour chaque élément, un identifiant ou une url absolue.
- Un identifiant correspond à un numéro de document (id_document), document qui est alors un fichier KML donc, sinon ça n’a pas d’intérêt !
- Un fichier en url absolue, comme l’exemple, pointe sur un kml. On remarque ici la présence du filtre
|timestamp
, qui permet de donner un identifiant à l’URL en fonction de la date de mise à jour du fichier sur le serveur, parce que sinon, Google (ou les autres API de carte) met en cache votre fichier (1 cache pour 1 URL) et en phase de test c’est très ennuyant car changer le fichier kml sans changer son nom ne modifie alors pas la carte générée... pas pratique. Donc, en résumé, vive|timestamp
!
Notes sur GIS 2, SPIP 2.1 et les KML
GIS 2 pour SPIP 2.1 accèpte aussi des kml, avec la limitation de ne pouvoir en mettre qu’un seul, c’est à dire que l’option kml n’accepte pas d’entrée tableau (du moins à l’heure où j’écris).
Par ailleurs pour #LISTE
en SPIP 2.1, utilisez le plugin « Itérateurs », sinon utilisez #ARRAY
, mais la question ne se pose pas trop pour GIS 2, puisqu’il ne prend pas de tableau :)
Voilà, je crois que tout est dit !
Bonne utilisation de KML avec GIS :)
Discussions par date d’activité
7 discussions
Beau plugin, bravo :o)
et là, ya les KML des communes FR (pas encore testé)
Merci. J’ai reporté le lien en PS de l’article.
Répondre à ce message
Bonjour à tous,
Mes meilleurs voeux à toute la liste.
Je reviens vers vous pour un souci sur lequel je ne trouve pas d’infos :
[(#INCLUREfond=modeles/carte_gis,
objets=articles,
id_rubrique=#ID_RUBRIQUE,
zoom=#CONFIGgis/zoom,
lat=#CONFIGgis/lat,
lon=#CONFIGgis/lon,
zoom=2,
controle_type=non,
kml=[(#LISTE
[(#CHEMINkml/ZENON7.kml)],
[(#CHEMINkml/Zenon7_Brasil.kml)],
)]
)]
Créé un dossier contenant les KLM dans le dossier squelette…
Mais mes cartes n’apparaissent pas !
Je tourne en rond depuis ce matin…
Merci d’avance à celle ou celui d’entre vous qui pourrai me donner un piste !
Bien à tous.
Répondre à ce message
Très bonne idée d’inclure des fichiers KML, sauf que je ne vois pas comment inclure un kml lié à un aticle, c’est à dire en n’indiquant pas en dur dans le script le nom du kml mais rechercher d’après une boucle ! Une piste ? ca m’aiderait car en passant de spip 2 à spip 3 je n’ai plus l’inclusion des kml
Répondre à ce message
merci pour tuto bref et précis, il m’a permis d’arriver à afficher exactement ce que je voulais !
Juste une chose sur karamelise, j’ignore pourquoi mais les couleurs que l’on sélectionne ne sont pas bien rendues.
En effet si je choisis la couleur de fond #aabbcc, ça me donnera une couleur kml du style : 55aaccbb
Les couleurs vert et bleu (si je me rappelle bien) sont interverties. Du coup, je les ai changées à la main dans le fichier *.kml, ce n’est pas bien grave.
merci encore !
Oui. Enfin d’ailleurs j’ai eu le problème avec Leaflet et GIS 4 (j’ai mis du temps à comprendre !) car la lib de leaflet pour les kml se trompe ! Cf. https://github.com/shramov/leaflet-plugins/issues/56
Répondre à ce message
Salut,
Ce que j’avais cherché à faire avec du KML, plutôt que le fond coloré du KML : le fond transparent pour l’intérieur et coloré pour l’extérieur.
Jamais trouvé ....
Répondre à ce message
Bonjour, j’ai bien compris l’idée dans un squelette, mais avec le modèle dans un article ?
J’ai essayé ça :
<carte_gis1|kml=3091,4117|localiser_visiteur = oui|point = non>
et ça :
<carte_gis1|kml=3091|kml=4117|localiser_visiteur = oui|point = non>
Mais marche pô ... On peut le faire ou pas plusieurs couche kml directement de l’article en utilsant le modèle ?
Merki
Répondre à ce message
bonjour,
et il est où le fameux GIS3 pour Spip 3 ?
merci
Il est là :
http://files.spip.org/spip-zone/gis3.zip
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |