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

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

Notes

[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

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom