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

  • 4
    Guillain Michel

    Bonjour.

    J’ai installé le plugin version 2.0 sur SIP 3.0.3 [19675]

    Quand j’appelle spip ?page=geoarticles&var_mode=recalcul j’ai 4 erreurs :
    inc-head n’est pas disponible plugins/auto/spip_geoportail/geoarticles.html
    idem pour inc-entete, inc-rubriques, inc-pied

    J’ai cherché ces fichiers sur l’ensemble de mon site sans les trouver :-(

    Le problème c’est que je débute en SPIP et ces fichiers d’exemple me sont très utiles pour essayer d’en comprendre le fonctionnement.

    Ces fichiers ne manquent ils pas tout simplement dans la distribution ?

    Merci d’avance pour votre aide.

    • Bonjour,

      La page geoarticles ne marche plus avec la version 3 de SPIP.
      Il faudrait reprendre cette page avec un squelette de la v3...
      La solution est de créer un article avec <geoportail|articles> qui fera la même chose...

      Désolé...

    • Guillain Michel

      Le problème c’est que <geoportail|articles> ne marche pas non plus :-(

      J’ai bien une carte qui s’affiche, j’ai bien une couche Articles cochée mais aucun article ne s’affiche sur la carte :-( quelque soit le niveau de zoom.

      Je n’ai pas associé de logo aux articles mais si j’affiche un seul article
      Auray
      <geoportail0|mode=GEOP>
      <art19|geoportail|id_geoportail=0>
      J’ai bien la carte avec une punaise au bon endroit

      la « page »

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

      (

      <? uniquement pour l'affichage dans ce fil)
      
      me retourne bien mes articles géoréférencés :
      13 : 5.46327972412 43.20699642566 
      14 : -1.98143615723 48.53753696213 
      17 : -2.75552368164 47.65597038205 
      18 : -3.1215057373 47.48316867717 
      19 : -2.99310302734 47.67169339349
      
      Je suis maintenant en SPIP 3.0.5 [19905]
    • Bonjour,
      Pouvez-vous tester en supprimant {article?} à la ligne 49 du fichier modeles/geoportail_articles.html ?
      Je pense que l’identifiant de l’article est passé dans le contexte du raccourcis en SPIP v.3...
      @+

    • Guillain Michel

      Yesssssss :-)
      <geoportail|articles|mode=GMAP|id_rubrique=5|recadre>
      La tout fonctionne.
      Pour finasser, chez moi la boucle commence en ligne 47

      Merci pour le debuggage

    Répondre à ce message

  • 6

    Bonjour,

    Je viens enfin de faire la migration de mon site vers spip3 puisque depuis peu, le squelette que j’utilise est compatible spip3.

    Je ne comprend pas pourquoi les cartes qui agrémentent mes topos ne s’affichent plus..?
    Un exemple ici : http://www.topos-rando.fr/Les-Roches-de-Fouchon.html

    • Bonjour,

      A mon avis, vous avez du également ajouté une option de compression des pages qui empêche l’affichage des cartes sur la page...

      @+

    • Effectivement, lorsque je désactive l’option « Compression HTML », la carte s’affiche à nouveau. Pourtant, je suis presque sûr que sous spip2, cette même option était activée.

      Par contre si la carte s’affiche correctement, le fichier gpx ou kml joint à l’article n’est pas repris sur cette même carte.

      Comment cela se fait-il ?

    • OK, je pense que l’option de compression fait un peu plus qu’avant...

      Pour l’affichage des documents liés à l’article, le passage des paramètres à changé (suite au passage à SPIP v3). Il faut mettre article=xx et non id_article=xx pour afficher les documents liés à l’article xx.
      Donc <geoportail|id_article=1> devient <geoportail|article=1>.

      Côté nouveauté, il est possible d’afficher un profil pour des fichiers GPX.
      Le modèle <gpx615|profil|id_geportail=0> permet d’afficher le profil du document 615 (si c’est un GPX qui a des informations d’altitude). Il est possible de le lier une carte (id_geoportail) pour suivre le trajet sur la carte (voir #profil).

      Bon courage

    • Merci pour ta réponse.
      Mais en fait, je fonctionne avec les modèles donc je pense que c’est un tout petit peu plus comliqué.
      Exemple : j’ai ceci dans unfichier :

      [(#REM) Affichage d'un geoportail ]
      		[(#INCLURE{fond=inc-geoportail-article}{id_article})]

      Qui rapporte à un fichier contenant ceci :

      [(#REM) 
      	Affichage d'une carte liee a un article
      	- affichage du GPX ou KML associe a l'article + centrage
      	- affichage des documents (jpg,gif,png) sur la carte (si localises)
      ]
      [(#MODELE{geoportail}{toolbox=mini}{id_article}{align=center}{carto=0.8}{ortho=0}{toolprint=1})]
      
      [(#REM) Affichage des documents associes a l'article ]

      Comment dois-je le modifier ?

    • Bonjour,
      Les modèles fontionnent de la même façon.
      Il faut remplacer id_article par article et préciser avec la balise #ID_ARTICLE (car la correspondance n’est plus automatique.

      [(#MODELE{geoportail}{toolbox=mini}{article=#ID_ARTICLE}{align=center}{carto=0.8}{ortho=0}{toolprint=1})]

      @+

    • Un énorme merci pour ton support Jean Marc.
      Voilà, ma migration vers spip 3 s’est donc déroulée sans encombres.
      Merci encore

    Répondre à ce message

  • 2
    gautier

    Bonjour et tout d’abord merci pour votre aide précieuse.
    Je suis enseignant en Histoire et Géographie dans le secondaire.
    http://mrgautier.toile-libre.org
    J’ai monté un site SPIP pour mon collège et mes élèves. (mise à jour SPIP 3.0.4).
    J’ai intégré le plugin SPIP Geoportail 1.10
    Il fonctionne correctement à l’exception d’un problème :
    Les fonds de carte et images de Google Map et Bing s’affichent mais pas ceux de Géoportail ! (j’ai pourtant mis la clef API que j’ai récupéré sur le site API de Géoportail).
    Apparaît en fond une loupe avec un dessin d’appareil photo barré.

    Répondre à ce message

  • 12

    Salut

    J’ai besoin d’aide, je sèche un peu là ...

    Je suis toujours en spip 2.1.2
    J’utilisais un vielle version du plugin 0.1 et depuis la nouvelle version de lAPI geoportail, seule la mappemonde rouge s’affichait sur mes pages

    J’ai demandé une nouvelle clé à IGN, pensant que celle d’il y a 4 moins n’était plus compatible, mais la div reste blanche cette fois ...

    J’ai donc fait le ménage, supprimé le GIS (google maps plus nécessaire maintenant) et j’ai mis à jour le plugin. J’arrive à mettre une carte OSM avec une trace, la gestion des couches est correcte et je peux modifier la transparence.

    Par contre pour un fond de carte de l’IGN, pas moyen. Je n’ai même pas accès au menu des couches, enfin si, mais il ne me propose aucune couche seule ma trace GPX s’affiche ... sur un fond blanc. Pas même le logo ign ...

    Une idée ?

    • Bonjour

      Si vous utilisez une nouvelle cle, vous devez avoir la derniere version du plugin et cocher la case correspondante sous la cle (utiliser une cle v2).

      @+

    • Oui oui, c’est ce que j’ai fait ...
      J’ai bien tout recherché sur les détails du plugin avant de poster, mais rien n’y fait ...
      Je me suis posé la question sur la bibliothèque Jquery, quelqu’un avait un conflit avec, mais comme le plugin marche avec d’autre API ... (j’utilise la jquery.fancybox-1.3.1) je n’y crois pas trop ...

      Bizarre ...

    • Bonjour

      Avez-vous une url pour tester ?

      @+

    • Je viens de faire un test en local avec spip 3, le problème est le même ... donc j’ai migré le site complet en ligne ...

      http://fauxcols.net/Col-des-Deux-Soeurs-et-Pas-deL.html

      en bas, un gpx sur un fond de carte normalement du géoportail
      (=> sous spip 3, j’ai une couche #3 qui s’est rajoutée ... un doublon de la trace gpx il semblerait)
      puis le même gpx avec google maps ... (=> couche #7 cette fois pourtant le même doc615 ?!?)

    • Bonjour,

      Il semble qu’il y ait un espace qui se soit inséré au début de votre clé (lors du copier-coller sans doute), ce qui explique peut-être que les couches ne s’affichent pas...

      Pour un test en local, avec la v2 du Géoportail, il faut une clé développeur (pour localhost) à prendre sur http://api.ign.fr/ alors que les clés de production sont à prendre ici : http://pro.ign.fr/api-web.

      Pour l’affichage du GPX en double, vous avez dû ajouter la référence à votre article lors de l’appel à la carte (<geoportail2|id_article=XX>). Du coup les documents de l’article sont automatiquement ajoutés à la carte. Le numéro 3 ou 7 dépend des couches qui sont déjà chargées (il y en a plus avec GMAP car GEOP n’a pas chargé les couches geoportail). Si vous donnez un titre à votre document c’est ce titre qui sera utilisé au lieu du numéro...

      En espérant que cela solutionnera votre problème...
      PS : Joli site entre parenthèse...

      @+

    • Mais quel crét...

      Merci pour la clé ... c’était d’une évidence ... pourtant je l’avais mise plusieurs fois ... bref ... milles et une excuses ... Pb résolu ...

      Pour le numéro de couche, ok j’avais compris, mais pour le gpx en double ...je ne sais pas, je l’appelle ainsi :

      <?
      <geoportail0|mode=GEOP>
      <doc615|geoportail|id_geoportail=0|align=center>
      ?>

      (

      <? et ?>

      pour ne pas interpréter le code ... )

      Sans la deuxième ligne, la carte n’est pas centrée, et c’est dommage ... il faut aussi parfois que je garde la possibilité d’afficher ma trace sur une carte X ou Y dans un même article ...
      Donc comment désactiver l’affichage automatique des documents GPX de l’article quand on appelle une carte ?

      J’aimerai aussi pouvoir avoir des couleurs différentes pour des traces différentes, pour les identifier facilement sur une même carte (style 2 jours ...). Les jours sont identifiés quand on clique dessus depuis le GPX par le plugin, mais pas les couleurs ...

      exemple extrait du GPX :

      <?
       <name>07-JUIN-12 10:08:54 PM</name>
         <extensions>
          <gpxx:TrackExtension>
           <gpxx:DisplayColor>Cyan</gpxx:DisplayColor>
      ?>

      Le 7 juin s’affiche, mais pas la couleur Cyan ... Ce serait un super plus !!

      En tout cas, Grand Merci pour le temps que vous passez sur ce super Plugin !!

    • Bonjour,

      Les couleurs ne sont pas standardisées dans le GPX, par contre si vous passez par un KML, cela devrait marcher... (à tester).

      Pour le double affichage, je n’ai pas d’idée... un transfert de l’environnement dans le raccourci ?
      Essayez de forcer l’article : <geoportail0|mode=GEOP|id_article=0>...

      @+

    • Avec id_article=0, plus qu’une seule trace, cool. Aurais-je fait qqchose pour « un transfert de l’environnement dans le raccourci » ?

      Sinon, pour exporter un kml depuis un gpx, c’est pas bien pratique mais faisable (il y a plein de format de kml en fait ... et il faut passer par google earth puis google maps ...) mais les couleurs marchent, oui. Je ferai un tuto quand j’aurais trouvé une méthode simple en quelques étapes ...

      Encore merci pour ta disponibilité !!

      ++
      Mathieu

    • Une autre solution serait d’ajouter un paramètre pour la couleur du type <doc615|geoportail|id_geoportail=0|align=center|couleur=#FF00FF>. On pourrait avoir ainsi une couleur par fichier (généralement, on n’a qu’une trace par fichier sur un GPS)...
      Je regarderais ce que je peux faire si j’ai un peu de temps...

      @+

    • Bonjour,

      J’ai ajouté la possibilité de personnaliser le style d’un document GPX.
      -  couleur : couleur de la trace (cyan, orange, etc. ou #0000FF, etc.)
      -  style : solid | dot | dash | dashdot | longdash | longdashdot
      -  largeur : largeur du trait
      Par exemple :
      <doc615|geoportail|center|couleur=Orange|style=dash|largeur=2>

      Pour le problème d’affichage des documents de l’article en SPIPv3, j’ai modifié le paramètre (id_article => article), ce qui devrait résoudre votre problème (et rendre id_article=0 inutile).

      @+

    • Mathieu

      C’est impec !!

      Merci Jean-Marc pour ta réactivité !

      ++
      Mathieu

    • Bonjour,

      Si cela peut vous intéresser, j’ai ajouté la possibilité d’afficher les profils des fichiers GPX.
      Le modèle <gpx615|profil|id_geportail=0> permet d’afficher le profil du document 615 (si c’est un GPX qui a des informations d’altitude). Il est possible de le lier une carte (id_geoportail) pour suivre le trajet sur la carte.
      Regardez dans le fichier modeles/gpx_profil.html pour les paramètres disponibles. Je mettrai à jour la doc dès que possible.

      A tester...

      @+

    Répondre à ce message

  • 3

    Bonjour,
    J’ai créé des géoservices WMS et des géoservices de type géoportail affectés à une rubrique A. Lorsque je fais ma carte avec <geoportail0|id_rubrique=A> dans un article situé dans une rubrique B (située au même niveau que A), pourquoi les géoservices apparaissent-ils, alors que je ne suis pas dans la rubrique A où ils ont été affectés ?

    Cordialement

    • Bonjour,

      id_rubrique=A indique que vous voulez insérer les services de la rubrique A... il est donc normal qu’ils apparaissent.
      Si vous ne voulez pas les voir apparaître, il faut faire seulement <geoportail0>.

      @+

    • Bonjour,
      Déclarer les géoservices dans une rubrique A ou B sert donc uniquement à les classer afin de pouvoir les faire apparaître ou pas avec le paramètre id_rubrique= A ou B ? En effet, l’affichage des géoservices dans une carte nécessite l’utilisation de ce paramètre, quelle que soit la rubrique dans laquelle on se trouve.
      Peut-on mettre plusieurs paramètres id_rubrique dans un raccourci pour faire appel à plusieurs géoservices déclarés dans des rubriques différentes ?
      Cordialement

    • Bonjour,

      C’est cela, les rubriques servent à contenir des styles de visualisation différents, avec des couches différentes. Le but est de ne pas avoir les mêmes fonds sur tout le site (1 rubrique = 1 vue).
      Lorsqu’on est dans un squelette, on peut utiliser les notations conditionnelles de SPIP ([(#MODELE{geoportail}{id_rubrique?})]). Dans un article, il faut préciser la rubrique dans le raccourcis...

      On ne peut mettre qu’un seul paramètre id_rubrique mais on peut aussi utiliser id_secteur de la même manière dans un raccourcis. On peut donc afficher deux rubriques. Au delà, il faut créer des rubriques spécifiques et déclarer les services qui vont bien... et éventuellement les dupliquer si on veut les voir apparaître dans plusieurs vues...

      @+

    Répondre à ce message

  • 1

    Bonjour,

    Est-il possible d’enlever les noms des couches Géoportail dans la liste à gauche de la carte ?
    En effet, il y a beaucoup de données qui ne sont pas utilisées et qui prennent de la place.

    Autre question, peut-on afficher dans les info-bulles les attributs des couches en WMS ?

    Merci par avance,

    Bonne journée !

    • Bonjour,

      Pour supprimer (ou regrouper) les couches Géoportail, il faut créer un géoservice de type « geoportail » qui contienne les couches à supprimer ou à regrouper (voir la doc ci-dessus).
      En passant le statut de ce service « à la poubelle », les couches ne s’afficheront plus.
      Avec un statut « publié », les couchent s’afficheront sur une seule ligne dans la palette des couches.

      Pour afficher des attributs en WMS, il faut faire un appel en ajax pour les récupérer... C’est donc possible mais il faudra développer une fonctionnalité en javascript...

      @+

    Répondre à ce message

  • 2

    Bonjour,

    Est-il possible d’afficher par défaut une couche de type géoservice ? Pour l’instant, je sais afficher carto et/ou ortho avec des coefficients de transparence, les couches correspondants à des fichiers KML, GPX sont affichées par défaut dans la carte. Mais qu’en est-il pour un géoservice ? Existe-t-il un paramètre du style « nom_geoservice=0.5 » tout comme pour carto et ortho ?

    • Bonjour,

      Lorsque vous déclarez un géoservice, vous pouvez lui associer une transparence et une visibilité qui seront utilisé pour son affichage.

      @+

    • Merci.

      Quand je pense que je me suis demandé à quoi servait cette case « affiché » ;-((

      Michel

    Répondre à ce message

  • 4

    Bonjour Jean-Marc, une version compatible spip 3 est elle prévue pour bientôt ?
    Merci d’avance !

    • Bonjour,

      J’ai commencé les tests mais pas beaucoup de temps à y consacrer...

      @+

    • Didier Link

      Bonjour,
      Merci pour le travail sur ce plugin Jean-Marc, et courage pour la migration vers spip3, il ne me manque plus que votre plugin pour passer mon site principal sous spip3 ;)

    • Bonjour,

      J’ai commencé le passage pour SPIP v.3.
      Si cela vous intéresse toujours de tester la dernière version...

      @+

    • Didier Link

      Bonjour,

      Premier test sur mon site local passé, je n’ai plus qu’à finir d’adapter mon squelette à spip3 et je passe en production !

      Merci !! :)

    Répondre à ce message

  • 4
    Vincent

    Ce Plugin sera-t-il compatible avec la version 3 de SPIP ?

    • Bonjour,

      J’ai fait quelque tests, il reste quelques reprises à faire dans l’espace privé mais sinon il devrait être compatible.

      @+

    • Vincent

      Une date pour la sortie du plugin compatible SPIP3 ?

    • A la sortie de la v3 de SPIP ;-)
      Ou au moins une version bien stable... il faut reconfigurer les pipelines et éviter les interférences avec les autres versions...

      @+

    • Bonjour,

      J’ai commencé le passage pour SPIP v.3.
      Si cela vous intéresse toujours vous pouvez tester la dernière version...

      @+

    Répondre à ce message

  • 2

    Bonjour,

    Je cherche à intégrer des couches provenant de mon serveur cartographique basé sur Géoserver.
    Comment faut-il procéder ?
    J’ai essayé d’intégrer un Géoservice WMS mais ça ne fonctionne pas.
    Que faut-il indiquer dans l’article SPIP pour appeler le Géoservice ?
    Merci par avance !

    • Bonjour,

      Il suffit de déclarer un Géoservice WMS et le service est directement disponible.
      Si vous avez indiqué une rubrique sur votre service, il faudra l’indiquer le numéro de la rubrique associée à la carte <geoportail|rubrique=XX>
      Pensez également à publier votre service...
      Attention, votre service doit être publié dans une projection compatible avec celle de la carte affichée (EPSG:4326 ou similaire).

      @+

    • Merci beaucoup pour votre aide ! ça marche !!!
      J’utilise la projection RGF93 pour les couches publiées par Géoserver et la reprojection à la volée se passe bien pour les fonds IGN.
      Merci encore ;-)

    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