GIS 3 - intégration de cartes KML

J’ai eu aujourd’hui à intégrer une carte KML de 4 départements d’une région. Nous allons décrire ici comment cela se passe avec GIS 3 pour SPIP 3.

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.

Carte avec KML superposés
Carte avec KML superposés

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 :)

Footnotes

[1Par exemple la Charente Maritime n’a pas l’île de Ré et l’île d’Oléron

-  Pour ceux qui cherchent les icônes de marqueurs, elles ont été prises ici : http://mapicons.nicolasmollet.com/ , une vraie mine pour l’iconographie de cartographie.

-  Peut être utile : les KML des communes FR

updated on 6 June 2019

Discussion

7 discussions

  • 1
    stefdn

    Beau plugin, bravo :o)

    et là, ya les KML des communes FR (pas encore testé)

    Reply to this message

  • Bonjour à tous,

    Mes meilleurs voeux à toute la liste.

    Je reviens vers vous pour un souci sur lequel je ne trouve pas d’infos :

    • J’ai un site SPIP3, Plugins GIS4, un carte google map engine Pro et des fichiers KLM.
    • Ma carte (paramètrée sur google road map) s’affiche bien via le plugin, mais les fichiers KLM n’apparaissent pas.
    • J’ai suivie la contrib http://contrib.spip.net/GIS-2-GIS-3
    • Inclus le code suivant dans mon squelette

    [(#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.

    Reply to this message

  • MINICIRCUL

    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

    Reply to this message

  • 1

    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 !

    Reply to this 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é ....

    Reply to this 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

    Reply to this message

  • 1
    Haqqtiviste

    bonjour,

    et il est où le fameux GIS3 pour Spip 3 ?

    merci

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom