Plugin SPIP-Géoportail

Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail.
Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps, Bing ou Yahoo !...

Nouvelle version

Suite au changement de version de l’API géoportail et des services associés, les anciennes clés Geoportail ne sont plus compatibles avec la nouvelle version.

Consultez le site du Géoportail pour obtenir une nouvelle clé pour votre site : http://professionnels.ign.fr/api-web. Pour obtenir une clé de développement (localhost) : http://api.ign.fr/geoportail/.

Préambule :

Travaillant sur un projet utilisant SPIP et le Géoportail, il nous a semblé conforme de reverser la partie permettant l’affichage des cartes du Géoportail à la Communauté...

Depuis la version 1.0, il permet d’afficher des cartes du Géoportail, d’OpenStreetMap, de Google Maps, Bing Maps ou Yahoo !.
Il utilise l’API Géoportail développée par l’IGN et basée sur OpenLayers.

Installation

Le plugin s’installe comme tout autre plugin, téléchargez le fichier ZIP et placer son contenu dans votre répertoire « plugins/ ». Vérifiez que les droits d’accès attribués au répertoire du plugin et à ses sous-répertoire (/js) sont corrects. Activez-le ensuite dans la page de gestion des plugins.

Il vous faudra également demander une clé en vous inscrivant sur la page de l’API Géoportail. L’utilisation de l’API est gratuite pour tout usage ne procurant au licencié aucun avantage économique direct ou indirect (voir les CGU de l’API). Moyennant cela, vous aurez accès aux couches Géoportail présentes dans l’API (photo, cartes, parcellaire, plan de ville...) ainsi qu’au service adresse.

Un nouveau menu apparaît dans l’espace privé sous l’icône de configuration. C’est là que vous devrez indiquer les clés nécessaire à l’affichage des cartes ainsi que les types d’objets que vous souhaitez géoréférencer.

Fonctionnement

Une fois activé, le plugin vient insérer un formulaire dans les pages de l’espace privé de SPIP. Par défaut, seul les articles et les auteurs auront se formulaire. Vous devez cocher les cases correspondantes sur la page configuration du plugin pour l’étendre aux autres objets.

Formulaire Géoportail sur la page d’un article.
En SPIP v.2 un lien apparaît sous les documents pour permettre de les géréférencer. En v.1.9, un menu déroulant listant les documents est placé directement dans le formulaire.

Cliquez sur le bouton déplier pour afficher la carte.

Formulaire de l’API Géoportail

Vous avez 4 façons de géoréférencer l’objet :

  • Si c’est un document qui contient une position géographique (un GPX, un KML ou une image géotaguée) vous pouvez rechercher la position directement dans le fichier (dans les autres cas, la case n’apparaît pas).

  • Si c’est un document, vous pouvez récupérer le géo-référencement de l’article auquel il est associé.

  • Vous pouvez placer l’objet au centre de la fenêtre.

  • Vous pouvez utiliser l’API Géoportail pour rechercher une adresse.

Recherche Géoportail par adresse

Enfin, vous pouvez rentrer les coordonnées géographique à la main ;-)
Il est également possible de rentrer les coordonnées dans un système de référence à préciser sur la page de configuration du plugin (Lambert 2e ou Lambert93)

Une punaise vient se placer sur l’objet en cours de positionnement. Vous pouvez ensuite déplacer cette punaise à la souris.
Cliquer sur le bouton valider avant de quitter...

Notons que, avec SPIP 2.x, il est possible de géoréférencer automatiquement les documents géotagués à leur téléchargement (le plugin va lire le tag dans le fichier).

Utilisation dans un squelette

Le plugin déclare une table GEOPOSITIONS qui fait le lien avec les tables SPIP

GEOPOSITIONS
id_geoposition id_objet objet lon lat zoom zone id_dep id_com

lon et lat sont les coordonnées de l’objet avec le zoom et la zone sur le géoportail. id_dep et id_com permettent de faire un lien avec un répertoire géographique (voir le chapitre plus loin).

La jointure avec les autres tables se fait à l’aide du critère geoposition.
Par exemple pour afficher les coordonnées des articles :

<BOUCLE_a(ARTICLES){geoposition}>
   #ID_ARTICLE : #LON #LAT <br/>
</BOUCLE_a>

Mode et zone géographique

Le plugin permet d’afficher indifféremment les cartes de différents fournisseurs : Geoportail, Google Maps, OpenStreetMap, Bing Maps ou Yahoo ! Maps. C’est le mode d’affichage qui détermine cela. Un mode par défaut est configurable dans l’espace privé afin de définir un fournisseur par défaut. C’est ce fournisseur qui sera utilisé dans les formulaires de l’espace privé et lorsqu’on ne précise pas le mode lors de la création d’une carte.

Pour les cartes de l’API Géoportail, il faut également préciser une zone géographique car seules les cartes de cette zone seront chargées. Ainsi, pour afficher les cartes de la Guyane, il faudra préciser la zone correspondante (GUF). Pour la liste des zones disponible au travers de l’API, reportez vous à la liste des territoires sur le site de l’API.
Le territoire par défaut est la France métropolitaine (zone=FXX). Vous pouvez choisir une autre zone dans les options du plugin. C’est alors cette zone qui sera choisi par défaut lorsqu’aucune zone n’est précisée.
Le modèle <geoportailX|geozone> permet d’afficher un menu de sélection des zones pour permettre de changer de zone sur une page.

Modèles et fonds

  • Insérer une carte
<geoportail0|mode=GEOP>

L’insertion d’une carte dans un article se fait par un simple raccourcis typographique : <geoportailX> ou X est le numéro de la carte. Le mode indique le type de service qu’on veut afficher : GEOP pour le Geoportail, GMAP pour Google Maps, OSM pour OpenStreetMap, BING pour Bing Maps ou YHOO pour Yahoo ! Maps.
Vous pouvez déclarer plusieurs cartes sur la même page à condition de bien veiller à fournir un identifiant différent à chaque fois.
Vous pouvez demander une carte de situation (overview). Celle-ci s’affichera dans la div id=overviewMap si celle-ci existe (et prendra la taille de cette div), sinon, elle s’ajoutera à la div id=navigation (avec la taille : 160x160).

Paramètres :
-  id_geoportail : identifiant de la carte (unique de préférence !), par défaut=0
-  article : numéro de l’article /!\ anciennement id_article modifié pour de raison de compatibilité avec SPIPv3 /!\. Permet d’afficher les documents de l’article. Ainsi, si vous avez joint un fichier kml à votre article, il s’affichera sur la carte (voir également Afficher une trace)
-  id_rubrique : affichage des GéoServices liés a une rubrique
-  id_secteur : affichage des GéoServices liés a une secteur
-  width, height : largeur, hauteur (utiliser pc au lieu de % dans les URI) par défaut, ceux du css
-  mode : normal/mini, GEOP (Geoportail), GMAP (Google Maps), OSM (OpenStreetMap), BING (Bing Maps), YHOO (Yahoo ! Maps)
-  type : Type d’affichage : Default/Standard/OpenLayers
-  lon, lat, zoom : centrage sur un point
-  zone : la zone Géoportail (FXX)
-  layerctrl : affichage du gestionnaire de couche (false,true,mini)
-  toolbox : affichage les outils (0,false,true,mini)
-  infobox : affichage les infos (0,false,true)
-  searchtools : afficher les outils de recherche (0,1) par défaut:1
-  measuretools : afficher les outils de mesure (0,1) par défaut:0
-  overview : afficher une carte de situation (0,1) par défaut:0
-  min_zoom, max_zoom : le zoom mini/maxi
-  carto : opacité de la carte (0->1)
-  ortho : opacité de l’image (0->1)
-  formulaire : la carte est un formulaire (usage interne : ajoute un contrôleur pour faire le lien avec le formulaire)

  • Afficher une trace
<docX|geoportail|id_geoportail=Y>

Ce raccourcis permet d’insérer le document géographique X (GPX ou KML) sur la carte Y. C’est le contenu du fichier qui s’affiche à l’intérieur de la carte (la trace).
Vous devez, au préalable avoir déclaré une carte <geoportailY>

Affichage d’un document GPX avec SPIP-Géoportail
<docxx|geoportail> permet d’afficher la trace.


Vous pouvez modifier les style d’affichage des objets sur la cartes (pour les fichiers GPX) directement dans votre css en surchargeant les style #geoportailDefaultStyle
et #geoportailSelectStyle (voir dans geoportail.css pour plus d’info sur les champs).

Paramètres :
-  id_geoportail : id de la carte où afficher l’image, par défaut = 0
-  align : center, permet de centrer la carte sur le document.
Style d’affichage : attention les KML peuvent surcharger cette couleur dans leur style
-  couleur : couleur de la trace, au format html (cyan, black, yellow, etc. ou #09C ou #0099CC) voir : Couleurs du Web
-  style : solid | dot | dash | dashdot | longdash | longdashdot
-  largeur : largeur du trait

  • Afficher un profil
<gpxX|profil|id_geoportail=Y>

Ce raccourcis permet d’afficher le profil d’une trace GPS (document X).
_ ! Attention : le fichier GPX doit contenir des informations d’altitude ! _

Profil GPS

Ce profil est réactif et affiche des informations lors du passage de la souris. Si vous avez précisé une carte liée (paramètre id_geoportail) un point matérialisera la position sur la carte (la trace elle même n’est pas affichée par le raccourcis, vous devrez utiliser <docX|geoportail pour cela).

Paramètres :
-  id_geoportail : pour afficher la position sur une carte lors du survol du profil
-  centrer : méthode de centrage sur la carte (0 : ne pas centrer, 1 : centrer la carte, par defaut : ne centrer que si le point sort de la carte).
-  symbol : symbole du point a afficher sur la carte (poi, auto, velo, rando ou rando2)
-  couleur : couleur du profil au format html (cyan, black, yellow, etc. ou #09C ou #0099CC) voir : Couleurs du Web
-  zmin, zmax : bornes pour l’axe des Z
-  amplitude : amplitude de l’axe des Z (si ne définit pas zmin et zmax, défaut : 1000)
-  graduations : pas des graduations de l’axe des Z (défaut : 250)

Pour la conversion de traces GPS, consultez les sites spécialisés : les logiciels gratuits GPS Track Viewer, GPS Babel ou l’application en ligne GPS Visualizer

  • Afficher un document
<imgX|geoportail|id_geoportail=Y>

Ce raccourcis affiche le document X sur la carte Y. C’est la vignette du document qui s’affiche (ou la vignette standard).
Vous devez, au préalable avoir déclaré une carte <geoportailY>
Paramètres :
-  id_geoportail : id de la carte où afficher l’image, par défaut = 0
-  taille : taille de l’image sur la carte
-  bord : taille du bord (en px)
-  couleur : couleur du bord
-  align : top, left, bottom, right ou combinaison : top-left...

  • Afficher un article
<artX|geoportail|id_geoportail=Y>

Ce raccourcis affiche l’article X sur la carte Y. C’est le logo qui s’affiche (ou une punaise).
Vous devez, au préalable avoir déclaré une carte <geoportailY>
Paramètres :
-  id_geoportail : id de la carte où afficher l’image, par défaut = 0
-  taille : taille de l’image sur la carte
-  bord : taille du bord (en px)
-  couleur : couleur du bord
-  align : center : centre la carte sur l’article <artX|geoportail|center>

  • Superposer une image à la carte
<geoportailX|image|id_document=YY|xmin=2.444775|ymin=48.92170| xmax=2.448227|ymax=48.92357>

Ce raccourcis permet de superposer l’image YY image (gif, jpg ou png) sur la carte X. il faut lui donner les coordonnées du coins supérieur gauche et inférieur droit.
Paramètres :
-  center : se centrer sur la zone
-  id_document : identifiant du document
-  xmin, ymin, xmax, ymax : coins du doc
-  opacity : transparence (0->1)
-  visibility : visible (0,1)
-  minz, maxz : plage d’affichage, zoom mini (0) et maxi (18)

  • Centrer la carte
<geoportailX|centrer|id_article=n>

Ce raccourcis permet de centrer la carte sur les coordonnées de l’objet n.
Paramètres :
-  id_auteur : centrer sur un auteur
-  id_document : centrer sur un document
-  id_rubrique : centrer sur un rubrique
-  id_article : centrer sur un article

  • Accès direct
<geoportailX|geolien>

Ce raccourcis permet d’ajouter un lien d’accès directe à la carte X.
C’est l’adresse de la page avec les paramètres de positionnement de la carte qui permettront de se recentrer dessus. Il contient également l’option ’envoyer à un ami’...
Ou le modèle : [(#MODELE{geoportail_geolien}{id_geoportail=X})]

  • Zones Géoportail
<geoportailX|geozone>

Ce raccourcis affiche un menu déroulant permettant de changer de zone (passer de la france métropolitaine à la Réunion par exemple).
Vous devez, au préalable avoir déclaré une carte <geoportailX>
Ou le modèle :
[(#MODELE{geoportail_geozone}{id_geoportail=X})]

  • Des articles sur une carte
<geoportailX|articles|id_rubrique=n)]

Si une rubrique est précisée, on se limite à cette rubrique.
Une carte est automatiquement définie.
Paramètres :
-  legende : legende : identifiant du groupe de mot clé a utiliser comme légende : c’est le
logo du mot clé associé qui sera affiché sur la carte plutôt que le logo de l’article.
-  taille : taille des icônes : 20px
-  couleur : couleur du bord : #FFFFFF
-  bord : taille du bord : 4
-  id_article : limiter a un article
-  id_auteur  : limiter a un auteur
-  id_secteur , id_rubrique : limiter a un secteur ou une rubrique
-  id_mot, id_groupe : limiter a un mot ou un groupe de mot
Paramètres issus du modèle GEOPORTAIL :
-  id_geoportail : si on veux plusieurs cartes, par défaut = 0
-  ...

Ou le modèle :
[(#MODELE{geoportail_geoarticles}{id_geoportail=X}{id_rubrique})]

Le paramètre légende permet d’utiliser un groupe de mot comme légende de la carte : c’est le logo du mot associé à l’article qui sera utilisé pour représenter l’article sur la carte et tous les articles ayant le même mot clé s’afficheront ainsi (c’est une légende quoi !).

Ce modèle est utilisé dans la page geoarticles.
monsite_SPIP/spip.php?page=geoarticles permet donc d’afficher les articles sur une carte.

  • Les auteurs sur une carte
<geoportailX|geoauteurs>


Paramètres :
-  taille : taille des icônes : 20px
-  couleur : couleur du bord : #FFFFFF
-  bord : taille du bord : 4
Paramètres issus du modèle GEOPORTAIL :
-  id_geoportail : si on veux plusieurs cartes, par défaut = 0
-  ...

Ou le modèle :
[(#MODELE{geoportail_geoauteurs}{id_geoportail=X})]

Ce modèle est utilisé dans la page geoauteurs.
monsite_SPIP/spip.php?page=geoauteurs permet donc d’afficher les auteurs sur une carte.

  • Astuce
    Si vous n’avez qu’une seule carte, le paramètre id_geoportail est inutile il prendra la valeur par défaut (0).
    <geoportail|infobox=0>
    <doc1|geoportail>
    <doc5|geoportail>
    <img2|geoportail|align=top-left>

Formulaire auteur

[(#FORMULAIRE_GEOPORTAIL_AUTEUR{'ma position',true})]

Ce formulaire permet aux visiteurs de se géoréférencer depuis l’espace public.

Ce modèle est utilisé dans la page geoauteur. monsite_SPIP/spip.php?page=geoauteur permet donc aux visiteurs d’enregistrer leur position.

Flux GéoRSS

SPIP-Géoportail offre un flux GeoRSS au travers de la page georss.
monsite_SPIP/spip.php?page=georss permet d’accéder à ce flux. Si ce type de flux est encore peu utilisé, vous pouvez copier/coller le lien directement dans la recherche de GoogleMaps pour afficher vos articles sur une carte Google...

Les filtres

Les filtres geoportail_longitude, geoportail_latitude et geoportail_dms permettent de convertir une coordonnées décimale au format degré/minute/seconde (Est/Ouest pour les longitudes, Nord/Sud pour les latitudes). Ils prennent un argument booléen (true ou false) qui supprime les espaces entre les chiffres pour un affichage plus compact.

<BOUCLE_a(ARTICLES){geoposition}>
  #ID_ARTICLE - [(#LON|geoportail_longitude{true})],[(#LAT|geoportail_latitude{true})]
</BOUCLE_a>

On aura :

1 - 6° 21' 37.5" E , 43° 29' 27.2" N

au lieu de :

1 - 6.36042897558 , 43.49087530174

Les Géoservices

  • Ajouter des services

L’API permet d’ajouter des services cartographiques à ceux proposés par le Géoportail.
Ainsi, si vous disposé d’un tel service, vous pourrez l’afficher en superposition des couches du Géoportail. Certains organismes offre un accès de ce type (une recherche Google avec WMS et accès devrait vous en donner quelques uns). Un getcapabilities sur le service permet de voir les couches disponibles (un truc du genre adresse_du_service?service=wms&request=getcapabilities&version=1).

Vous pouvez alors ajouter ces nouvelles couches dans le menu Edition-Géoservices de l’espace privé à condition d’avoir coché la case « Permettre l’ajout de Géoservices » dans la configuration du plugin. Pour un service donné, indiqués les couches que vous voulez voir s’afficher séparées par des virgules.

Pour l’instant, seuls les services WMS sont pris en compte.

Les Géoservices peuvent être liés à une rubrique et à une zone géographique. Dans ce cas, ils ne s’afficheront que si on précise la rubrique dans l’appel du modèle geoportail ou si la zone géographique correspond à la zone d’affichage.

  • Gestion des couches Géoportail

Les géoservices de type Géoportail sont un moyen pratique de regrouper des couches du Géoportail ou d’en masquer certaines. Pour cela, créez un géoservice de ce type et indiqués les couches que vous voulez regrouper en les séparant par des virgules (par exemple mettez : TRANSPORTNETWORKS.ROADS, TRANSPORTNETWORKS.RAILWAYS, TRANSPORTNETWORKS.RUNWAYS dans la liste des couches du service pour regrouper les couches ’transport’). Elle seront regroupées sur une même ligne dans la fenêtre des couches de l’API.
Si vous choisissez de passer ce service en statut « à la poubelle », les couches ne s’afficheront pas.

Regroupement de couche Géoportail
Les Géoservices permettent de regrouper des couches géoportail dans la fenêtre de couches.

Les services sont stockés dans une table GEOSERVICES à laquelle vous pouvez accéder à travers la syntaxe de boucle standard.

Ajouter un répertoire géographique

Vous pouvez lier automatiquement une position à un répertoire géographique. Ce sont les champs id_dep et id_com des GEOPOSITIONS.
Si vous avez chargé un répertoire géographique sur la page de configuration du plugin, celui-ci va automatiquement rechercher l’objet le plus proche à vol d’oiseau dans ce répertoire et l’associer à la position.
On peut ainsi retrouver les articles soumis dans un département donné :

Articles soumis dans [(#ID_DEP|geoportail_departement)]<hr/>
<BOUCLE_a(ARTICLES){geoposition}{id_dep}>
  #ID_ARTICLE : #NOM_COM #NOM_DEP(#ID_DEP)<br/>
</BOUCLE_a>

Si un répertoire géographique (RG) a été chargé :
-  le formulaire de saisie va automatiquement lié la position enregistrée à l’objet le plus proche du répertoire. Cette fonctionnalité peut être bloquée en cliquant sur le verrou à gauche du nom trouvé.
-  le filtre geoportail_departement permet de retrouver le nom du département suivant son numéro.
-  les balise #NOM_COM, #NOM_DEP, #POPULATION, #SURFACE et #TOP25 renvoie le nom de la commune, du département, la population, la surface et la carte associés à cette position.
-  une ligne de recherche est ajoutée dans les formulaires et permet de rechercher un objet du RG.

Généralement, les répertoires géographiques sont liés à des communes, mais vous pouvez créer votre propre répertoire géographique pour référencer des magasins, des stations, des centres régionaux... Dans ce cas, id_dep et id_com correspondront aux objets que vous référencez. Pour cela reportez-vous au fichier lisez-moi du répertoire rgc du plugin.

Deux répertoires géographiques de communes sont proposés : un basé sur Géonames et l’autre sur le RGC de l’IGN. Vous devez télécharger le fichier zip correspondant et installer son contenu dans le répertoire rgc du plugin, pour que le RG correspondant soit détecté.

Aller plus loin

  • fonctionnalités OpenLayers

L’API Géoportail étant basée sur OpenLayers, vous avez accès à toutes le fonctionnalités de cette bibliothèque. Pour cela, le plugin déclare une variable Geoportal.Map : mapX pour chaque carte insérée (ou X est le numéro de la carte).
Ainsi map0.getMap().setCenterAtLonLat(-4.46,48.38,12) centre la carte 0 sur Brest...

<a href="javascript:map0.getMap().setCenterAtLonLat(-4.46,48.38,12)">
  Brest
</a>

Le plugin prend en charge toute la partie installation de la couche de l’API avant de faire appel à la fonction javascript initSpipMap (map, id) si elle existe (équivalent de initGeopotalMap() de l’API) où id est l’identifiant de la carte SPIP et map la variable Geoportal.Map correspondante.
Pour plus de facilité, vous pouvez d’ailleurs déclarer une fonction javascript par carte : initSpipMap0 (map, id) pour la carte 0, initSpipMap1 pour la carte 1, etc.
Vous pouvez alors utiliser toutes les fonctionnalités de l’API et d’OpenLayers.

Si vous avez ajouté des images à l’aide du raccourcis <docX|geoportail> elles sont placées dans le layer spip_img de la carte (mapX.spip_img). Les éléments de cette couche portent en attribut le titre du document, son id, son fichier, etc. (mapX.spip_img.features[i].attributes), au cas où vous voudriez en faire quelque chose...

De même, si vous insérer un document dans une carte à l’aide du raccourcis <docX|geoportail>, la fonction onLoadSpipDocX (id_document, layer) est appelé ou à défaut onLoadSpipDoc (id_document, layer) si une de ces fonction existe, où layer est le layer de l’API qui a reçu le document (GPX ou KML).

Dans le même ordre d’idée, lorsque l’utilisateur effectue une recherche à travers les outils de l’API, la fonction javascript selectAdresse(f) est exécutée (si elle existe). En déclarant cette fonction, vous pouvez ainsi intercepter l’évènement pour faire quelque chose (afficher une information...).

Pour toute question concernant l’API, consultez le forum de l’API Géoportail.

  • Un logo pour les couches SPIP

Vous pouvez afficher un logo pour personnaliser vos couches (comme le fait l’API Géoportail en bas à droite de la carte). Ce logo est paramétrable lors de la configuration du plugin.

  • Téléchargement des positions des articles

La fonction javascript mapX.downloadData (formatType, sel, proj, options) permet de télécharger le contenu d’une couche d’une carte (la couche est stockée dans la variable mapX.rlayer de la carte).
Paramètres
-  formatType : kml, gpx, gml, osm ou gxt
-  sel : ’sel’ : la sélection ou ’all’ : tout ou ’extent’ : le polygone de la zone affichée
-  proj : le code de la projection
-  options : les options du format OpenLayers

<a href="javascript:map0.downloadData ('kml', 'all')">
  Télécharger les positions des articles en kml
</a>

Divers

Le plugin ajoute les formats GPX (format ouvert issu de GPS) et GXT (format d’export texte du SIG Géoconcept) aux types de document SPIP.

Voilà, c’est à vous de jouer !

  • v.1.0 :
    • Ajout des cartes OSM, Google et Yahoo !
    • refonte de l’appel des cartes.
  • v.1.03
    • Passage à l’API-Geoportail v.1.3 (OpenLayers v.2.11)

Un exemple d’utilisation est consultable ici : http://grafreex.free.fr/?rubrique14

Discussion

112 discussions

  • Bonjour,

    Est-ce que ce plugin sera mis à jour pour fonctionner avec Spip 4.0 ? Pour le moment je ne peux pas l’installer même en essayant de jouer avec _DEV_VERSION_SPIP_COMPAT dans mes_options.php

    Merci d’avance,

    Mathieu

    Répondre à ce message

  • 3

    Bonjour,

    Passionné de chemins de fer, j’ai entrepris il y a quelques années de retrouver les tracés précis de toutes les lignes disparues du réseau ferré français. Si étonnant que cela puisse paraître, ce travail n’avait encore jamais été fait.
    Ca m’a demandé quelques milliers d’heures de boulot, essentiellement des recherches à partir de documents mis à disposition par l’IGN sur Géoportail (fonds cartographiques, photographiques et parcellaires) et sur remonterletemps.fr (vues aériennes anciennes), et du traçage en format gpx.

    Pour pouvoir mettre les résultats de mes recherches à disposition du public en accès libre, j’ai créé en 2013 le site internet archeoferroviaire.free.fr, sachant que la maquette et les squelettes SPIP ont été réalisés par un ami développeur, à charge pour moi ensuite de créer les articles (au nombre de 1400 à ce jour). Pour le gros nul en informatique que je suis, SPIP est vraiment l’outil idéal !

    Le réseau civil a été intégralement retracé depuis fin 2017 (plus de 30.000 km), et les réseaux militaires de la guerre de 1914-1918 sont en bonne voie d’achèvement (quelques milliers de km quand même).
    Sur le site, tous les tracés étaient jusqu’au mois dernier visualisables en cartographie dynamique, avec possibilité de zoomer à volonté et de modifier le fond. De ce fait, le site a connu jusqu’à ce jour un certain succès (80.000 visites), avec une moyenne d’une bonne cinquantaine de visiteurs par jour (jusqu’à 2000 certains jours de parution d’articles dans la presse régionale). Hélas l’IGN ayant arrêté l’API Géoportail JavaScript V2, il est devenu impossible d’afficher les cartes, qui sont bien évidemment le seul intérêt du site !

    L’ami développeur ayant définitivement arrêté son activité, j’ai contacté Arnaud Martin qui, très sympa, a bien voulu me dépanner, mais n’a pu faire autrement que de désactiver le plugin Géoportail et de le remplacer par le plugin GIS permettant de se brancher sur OpenStreetMap.

    Si les tracés sont à nouveau visibles sur fond cartographique, toutes les autres fonctionnalités offertes par Géoportail ont disparu, notamment :
    1 - sur les cartes, le menu « Couches » permettait de passer du fond cartographique classique à un fond photographique actuel ou ancien, à un fond parcellaire, d’ajouter le réseau ferré existant et les limites administratives, tout en réglant à volonté l’opacité des couches (y compris celle des tracés eux-mêmes). Toutes ces données étant téléchargeables (parmi une quantité d’autres) dans le cadre de mon contrat pro IGN.
    2 - je pouvais choisir la couleur des traits et leur type (plein, pointillés, tirets etc) pour distinguer les lignes à voie normale, à voie étroite, militaires, inachevées, en projet etc. Fonctionnalité très importante sans laquelle les cartes récapitulatives sont devenues illisibles.
    3 - les photos pouvant être géoréférencées, elles apparaissaient sous forme d’icônes à leur emplacement sur les cartes, avec possibilité de les agrandir en cliquant dessus.
    4 - tout commentaire sur une ligne, à commencer par son nom, rédigé en mode txt, apparaissait simplement en pointant le tracé avec la souris.

    Bref, sans Géoportail, le site perd beaucoup de son intérêt !
    D’où ma question ... ou ma supplication ;-) : envisagez-vous de mettre à jour votre plugin, et si oui, à quelle échéance ?
    Merci d’avance pour votre réponse !
    Bien cordialement

    • Bonjour,

      Désolé mais la reprise du plugin demanderait trop de travail...

      Par contre, vous pouvez utiliser le site https://macarte.ign.fr/ proposé par l’IGN pour créer des cartes facilement à partir de vos données.
      Les données peuvent être importées en gpx, kml ou geojson sur les cartes IGN, publiées et partagées. Vous pouvez ajouter une légende, etc. Vous pouvez modifier les styles (couleurs, pointillés, etc) de façon interactive.
      Vous pouvez ensuite les intégrer sous forme d’iFrame dans votre site.

      Dites-moi si vous rencontrez des problèmes dans l’utilisation du site (ou contacter les SAV).

      Vous pouvez également faire des cartes narratives pour raconter une histoire (voir par exemple la carte de voyage avec un Ane).

      @+

    • Bonjour Jean-Marc,
      Merci pour ta réponse, qui évidemment ne comble pas tous mes souhaits, mais la piste que tu m’indiques d’utiliser le site macarte.ign.fr me permet de limiter la casse, même si je n’y retrouve pas toutes les fonctionnalités, notamment les couches « photographies aériennes anciennes » ou « réseau ferroviaire », ou la possibilité d’intégrer des photos sur la carte en les géoréférençant.
      J’ai fait un premier test avec la carte récapitulative du Finistère (http://archeoferroviaire.free.fr/v31/spip.php?article112). Mais pour intégrer l’ensemble de mes quelque 2500 fichiers gpx, il me faudra compter encore plusieurs centaines d’heures ... et à condition que je ne sois pas limité en volume ! Mes fichiers gpx « pèsent » environ 150 Mo. Serai-je autorisé à tous les mettre sur mon compte ? Je n’ai pas trouvé la réponse dans la documentation, merci si tu peux me renseigner !
      Cordialement

    • Hello,

      Pour ce qui est de nouveaux fond, tu peux toujours demander au SAV de l’IGN (menu Nous écrire en haut à droit du site).
      Idem pour le géoréférencement de photos.

      Pour ce qui est du volume, il n’y a pas de limite à ma connaissance. Il est possible de voir pour passer dans un format plus léger que le GPX (un GeoJSON par exemple : https://mygeodata.cloud/converter/gpx-to-geojson). IL doit y avoir de outils pour faire cela et qui permettent de tout concaténer dans un seul fichier...

      J’ai fait des tests avec de gros volumes de données, mais c’est à voir ensuite... https://macarte.ign.fr/carte/f03e74638bcff0fed6fe5c003740eb77/DSNA-Orly-2017

      @+

    Répondre à ce message

  • 5
    Martine

    Bonjour,
    J’utilise le plugin Geoportail 2.2.0 avec un site sous spip 3.2.1 et des squelettes Giseh.
    J’ai reçu un message de l’IGN m’invitant à renouveler la clé qui expire mi-juillet 2019, ce que j’ai fait.
    Alors que tout fonctionnait bien avec la clé précédente, les cartes ne s’affichent pas avec la nouvelle clé. J’obtiens un globe qui tourne.

    J’ai donc, pour l’instant remis l’ancienne et j’ai envoyé un message signalant le problème à l’IGN. Mais le problème est peut-être ailleurs que dans la clé ?
    Merci pour votre aide éventuelle.
    Cordialement
    Martine

    • Si tout marche bien avec la clé précédente cela devrait marcher avec la nouvelle...
      Cependant le plugin utilise une ancienne version de l’API qui n’est plus maintenu et il se peut qu’elle finisse par ne plus fonctionner (mais dans ce cas cela ne marchera pas non plus avec l’ancienne clé).
      @+

    • Bonjour Jean-Marc,

      Je rencontre le même problème que celui de Martine. J’ai commandé une nouvelle licence sur le site ign.pro, à savoir :

      Type de service : N°1 - Utilisation des Ressources Géoportail - Utilisateur final Grand Public

      Peux-tu nous confirmer qu’il s’agit du bon service car après intégration de la nouvelle clé, j’ai toujours ce joli globe qui tourne.

      S’il s’agit du bon service, alors je suppose que ça confirme ce que tu nous indiquais il y a deux mois, à savoir que « le plugin utilise une ancienne version de l’API qui n’est plus maintenue » et qu’il nous faudra désormais nous tourner vers les cartes OSM, Google ou Yahoo.

      Un grand merci d’avance pour tes éléments de réponse,

      Raphaël

    • Il faudrait plus d’information sur l’erreur mais effectivement la version de l’API utilisée n’est plus supportée par l’IGN ce qui doit expliquer le problème....

    • Bonjour,
      J’ai eu plusieurs échanges avec l’IGN (contact.geoservices@ign.fr), dont celui-ci du 1er juillet :"Dans votre précédent message vous précisiez utiliser un site en spip3 avec le plugin Geoportail.
      Pourriez vous nous préciser comment vous procédez ? Un incident était en cours rendant impossible l’usage des API JS en mode connecté à certains utilisateurs. Cet incident a été depuis résolu.
      ".
      Malheureusement, alors que cela fonctionnait en juin avec l’ancienne clé, mais pas avec la nouvelle, plus rien ne fonctionnait en juillet (ni l’ancienne clé pourtant encore valide, ni la nouvelle). J’ai décidé d’abandonner et de passer sur https://macarte.ign.fr/. Mais les fonctionnalités ne sont pas les mêmes et cela oblige à utiliser iframe dans un article SPIP, ce qui semble faire débat (mais je n’ai pas d’avis sur cette question). Pour ne pas avoir à tout refaire, j’ai laissé les lignes avec geoportail en commentaire dans mes articles.
      Je suis ainsi prêt à repartir avec geoportail si une solution est trouvée.
      Cordialement
      Martine

    • +1 @Martine
      Macarte est une bonne alternative pour la publication de cartes. L’intégration d’iFrame est une question de confiance avec le site tiers (et de formatage de la page)...
      Si l’outil pouvait utiliser un fichier de syndication GeoRSS cela permettrait de synchroniser un articles SPIP et cartes.
      Il est toujours possible de demander des amélioration à l’outil Macarte, via le formulaire de contact.

    Répondre à ce message

  • Comment afficher les tuiles d’un serveur OSM ?

    Bonjour, je n’arrive pas a comprendre comment afficher une carte OSM, en fournissant le lien vers son propre serveur de tuiles.

    Dans la présentation, il est dit que l’on parle de choix de géoservices et il ne m’est pas possible de rentrer l’URL.

    Merci

    Répondre à ce message

  • 8

    Bonjour Jean-Marc,

    Je dois mettre à jour un spip 3.0.21 : est-ce que tu conseilles de rester sur la branche 3.0.x ou on peut passer sur la branche 3.2 avec géoportail ? Tu déconseilles visiblement ici la 3.1, mais pas la 3.2 ...

    Merci d’avance de ta réponse,

    Raphaël

    • Le plugin n’est plus maintenu.
      Il faudrait vérifier que tout fonctionne avant une migration.

      @+

    • Je vais tester en amont, oui. Merci encore !

    • Bonjour,
      Le ZIP ci-joint contient 4 fichiers à ajouter au plugin SPIP Géoportail afin de lui permettre de s’installer sous SPIP 3.2.
      Après l’ajout de ces 4 fichiers, j’ai effectué différents tests et je n’ai pas rencontré de problème dans l’utilisation du plugin SPIP Géoportail sous SPIP 3.2.
      Cordialement
      Equipement

    • Merci cela pourra certainement servir !

    • Merci beaucoup Jean-Marc : j’espère pouvoir tester ta maj prochainement.

    • ça marche !
      merci ’’Equipement’’
      (si je comprenais svn je mettrai bien à jour ...)

    • J’utilise Spip , Sarka-spip et Spip-Géoportail.
      En utilisant le fichier zip que vous donné dans Spip-Contrib et avec une MàJ de Spip en version 3.2.1 Spip-Géoportail fonctionne parfaitement en page public et encore merci mais…

      En privé s’affiche sur toutes les pages l’ erreur suivante…

      Warning : Use of undefined constant sql_count - assumed ’sql_count’ (this will throw an Error in a future version of PHP) in /homepages/0/d145668275/htdocs/gpx2/plugins/spip_geoportail/inc/compat_192.php on line 7

      Warning : Use of undefined constant sql_showtable - assumed ’sql_showtable’ (this will throw an Error in a future version of PHP) in /homepages/0/d145668275/htdocs/gpx2/plugins/spip_geoportail/inc/compat_192.php on line 14

      Warning : Use of undefined constant sql_insert - assumed ’sql_insert’ (this will throw an Error in a future version of PHP) in /homepages/0/d145668275/htdocs/gpx2/plugins/spip_geoportail/inc/compat_192.php on line 21

      Warning : Use of undefined constant icone_inline - assumed ’icone_inline’ (this will throw an Error in a future version of PHP) in /homepages/0/d145668275/htdocs/gpx2/plugins/spip_geoportail/inc/compat_192.php on line 27

      Warning : Use of undefined constant icone_verticale - assumed ’icone_verticale’ (this will throw an Error in a future version of PHP) in /homepages/0/d145668275/htdocs/gpx2/plugins/spip_geoportail/inc/compat_192.php on line 29

      Tout fonctionne sans problème mais cela fait désordre .

      Si vous avez la solution à ce pb encore merci.

    • Je viens d’ajouter un 5e fichier au ZIP ci-joint, qui contient désormais 5 fichiers à ajouter au plugin SPIP Géoportail, afin de lui permettre de s’installer sous SPIP 3.2 et de ne pas afficher les messages précités.

    Répondre à ce message

  • 1

    Bonne année ,
    et merci à Jean-Marc pour ses années de services à ce beau plugin ! .

    En attendant un volontaire courageux et compétent (en proportion adéquate),
    il est relativement facile de passer les points géotagués avec geoportail vers gis4, (via phpMyAdmin), mais on a pas la carte géoportail (et pour la rando et autres activités de natures, il n’y a évidemment pas mieux)
    table spip_geopositions :
    | id_geoposition | id_objet | objet | lon | lat | zoom | zone | id_dep | id_com | etc...
    <=> 2 tables gis :
    -  spip_gis :
    | id_gis | titre descriptif | lat | lon | zoom | adresse | pays | code_pays | region | departement | etc.
    -  spip_gis_lien :
    | id_gis | objet | id_objet
    (Remarquez lon et lat qui sont inversées)

    Répondre à ce message

  • 1
    Martine

    Bonjour,

    J’utilise depuis longtemps avec beaucoup de satisfaction les plugins Giseh et geoportail.

    Je viens de faire une mise à jour de l’ensemble avec les dernières versions et j’ai rajouté les plugins cimobile et les squelettes iTwX.

    Les cartes s’affichent très bien sur la version web, mais ne s’affichent pas sur la version mobile (exemple : http://www.amis-nature.org/spip.php?article207).

    Y a-t-il un remède ?

    Merci. Bien cordialement
    Martine

    • Bonjour,
      Il semble qu’il y ait une problème dans le css en mode mobile...

      La surcharge (cimobile ?) n’est vient écraser une définition du plugin :-(

      NB : le plugin n’est plus vraiment maintenu...

      NB : s’il s’agit simplement d’afficher des cartes sur votre site, vous pouvez tester https://macarte.ign.fr/. Le service est gratuit et vous pouvez créer des cartes, y ajouter vos informations facilement et les intégrer dans votre site (comme un vidéo YouTube).

    Répondre à ce message

  • 3

    Bonjour
    J’ai enregistré un service : http://geobretagne.fr/geoserver/bretagneenvironnement/wms
    choisi une couche : Energie_eolienne_OREGES_point
    J’arrive à afficher une carte dans un article. Le visiteur peut sélectionner la couche ci-dessus, mais je ne sais pas comment faire en sorte d’afficher par défaut cette couche (de sorte que le visiteur la voit d’emblée, sans manipuler les couches). Vous pourriez m’indiquer la forme du code à insérer dans mon article ?
    Merci.

    • Bonjour,
      Dans la définition du Geoservice, il y a une case à cocher « visibilité » qui permet de la rendre visible par défaut.
      voir http://fr.slideshare.net/Viglino/spipgeoportail/37
      @+

    • Bonjour et merci.

      Certes, mais du coup ça impacte tous les articles à cartes, notamment lorsque, comme pour moi, la gestion des services n’affiche pas la couche :
      si je mets le service dans la rubrique 173 et non à la racine,

       
      

      ne permet plus d’afficher la couche voulue.

      De plus, il n’est alors pas possible de fixer par défaut la transparence de la dite couche.

      Y a-t-il une autre solution ?

    • Bonjour,
      Non, pas d’autre solution que de créer un service lié à une rubrique.
      Normalement le fait de simplement préciser la rubrique doit permettre d’afficher le service lié à celle-ci sur la carte, avec les options transparence / visibilité définies.

      <geoportail1|articles|id_rubrique=173>

      @+

    Répondre à ce message

  • 3

    Bonjour,

    Dans le back-office (spip3 + geoportail V2.0.3) lors du géo-référencement d’un objet (article, auteur, ..) aucune couche n’est activée par défaut.
    est-ce du à une modification du plugin (je n’observai pas ce comportement en v1.03.5 et spip2)
    ou est-ce lié à des paramètres de ma clé ?

    Merci,
    Dan

    • Bonjour,

      Il y a des pb avec la 3.1 de SPIP.
      Sinon les autres versions devraient marcher.
      Est-ce un problème par défaut ou que les couches s’affichent-elle au final ?

      @+

    • Bonjour,

      Nous sommes en version 3.0.
      Les couches s’affichent si on les sélectionnes.
      C’est juste que par défaut à l’ouverture d’un objet (article, auteur) lorsque l’on déplie le menu « Coordonnées géèographique » aucune couche n’est activée, même si on le fait sur un objet déjà géolocalisé, ce qui peut laisser à penser qu’il n’y a pas de cartographie disponible.
      La sélection des couches devant être activé par défaut( coté back-office) est elle le fait d’un paramétrage de la clé ou d’une ligne de code dans le plugin ?

      Merci,
      Dan

    • Bonjour,

      Notre soucis est bien lié à la clé, j’ai fait la demande d’une nouvelle de test et la géolocalisation s’affiche correctement dans le back-office.

      Cordialement
      Dan

    Répondre à ce message

  • 7

    Bonjour,
    Je suis bêtement passé à spip 3.1 sans vérifier la compatibilité de ce merveilleux plugin (j’ai essayé de forcer la version sur plugin.xml mais ça ne suffit pas, complétement).
    Bon courage si vous bossez dessus, de tout coeur avec vous !-)

    • Bonjour, le plugin est listé parmi les plugins incompatibles dans mon spip 3.1
      merci Jean-Marc de ce que tu feras !

    • Thiébaut

      Bonjour Jean-Marc....

      J’ai le même souci... une mise à jour est-elle prévue pour la compatinilité spip 3.1 ?

      Merci par avance et bon dimanche !

    • Il semble effectivement qu’il y ait un pb de compatibilité entre les script utilisés avec la V.3.1.
      Je n’arrive pas à voir où et comme je n’ai pas trop de temps...

      @+

    • Thiébaut

      Merci Jean-Marc pour ta réponse ! Et bien... on attendra ;-)

    • Bonjour Jean-Marc, j’aurais voulu savoir comment tu avais réussi à prendre en compte les geotags des photos de cet article http://www.valleeducousin.fr/spip.php?article253, afin de les réutiliser dans GIS en attendant une version compatible de spip-geoportail avec spip 3.1

      Question délicate bien-sûr... surtout si tu manques de temps ! Mais je tente quand même ?

      Merci par avance

    • Bonjour,

      La prise en compte des tags se fait avec la fonction de PHP exif_read_data voir http://zone.spip.org/trac/spip-zone...

      Les données sont récupérable via une boucle avec une condition geoposition :

      <BOUCLE_doc(DOCUMENTS){geoposition}{id_document}>
      #ID_DOCUMENT #LON #LAT
      </BOUCLE_doc>

      (voir le modèle http://zone.spip.org/trac/spip-zone...

      @+

    • Super ! Merci pour cette explication qui va nous permettre de continuer à utiliser les photos géotaguées sur notre site en attendant que les couches IGN soient accessibles pour spip 3.1 !

      Bonne fin de journée et à bientôt

    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 :

  • 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