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

  • 2
    Simon IV

    Bonjour,

    bravo et merci pour ce plugin et le suivi. Malheureusement, je rencontre un problème d’utilisation. Par ailleurs, j’ai une question.

    D’abord le problème. Pour un laboratoire de recherche, j’ai obtenu une clé Géoportail. Je peux donc géolocaliser les articles et les rubriques dans la partie privée. Une boucle affiche bien les items traités. Quand dans le texte d’une rubrique j’insère « geoportail0|mode=GEOP » entre chevrons, j’obtiens bien une fausse carte dans la prévisualisation privée. En revanche, dans la partie publique, je n’obtiens qu’une mappemonde rouge qui tourne avec "Chargement" (voir image jointe). On dirait que la connection ne se fait pas. Le code est cependant bien inséré dans la page.
    J’utilise Spip 2.1.15 et la version 1.3 du plugin.

    Ensuite la question. Il est possible d’utiliser la syntaxe artXX pour afficher un article sur une page. Il n’existe pas l’équivalent pour une rubrique, genre rubXX ? Il faudrait créer un modèle ?

    En vous remerciant par avance de vos suggestions,

    Simon

    • Bonjour,

      Étrange puisque les cartes s’affichent bien dans l’espace privé...
      Êtes-vous sûr qu’il n’y a pas d’autres erreurs sur la page qui pourraient bloquer le script d’affichage ? Quel squelette avez-vous ? des plugins ? avez-vous bien une balise #INSERT_HEAD ?
      Avez-vous un lien pour voir ce qui ne va pas ?

      @+

    • Simon IV

      Bonjour,

      merci beaucoup de votre réponse rapide. C’était en effet un problème de chargement d’une ancienne version de jQuery par un autre plugin.

      Bien cordialement,

      Simon

    Répondre à ce message

  • Simon IV

    Bonjour,

    bravo et merci pour ce plugin. Malheureusement je rencontre néanmoins un problème, et j’aurais une question.
    D’abord le problème. Pour un laboratoire de recherche, j’ai obtenu une clé Geoportail. Je peux géolocaliser les articles ou les rubriques dans la partie privée de chacun. Une boucle sur les articles les mentionne bien.
    Quand dans le texte d’une rubrique, j’insère « geoportail0|mode=GEOP » entre chevrons, j’obtiens bien une fausse image dans la prévisualisation de l’espace privé. En revanche, dans l’espace public, je n’ai qu’une mappemonde rouge qui tourne avec l’indication « Chargement » (voir image).
    J’utilise Spip 2.1.15 et la version 1.3 du plugin.

    Ensuite ma question. On peut afficher la localisation d’un article avec le racourci artXX. En revanche, on ne peut pas faire la même chose avec une rubrique (genre rubXX) ? Il faudrait créer un modèle ?

    Merci d’avance de votre aide,
    Simon

    Répondre à ce message

  • 4
    Le Dâv

    http://echoduvourbey.free.fr/spip.p...
    Sur la page ci-dessus par exemple, je n’arrive pas à choisir la couche par défaut |type= ?|
    je souhaiterais Google Map et non pas Google Hybrid qui s’affiche par defaut ??? Après des heures de recherche je souhaiterais un peu d’aide ...
    Idem pour éviter un effet de la souris en survol, avec GIS, on a qq chose comme ça : |zoom_molette=non| et pour Geo ?, il y a t-il possibilité d’intégrer qq chose de similaire ?
    Merci de votre aide.
    Dâvid

    • Bonjour,

      Il y a deux paramètres dans le raccourci :
      -  carto : opacité de la carte (0->1)
      -  ortho : opacité de l’image (0->1)
      Donc si vous voulez seulement la carte il faut <geoportail|ortho=0|carto=1>

      @+

    • Pour la molette, rien de prévu mais normalement elle n’est active que lorsqu’on est sur la carte.

      @+

    • Le Dâv

      Merci énormément Jean Marc, je n’avais pas saisi la subtilité de carto & ortho ...
      Sinon il y a t-il un moyen d’éviter l’affichage de la fenêtre copyright © à chaque ouverture d’un article où il y a une carte qui se charge ? (voir image)
      Merci par avance !

    • Normalement, le bug est corrigé dans la dernière version du plugin.

      @+

    Répondre à ce message

  • 1
    Vincent

    Bonjour,

    2 petites questions me taraudent l’esprit :

    -  Est-il prévu d’ajouter au plugin la possibilité d’imprimer la carte à partir de l’icone « imprimer » de la boite d’outils ? (comme détaillé ici : http://www.developpez.net/forums/d1145937/applications/sig-systeme-dinformation-geographique/ign-api-geoportail/api-geoportail-barre-outils-icone-impression/ )

    Est-il prévu (et possible) d’ajouter en dessous d’une carte des « profils d’élévation » des traces gpx ou kml qui aparaissent sur une carte ? (exemple ici : http://www.visugpx.com/?i=1337500528&ign ) Bien que cette dernière fonctionnalité soit complètement indépendante de l’api Géoportail. Elle doit plus relever de l’api Google Earth ou même être complètement indépendante....

    • Bonjour,

      Il y a le paramètre « toolprint » qui devrait marcher...
      <geoportail|toolprint=1> affiche l’icône d’impression.
      Par contre la fonctionnalité est encore expérimentale et ne marche pas sur tous les navigateurs.
      Sinon, il y a imprimer dans le menu fichier qui marche aussi...

      Pour les profils d’élévation pas de solution dans l’API Géoportail. Il faudrait voir du côté OpenLayers... ou d’API spécifiques.

      @+

    Répondre à ce message

  • 8
    Vincent

    Bonjour,
    Je souhaite offrir la possibilité aux auteurs de mon site de publier les topos de leurs randos.
    Ce qui signifie que lors de la rédaction d’un article, ils aient la possibilité de joindre une trace au format gpx pour qu’elle s’affiche ensuite sur fond de carte ign pour les visiteurs du site.
    Comment paramétrer cela car pour l’instant il n’est pas possible de joindre un tel fichier.
    PS : Je suis débutant sous SPIP.
    Vincent

    • Bonjour,

      Le plugin permet l’ajout de fichier gpx... on les ajoute comme n’importe quel document à un article...
      Après, pour l’affichage, vous pouvez demander aux utilisateurs d’insérer de balises directement dans l’article (voir l’exemple ici : http://grafreex.free.fr/?Afficher-une-trace-GPS) ou créer un squelette spécifique qui insère une carte (voir les modeles doc_geoporatil et img_geoportail) à un endroit défini.
      La deuxième solution a l’avantage d’harmoniser l’affichage des pages (la carte est toujours à la même place)...

      @+

    • Vincent

      créer un squelette spécifique qui insère une carte

      Avez vous un tutoriel qui permette de créer des squelette facilement sans trop de connaissances en programmation ?

      (voir les modeles doc_geoporatil et img_geoportail)

      Où puis-je voir ces modèles ?

    • Bonjour,

      Les modèles sont dans le répertoire /modeles du plugin.
      Vous pouvez créer les vôtres dans le répertoire squelettes/modeles de votre site. Si vous voulez modifier un modèle d’un plugin, il suffit de le copier dans ce répertoire et le modifier, il sera appelé avant celui du plugin (voir ici http://www.spip.net/fr_article3454.html).
      Pour la surcharge des squelettes, vous trouverez des infos ici : http://www.spip.net/fr_article3445.html.

      @+

    • Vincent

      Tout cela me semble difficile pour un débutant.
      Il y aurait éventuellement une solution que me semble simple.
      En ajoutant cette balise :
      <geoportail0|mode=GEOP|id_article=1|align=center>
      Il apparaît exactement ce que je veux.
      Est-il possible de ne pas être obligé de renseigner le numéro de l’article, afin que que le code à mettre soit toujours le même, quelque soit le numéro de l’article ?

    • Vincent

      Merci à Jean-Marc qui a pris grand soin de me donner la solution en privé (car trop long pour noter cela ici).
      Dernière question, où puis-je changer la transparence des différentes couches (otho et topo).
      Sachant que j’ai suivi la technique que Jean-Marc m’a soumise :

      créer un squelette spécifique qui insère une carte (voir les modeles doc_geoporatil et img_geoportail) à un endroit défini.

    • Bonjour,

      C’est dans l’appel au modèle geoportail, les paramètres ortho et topo permettent de définir la transparence : ils ont une valeur entre 0 et 1 (0=invisible, 0.5= transparent 50%).

      [(#MODELE{geoportail}{toolbox=mini}{id_article}{align=center}{ortho=0.5}{topo=0.8})]

      @+

    • Vincent

      Bonjour,
      Puis-je afficher une carte OSM en utilisant le fichier inc-geoportail-article.html ?
      Si oui, quelles sont les modifications à apporter ?

    • Oui, c’est le paramètre mode dans l’appel au modèle geoportail (voir les paramètres dans l’article : § Insérer une carte) :

      [(#MODELE{geoportail}{mode=OSM}{toolbox=mini}{id_article}{align=center}{ortho=0.5}{topo=0.8})]

      @+

    Répondre à ce message

  • 6
    Sébastien

    Bonjour à tous !
    est-ce que quelqu’un peut me donner un coup de main ?
    Par avance merci...
    cdt
    Sébastien

    • Sébastien

      je m’appelle Sébastien et je travaille actuellement sur la mise en place de l’API Géoportail sur mon site web !
      Je me suis inscrit sur le forum, vous l’aurez compris, car j’ai besoin d’aide.
      Les tests que j’ai effectué me permettent d’afficher une carte « Geoportail » dans une page HTML standard.
      Pour mon portail internet j’utilise le logiciel GISEH une adaptation de SPIP.
      Je suis novice dans la programmation html et j’ai besoin que quelqu’un me donne des infos pour que je puisse ajouter des outils sur mon API Géoportail !!!
      Merci à toutes et à tous !
      Sébastien

    • Bonjour,

      Avez-vous lu la documentation ci-dessus ? Normalement, le plugin est compatible avec GISEH et vous devriez pouvoir l’installer sur votre SPIP.
      Quels genre d’outils voulez-vous ajouter ?

      @+

    • Sébastien

      Bonjour,
      Oui, j’ai lu la documentation inscrite ci dessus. Je n’ai pas tout compris surement !

      je vais vous expliquer rapidement ce que nous avons fait au début du travail :
      (je pense que c’est là ou ça ne va pas !)
      -  construction de la page internet via le logiciel FileZilla Client
      -  création d’un compte et d’un contrat sur le site de l’IGN
      -  nous avons donc obtenu une clé et un code de « base » (code que nous n’avons pas déposé ni sur File Zilla , ni sur la page internet SPIP !)
      -  téléchargement du plugin SPIP et intégration via FileZilla dans notre site (page internet)
      -  Sur notre site SPIP (GISEH), création d’une rubrique et d’un article qui recevra l’API Géoportail
      -  Dans les options de notre site nous avons donc à ce stade accès à l’API Géoportail
      puis
      c’est là ou je ne suis pas sur de notre travail :
      il a fallu que j’écrive dans le corps du texte de l’article (voir le zip) : (sinon rien ne s’affichait )

      <geoportail1|mode=GEOP|lon=1.79064453445|lat=45.27646125735|ortho=0.4|carto=0.6|zoom=8|toolbox=true|type=Default|measuretools=1>

      Version texte
      mail envoyé au format texte, cela envopie l’url et l’introduction

      je vous joins le lien de la page internet : http://www.territoires19.net/geoportail/spip.php?article1

      Première question : est-ce la bonne méthode ?

      Dans un prochain message, je vous expliquerais en détail les outils que nous souhaiterions ...
      Merci

    • Bonjour,

      C’est la bonne méthode : vous avez réussi à afficher une carte sur votre site ;-)
      Il est nécessaire de préciser dans l’article qu’on veut afficher une carte avec le raccourcis <geoportail1|....> à l’endroit où on veut afficher la carte.

      @+

    • Sébastien

      Ok.
      Sur le message précédent, il ne fallait pas tenir compte du zip ! ça c’est créé automatiquement en écrivant le message ???

      Bref, je continue ...
      Est-ce normal de ne pas avoir transformé le code de base (txt) en html et de l’avoir inséré dans le dossier de la page internet www (avec filzillia) comme me l’avait indiqué un de vos collègue de l’IGN ?

      Sinon voici ce qu’il me faudrait comme outils :
      1-afficher la carte en plein écran
      2-choisir les couches de l’ign
      3-pouvoir d’insérer nos couches métiers (classement routiers, etc ...) et de pouvoir les mettre à jour
      4-pouvoir interroger les couches (i)
      5-pouvoir dessiner un vecteur (ligne, point, surface)
      6-pouvoir exporter l’image en jpeg
      7-pouvoir exporter les vecteurs tracés sous un format gpx, kml ...

      voilà, je crois que c’est à peu près tout ...

      @+
      Sébastien

    • Bonjour,

      C’est normal, SPIP est un CMS et c’est lui qui intègre le code, il n’est donc pas nécessaire de créer une page.

      Pour les outils :
      1- il y a une fonction javascript jQuery.geoportail.fullscreen dans le plugin mais cela dépend fortement des styles css utilisés et de la structure de la page (il va falloir créer un squelette spécifique)...
      2- vous devez regarder du côté des geoservices de type geoportail (dans le plugin) qui permettent de choisir l’affichage des couches du géoportail
      3- pour insérer vos propres couche métier, il faut que vous les publiez dans un format de type WMS par exemple, le plugin peut ensuite les afficher. Vous devez donc avoir un serveur WMS. Vous pouvez également les exporter en KML et les intégrer avec le plugin et SPIP.
      4- Pour interroger les couches, vous devez avoir un service spécifique (WMS ou WFS) et développer un module qui va bien avec OpenLayers.
      5- Il existe des outils de dessin dans OpenLayers (voir http://api.ign.fr/geoportail/api/doc/examples/geoportalPoi.html ou http://api.ign.fr/geoportail/api/doc/examples/geoportalAlert.html) mais pas dans le plugin.
      6- L’export en jpeg est plus compliquée mais il existe des modules dans le navigateur pour le faire (voir FireShot http://fireshot.softonic.fr/)
      7- Il y a une fonction d’export dans le plugin : jQuery.geoportail.downloadData (formatType, sel, proj, options) (dans le fichier geoportail.js) qui permet de charger les données d’une couche.

      Si vous voulez une réponse plus détaillée, merci de m’envoyer un mail via le formulaire du site en laissant votre adresse pour une réponse.

      @+

    Répondre à ce message

  • 4
    Vincent

    Bonjour,
    Je fais mes test en local.
    Je viens de changer de squelette, et là, des bandes blanches apparaissent verticalement sur les cartes de l’api (voir screenshot ci-joint). Avez vous déjà rencontré ce problème ?

    Répondre à ce message

  • 3

    Bonjour

    Tout d’abord merci pour ce plugin qui est génial.

    J’ai des petits soucis. Je voudrai afficher une trace avec des photos comme dans l’exemple http://grafreex.free.fr/?Afficher-une-trace-GPS (que je suis scrupuleusement)

    J’ai donc uploadé un fichier gpx et une photo géotaggée dans la médiathèque de mon site sous SPIP 2.1.8.

    La trace s’affiche sans problème, mais pas la photo. J’ai pourtant bien cochée l’option Types d’objets à géoréférencer / documents / extraire dans la config du plugin.

    La photo en question : http://au5v.fr/IMG/jpg/01_place_bouteiller.jpg

    L’article : http://au5v.fr/Chantilly-Creil-via-le-GR11-et.html

    Tout se passe comme si le plugin n’arrivait pas à extraire les infos de géolocalisation de l’image : dans la médiathèque pour la géolocalisation de l’image, il ne me propose que de choix : la cible et l’adresse alors que je devrai avoir le trombone avec l’étiquette non puisque mon image est géotaggée ?

    Merci de m’éclairer.

    Mon image a été geotaggée avec gpsprune et exiftool sur mac.

    Merci d’avance.

    • Bonjour,

      Pour que le plugin puisse lire les informations dans la photo, il faut que l’extension php_exif soit activée sur le serveur. Je pense que c’est pour cela que les informations de localisation ne sont pas extraites... Contactez votre fournisseur pour qu’il l’active.
      NB : J’ai récupéré votre photo et tout marche correctement chez moi (en local avec extension php_exif). Cela ne vient donc pas de la photo qui semble correctement localisée.

      @+

    • Merci pour la réactivité !

      J’ai peur que ce soit pas la bonne piste, voici le résultat du phpinfo chez mon provider :

    • Jean Marc et moi avons résolu mon problème en privé. Je tiens à le remercier publiquement pour sa disponibilité et son support. Et bien sur pour cette énorme plugin qui offre beaucoup de perspectives.

    Répondre à ce message

  • 3

    Bonjour,

    Tout d’abord, merci pour ce plugin !
    J’ai un petit soucis néanmoins, en forme de question/suggestion d’évolution : comment peut-on gérer un niveau de zoom automatique ?
    L’idée est d’avoir une carte dont le centrage et l’entendue sont variables en fonction des contenus affichés...

    Merci

    • Bonjour,

      Il y a des paramètres ’center’ dans certains modèles...
      Il y a également un modèle geoportail_centrer qui permet de se centrer sur un article, un document, une rubrique ou un auteur avec le niveau de zoom définit dans l’objet.

      <geoportailX|centrer|id_article=n>

      Après, il faut voir le paragraphe ’Aller plus loin’ et les fonctionnalités d’OpenLayers...
      La question est sur quoi veut-on se centrer ?

      @+

    • merci

      en fait pour être plus précis, mon souhait c’est d’avoir une seule carte utilisée plusieurs fois dans le site : elle affiche les articles de la rubrique active (sur plusieurs niveaux d’arborescence)

      donc, besoin de la centrer sur les coordonnées moyennes des articles,
      et besoin de déterminer automatiquement le zoom, pour que l’échelle colle à l’étendue représentée par les articles

      je comptais sur la fonction center, mais cela ne se comporte pas comme ce que j’espérais, car l’étendue reste celle de la carte
      j’ai donc pour idée de déduire par une boucle, en fonction des coordonnées des articles à afficher, le centrage (la moyenne) et le niveau de zoom : et là je ne vois pas comment faire ?...

      sachant que je débute, je passe peut-être à côté de quelque chose, mais en tout cas, je suis pour l’instant bien étanche au chapitre « Aller plus loin » !!!

    • Boujour,

      Pour faire ce que vous décrivez, il y a la modèle geoportail_articles :

      [(«MODELE{geoportail_article}{id_rubrique}{recadre=1})]

      Le paramètre ’recadre’ permet de se centrer sur les articles de la rubrique.

      @+

    Répondre à ce message

  • 1

    Bonjour et merci pour votre plugin...
    Tout marchait parfaitement depuis un an quand nous est venu l’idée de mettre à jour Spip (2.1.11 -> 2.1.12) ainsi que les plugins (Bonux, Accès Restreint et Spip-Geoportail)...
    Depuis une sphère tourne sans cesse et nous n’avons plus d’affichage de carte.
    Le problème est reproductible sur deux installations distinctes.
    Une idée ?
    Merci,

    PS : nous devons passer par un proxy pour les connexions internet du serveur vers l’extérieur ainsi que pour nos postes clients...

    • Bonjour,

      J’utilise le plugin avec une 2.1.12 sans problèmes.
      Avez-vous la dernière version du plugin ?
      Avez-vous des erreurs javascript ?
      Avez-vous une adresse à communiquer ?
      NB : vérifiez également que votre clé Géoportail est toujours valide (la limite de validité est de 1 an, ensuite il faut la renouveler...).

      @+

    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