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

    Bonjour,

    J’essaye en de faire fonctionner ce plugin avec des traces gpx et cela ne fonctionne pas. Je réalise un site pour un club de randonnée et ils souhaite avoir sur la même page une carte de type googlemap et une de type géoportail. J’ai donc essayé de les insérer ensemble cela fonctionne mais dés que je lie une trace gpx sur la première carte, la seconde ne se charge plus du tout. Voila à quoi ressemble le code de mon article. Je ne comprend pas pourquoi cela ne fonctionne pas.

    <geoportail1|mode=GEOP|toolbox=mini|overview=1|infobox=false|lon=1.68|lat=44.48|zoom=10>
    <geoportail2|mode=GMAP|carto=1|ortho=0|lon=1.68|lat=44.48|zoom=10>
    
    <doc270|geoportail|center|id_geoportail=1>
    <doc270|geoportail|center|id_geoportail=2>

    Par contre si je met la trace que sur la derniére carte tout s’affiche correctement.

    Merci de votre aide.

    Créer un répertoire ...
    • Bonjour,

      Je n’ai pas ce problème chez moi... (voir : http://grafreex.free.fr/?Multiprovider-2).
      Avez-vous un lien pour voir ce qui cloche ?

      PS : dans votre cas, il est inutile de préciser lon, lat et zoom dans <geoportail> puisque vous centrer ensuite sur la trace.
      Vous pouvez également utiliser <geoportail|synchro|id_geoportail=1,2> pour synchroniser les deux cartes.

      @+

    • Bonjour,

      A priori, il y a un conflit jQuery. J’ai corrigé dans la dernière version...

      @+

    Répondre à ce message

  • 6
    niko973

    Bonjour,

    Tout d’abord merci pour ce plugin tout a fait génial. Cependant, je bute sur quelques petits problèmes :

    1 / vivant en Guyane Française, et souhaitant zoomer sur les ville telles que Kourou, Cayenne ou Saint Laurent (en positionnant des points via des fichiers KLM) , le fond de carte Geoportail s’y refuse et reste figé sur un zoom de type pays ! La question est pourquoi ?? j’ai bien une clé d’utilisation Web de l’api Geoportail. Et les zoom en métropole ne posent aucun problème . Je pense que c’est du coté géoportail... mais si quelqu’un connait le fin mot de l’histoire je suis preneur... ;)

    2 / pour contourner, j’ai voulu utiliser Open Street Map et là mon soucis c’est que j’ai un décalage entre les points KML (issus de Google Earth) et la carto OSM. Ils sont tous situés plus bas que prévu... ou alors c’est la carte OSM qui est mal placée ???

    3 / du coup je me suis résolu à utiliser GMAP, mais là j’arrive pas à faire afficher par défaut la couche ROADMAP. Il m’affiche le Hybrid. Mais c’est pas glop. Pourtant j’ai bien vu dans le geoportail.js que les différentes couches de GMAP sont bien vérifiées. Mais je ne sais pas où lui indiquer que la couche par défaut c’est roadmap ! (alors que sur openstreetmap on a un petit formulaire qui nous permet de sélectionner les différentes couches souhaitées et surtout de sélectionner la couche à afficher par défaut).

    Merci d’avance pour toutes vos réponses :)

    Niko

    • Bonjour à la Guyane,

      1/ En fait, le Géoportail travaille par zone... et la Guyane (zone GUF) n’est pas en métropole (zone FXX) : voir ici pour les explications et ic pour les spécifications.

      Ce sont donc par défaut les cartes de la métropole qui s’affichent... et pas celle de la Guyane...

      Vous devez, dans votre cas, préciser la zone à la main lors de la création d’une carte :

      <geoportail0|zone=GUF>

      Dans l’espace privé, pour localiser un article, vous devez choisir la zone dans le menu au dessus de la carte.

      Je pense qu’il serai plus pratique de pouvoir choisir une zone par défaut dans la configuration du plugin...
      Je vais y réfléchir dès mon retour de vacances ;-).

      Désolé de ne pas avoir été très clair sur le sujet dans l’article...

      3/ Pour l’affichage des couches sous Google (la carte mais pas la photo) :

      <geoportail0|carto=1|ortho=0>

      Sur OSM, il on définit quelle carte on utilise lors de la configuration (mais pas d’image) et je ne sais pas pourquoi vous avez un décalage...

      @+

    • niko973

      C’est impecc’ ... ça m’a résolu tous mes soucis ... je reviens sur mon idée initiale d’utiliser Geoportail :)
      `
      Merci bcp et bonnes fins vacances :)

    • niko973

      Bonsoir,

      Heuu... désolé de polluer encore un peu le forum... mais en fait j’ai quand même le pb n° 2 cette fois avec Geoportail. A savoir que mes fichier KML pris sur Google Earth sont complètement décalé sur OSM et GEOP.

      un exemple ici http://test.pcp-a.info/spip.php?article1

      Y’a-t-il un autre moyen de régler ce soucis ? Par exemple comment créer des KML sur une base IGN puisqu’à priori c’est un décalage entre les fonds de carte qui est en cause ?

      Merci d’avance...

    • Bonjour,

      Peut-être est-ce Google qui est décalé ? Avez-vous fait des essais avec un GPS ?

      Sinon, vous pouvez modifier les coordonnées « à la main » dans votre KML avec un éditeur de texte... ou essayer de les placer un peu plus haut dans Google...

      @+

    • Bonjour,

      J’ai ajouté une option sur la page de configuration du plugin afin de permettre de choisir une zone géographique à utiliser par défaut, sur les formulaires de l’espace privé ou lorsqu’on ne précise pas de zone géographique à la création d’une carte.
      Bien sûr, vous pouvez toujours afficher une carte sur une autre zone en précisant le code de la zone à la création de la page...

      @+

    • niko973

      Bonjour,

      Merci bcp.
      Je viens de faire la màj du plugin et j’ai pu sélectionner la Guyane comme zone par défaut.
      Pour mes problèmes de KML, j’ai changé de méthode. J’ai épinglé directement dans géoportail.
      Encore merci.

    Répondre à ce message

  • 6

    Merci beaucoup pour ce superbe plugin !
    Nous n’avons aucun souci pour afficher des cartes IGN, toutes les options fonctionnent.
    En revanche, nous rencontrons des difficultés pour superposer des images, traces, punaises, vignettes,...aux cartes.
    Dans l’exemple ci-dessous nous affichons une carte centrée sur notre bâtiment (cela marche très bien) et nous souhaitons superposer notre logo (ou mettre une punaise) sur l’emplacement précis. Pour cela nous avons ajouté une image (jpg) à l’article qui s’est vu nommée doc421 puis nous avons géo-référencer le document à l’aide du formulaire (pas de souci) mais la seconde ligne n’est pas prise en compte, ni punaise, ni vignette...j’ai tenté l’ajout d’un KML contenant les coordonnées du point mais rien non plus...une idée ?
    Pour info, le plugin est à jour d’hier et la version de Spip est la 2.1.10

    <geoportail1|mode=GMAP|zoom=16|lon=5.76179100369|lat=45.19462006961>
    <doc421|geoportail|id_geoportail=1>
    • Bonjour,

      Le raccourcis doc_geoportail ne s’applique qu’aux documents géographique (les GPX, KML). Ici, vous voulez afficher une image.
      La syntaxe correcte est donc :

      <img421|geoportail|id_geoportail=1>

      Par contre, si votre document est bien un KML, la version avec doc devrait marcher, peut-être un pb de symbolisation... (tester votre KML avec GoogleEarth).

      @+

    • Merci, cela fonctionne parfaitement !

    • Bonjour,
      Je reviens vers vous pour l’affichage via un KML cette fois plutôt que d’afficher une vignette (ce qui marche toujours parfaitement).
      J’ai récupéré le KML sur votre page : http://grafreex.free.fr/?Affichage-d-un-KML-2, pour mettre de côté une erreur éventuelle de conception de notre KML via Google Earth mais lui non plus ne s’affiche pas en utilisant la syntaxe :

      <geoportail1|mode=GMAP|zoom=15.2|lon=5.77|lat=45.19462006961>
      <doc438|geoportail|id_geoportail=1>

      j’ai varié l’option du plugin :
      Type d’objets à Géoréférencer > Documents > Extraire depuis le fichier (coché ou décoché)
      mais sans effet...
      Le KML a bien entendu été ajouté à l’article puis géoréférencé automatiquement en cliquant sur l’icône papier+trombone du formulaire.

      Merci de votre aide,

      L.T.

    • Bonjour,

      Avez-vous bien une couche en plus dans la liste des couche (avec le nom du document) ?
      Sinon, il me faudrait un lien pour voir voir ce qui se passe...

      @+

    • Bonjour,

      J’ai corrigé une incompatibilité avec le plugin Accès restreint qui empèchait l’accès aux documents lorsque ceux-ci étaient protégés...
      Vous devriez avoir à nouveau accès à vos KML.
      Récupérez la nouvelle version du plugin !

      @+

    • Un grand merci pour votre réactivité et votre patience !
      Cet excellent plugin marche désormais parfaitement avec Accès Restreint.

    Répondre à ce message

  • 3

    Bonjour !

    Depuis quelques temps, j’ai des problèmes d’affichage avec ce plugin dans la partie publique.

    Le carte est bien là mais tout ne s’affiche pas dessus. Par défaut, j’ai un seul document KML qui s’affiche dedans. Ce qui est troublant, c’est que lorsque je me déplace dans la carte, tous les éléments manquants apparaissent (les autres documents KML et les marqueurs). Mais sitôt que je relâche le clic gauche sur la carte, tous ces éléments disparaissent. On dirait un bug d’affichage.

    Avez-vous connaissance ce problème ? Y a -t-il eu une modification importante de l’API Geoportail ces derniers temps qui entraînerait des problèmes de compatibilité ? Ce problème apparaît sur deux sites différents que j’ai conçus et dans deux navigateurs avec lesquels j’ai fait des tests.

    Geoffrey

    • Bonjour,

      Pas de problème chez moi. Avez-vous la dernière version du plugin ?

      Quelle version de SPIP ?

      Cordialement,

    • Le problème apparaissait avec une version 2.1.9 de Spip, avec une ancienne version du plugin je pense. Du coup, j’ai remis à Spip et le plugin, mais le problème apparaissait toujours.
      J’ai donc re-généré mes KML (avant via ArcGIS, maintenant via QGIS) : cela ne pose plus de problème. J’ai également re-généré certains KML directement via Google Earth : cela fonctionne aussi. Je crois savoir que le KML n’est pas un « vrai » standard : cela pourrait expliquer ces problèmes de compatibilité qui apparaissent parfois entre différentes façon de générer les KML !

      PS : mon site fonctionne encore en local, il n’est pas encore accessible sur internet.

    • Tant mieux si cela marche ! Le mieux est peut-être effectivement de passer par Google Earth...

      Bon courage pour la suite...

    Répondre à ce message

  • 1

    Cela me semble super puissant comme outil.. mais je n’arrive pas à valider le pointage sur la carte géoportail. J’ai mis ma punaise, je clique sur valider et là cela reste bloqué : la carte disparaît et les boutons sont grisés.
    Lorsque je fais f5 cela revient à zéro

    Tout mon répertoire a les droits 777.

    dd

    PS est-ce normal si le plugin n’apparaît pas dans la liste /ecrire/ ?exec=charger_plugin ?

    • Bonjour,

      Pas d’idée comme cela.
      Quelle version de SPIP ? Avez-vous testé en local ? Avez vous une page pour tester ?

      PS : Je ne sais pas pourquoi il n’apparait pas sur la page des plugins. Il me semblait que c’était la cas...

      Cordialement,

    Répondre à ce message

  • 3

    Bonsoir,

    Je viens de publier une carte. J’ai ajouter un fichier KML. super cela marche.

    Dans mon article, j’ai mis des images (photo). Je voudrai mettre une image (photo) dans ma carte avec des coord. lon. et lat. (comme une punaise) est-ce que cela est possible ? (on peut mettre un image sur la carte mais en passant par un article, mais je ne veux pas créer un article par photo)

    Merci de votre réponse.

    • Bonjour,
      Pas de problème pour cela, vous pouvez localiser une image (comme pour un article). En SPIP v.2, vous trouverez un lien directement sous l’icône de votre image, dans les 1.9, c’est au même niveau que pour l’article (menu déroulant).
      Pour afficher l’image XX, utilisez le raccourcis

      <imgXX|geoportail>

      (voir http://grafreex.free.fr/?Afficher-une-trace-GPS)
      @+

    • Excuse moi, mais je n’arrive pas à mettre l’image... voici les lignes de code :

      geoportail|mode=GEMAP|lon= XX |lat=YY|zoom=ZZ
      geoportail|punaise|lon= XX |lat=YY
      doc3657|geoportail
      img3660|geoportail

      J’ai mis entre < >

      Peut être j’ai fait une erreur !

    • Bonjour,
      As-tu bien localisé les images ?
      La punaise s’affiche-t-elle ? la trace du document kml ?
      As-tu un lien pour voir l’erreur ?
      @+

    Répondre à ce message

  • 3

    Bonjour,
    J’ai installé la version 1.01 du plugin Géoportail sur un site SPIP 2.1.10 et je rencontre un problème de rafraichissement de la saisie des coordonnées géographique d’un article : Après avoir cliqué sur le bouton « valider » et replié la zone de saisie en cliquant sur le lien « Coordonnées géographiques », les coordonnées saisies ne sont pas affichées. Il faut rafraichir la page pour qu’elles apparaissent.

    D’autre part, j’aurais des évolutions à suggérer :

    • Pouvoir associer les coordonnées géographiques à des événements du plugin Agenda, avec la possibiité de générer les coordonnées à partir de l’adresse de l’événement (mais est-ce possible ?).
    • Pouvoir associer plusieurs coordonnées à un objet (article, rubrique) ...

    Jean-Baptiste

    • Bonjour,

      J’ai pris en compte votre première remarque. Maintenant, les coordonnées s’affichent lors de la première validation sans avoir à rafraichir la page... et ne s’affichent plus lorsqu’on les efface (récupérez la dernière version).

      Pour le plugin Agenda, c’est théoriquement possible mais comme on ne peut pas insérer deux formulaires pour la saisie des coordonnées sur la même page et que les évènements s’affichent dans la page de l’article auquel ils sont associés (qui ont déjà un formulaire), pratiquement, c’est un peu plus compliqué.
      Il faudrait que les évènements aient leur propre page...

      Pour associer plusieurs coordonnées à un objet, je ne vois pas trop pour quelle utilisation (quelle coordonnée doit-on utiliser pour l’objet ?). Il y a également un problème pratique pour la saisie... Et pourquoi se limiter à des points et ne pas afficher des lignes ou des surfaces ? Dans ce cas, le plus simple est d’associer un fichier (gpx, kml) à votre objet.

      @+

    • Merci pour les améliorations.

      Concernant le plugin Agenda, la saisie d’un événement se fait sur une page dédiée, il me semble. Seule la liste des événements s’affiche dans la page de l’article.

      J’affiche des événements du plugin Agenda à côté d’une carte Google Map pour annoncer les prochains concerts de la fanfare La Band’Originale, le contenu de la carte étant actuellement saisi sur une Google Fusion Table. Je pensais donc à la possibilité de saisir les coordonnées géographique liées à un événement de manière ensuite à générer les infos bulles de la carte à partie des infos (titre, date, lieu) saisies dans le formulaire de l’événement.

      Sinon, je note pour le fichier kml.

      Jean-Baptiste

    • Bonjour,
      Effectivement, dans la v.2 du plugin Agenda, l’édition des évènements se fait sur une page dédiée.
      J’ai ajouté le pipeline pour l’affichage du formulaire dans sur la page dédiée (récupérez la dernière version). A noter cependant que le formulaire ne s’affiche pas lors de la création de l’évènement (la première fois) mais lors de la modification d’un évènement (lorsque l’évènement a été créé et a un identifiant). En toute logique, il faudrait que l’évènement ait une page dédiée à sont affichage (et pas juste à sa modification). Cela permettrait également de lui associer des mots clés...
      La récupération de la localisation se fait comme pour les autres objets à l’aide du critère geoposition.

      <BOUCLE_agenda(EVENEMENTS){geoposition}>

      ou sur la table geoposition :

      <BOUCLE_agenda(GEOPOSITIONS){objet=evenement}>

      @+

    Répondre à ce message

  • 9
    Geoffrey

    Bonjour,

    Tout d’abord merci pour ce plugin : il me permet d’afficher facilement des articles et des rubriques géoréférencés sur des cartes geoportail.

    J’aurais toutefois une question qui dépasse le cadre initial du plugin : j’aimerais pouvoir filtrer l’affichage des articles spip en fonction de champs spécifiques. Je m’explique : j’ai des bâtiments faisant l’objet d’un article que je souhaiterais filtrer selon leur commune d’implantation ou la date de leur construction. Via différentes solutions (création de nouvelles tables spip ou de nouveaux champs, implémentations de formulaires, etc.), on peut obtenir une liste déroulante avec des listes de choix. L’idée est que, selon le choix de l’utilisateur dans le menu déroulant, seuls les bâtiments datant du 19e siècle seraient affichés sur la carte par exemple. J’ai également essayé de passer par une structure s’appuyant sur des mots-clefs mais sans succès.

    Auriez-vous une piste de solution permettant de filtrer l’affichage des articles spip sur une carte géoportail à partir un mot-clef ou d’un nouveau champ créé ?

    Cordialement,

    • Bonjour,

      Le plus simple est de passer par des mots-clés... ou de regrouper vos articles dans des rubriques spécifiques.

      Ensuite, les raccourcis geoportail_articles et art_geoportail prennent en paramètre id_mot ou id_rubrique ce qui permet de n’afficher que les articles ayant ces caractéristiques.
      [(#MODELE{geoportail_articles}{id_mot=1}{id_rubrique=3})]

      Pour faire plus compliqué, il faut reprendre les modèles correspondants puisqu’ils reposent sur les mécanismes de boucle de SPIP (on pourrait envisager d’afficher le résultat d’une recherche par exemple...).

      @+

    • Geoffrey

      Je vous remercie pour ce message très rapide !

      Je pense avoir compris ce que vous expliquez avec les mots-clefs et les rubriques : c’est ce que j’avais commencé à faire. Le problème, c’est qu’il faut écrire « en dur » dans le modèle id_mot=1 ou id_rubrique=3. Ce que je souhaiterais, c’est laisser le choix des articles affichés à l’internaute via un menu déroulant, avec sans doute écrit dans le modèle quelque chose comme « id_mot=#ID ? » en fonction du contexte choisi par l’utilisateur.

      Par contre, je n’ai pas compris ce que vous vouliez dire à propos des résultats de recherche !

      Encore merci !

      Geoffrey

    • Bonjour,
      Vous devrez créer un squelette avec un formulaire (voir le squelette de recherche), afin de proposer à l’utilisateur un formulaire pour choisir le mot clé ou la rubrique dans une liste...
      On pourrait même envisager d’afficher le résultat d’une recherche (avec un critère recherche associé au critère geoposition).
      @+

    • Geoffrey

      Merci pour votre réponse !

      En fait, sans le savoir, j’ai mis en pratique votre système ! Cela fonctionne bien, mais il me reste malheureusement un dernier problème. Je n’arrive à filtrer l’affichage des articles que sur un seul mot-clef, car seul le dernier mot-clef sélectionné par l’utilisateur est gardé en mémoire lorsque la carte Geoportail est générée. Hors, dans mon cas, je dois faire passer trois mots-clefs vers le modèle Geoportail que j’ai créé (un pour la commune, un pour la date et un pour la typologie des bâtiments). Je pense que cela est facilement réalisable en passant par un tableau qui stockerait tous les mots-clefs sélectionnés et les utiliserait lors de la création de la carte Geoportail. Je crois que c’est assez simple à faire mais je ne m’y connais malheureusement pas assez !

      Sinon, j’ai peut-être une amélioration à vous soumettre à propos de la création de l’infobulle : j’ai modifié les modèles de fichier de façon à ce que le contenu des infobulles soit stocké dans un tableau JavaScript, lequel est entièrement rempli dans les fichiers de modèle Geoportail. Cela permet ensuite de modifier facilement le contenu des infobulles, au cas par cas selon ce que l’on souhaite y voir affiché, sans avoir à modifier le fichier geoportail.js  !

      En tout cas, merci encore !

    • Bonjour,
      Pour une recherche sur plusieurs mots clé, il y a la commande IN dans les critères de boucle :

      <BOUCLE_a(ARTICLES){id_mot IN #ID_MOT1,#ID_MOT2,#ID_MOT3}>

      devrait marcher.

      Pour le formatage des infobulles, le passage par un modèle permettrait effectivement une meilleure prise en main...

      @+

    • Geoffrey

      Bonjour,

      J’ai testé le fichier que vous m’avez envoyé : j’arrive sensiblement au même résultat qu’avec mes fichiers ! A la différence près que, lors de l’actualisation de la page, le mot-clef qui a été sélectionné reste toujours sélectionné dans la nouvelle page (via le critère « selected » je suppose).

      Voici mon formulaire pour le moment :

      <form action="#URL_RUBRIQUE" method="post">
      	
      	<select name="id_mot">
      		<option value="">Toutes les époques</option>
      		<BOUCLE_menu_mots_1(MOTS) {id_groupe=3} {par titre}>
      		<option value=#ID_MOT [(#ENV{id_mot}|=={#ID_MOT}|?{selected})]>#TITRE</option>
      		</BOUCLE_menu_mots_1>
      	</select>
      
      	<select name="id_mot">
      		<option value="">Toutes les communes</option>
      		<BOUCLE_menu_mots_2(MOTS) {id_groupe=4} {par titre}>
      		<option value=#ID_MOT [(#ENV{id_mot}|=={#ID_MOT}|?{selected})]>#TITRE</option>
      		</BOUCLE_menu_mots_2>
      	</select>
      	
      	<input type="submit" value="Générer la carte">
      
      </form>

      Voici le modèle de carte appelé juste au-dessous dans le même fichier :

      [(#MODELE{articles_geoportail}{id_geoportail=0}{id_mot}]

      Et voici la boucle présente dans le fichier de modèle articles_geoportail permettant de filtrer l’affichage des mots-clefs :

      <BOUCLE_geo_articles(ARTICLES){id_secteur=2}{id_mot?}{geoposition}{0,#ENV{max,200}}>

      Le problème, c’est toujours le fait qu’un seul mot-clef est transmis à chaque choix effectué par l’utilisateur. Un tableau Spip permettrait sûrement de garder en mémoire plusieurs mots-clefs, mais je ne sais pas comment les utiliser ! Vous aviez parlé des balises #ID_MOT1, #ID_MOT2 et #ID_MOT3 mais je ne sais pas comment les utiliser non plus !

    • Geoffrey

      Donc, finalement, avec les indications fournies par l’auteur, j’ai réussi à faire des filtres sur les articles affichés dans le cartes. Voici comment procéder pour ceux qui seraient intéressés.

      Il faut d’abord créer un formulaire dans le fichier de rubrique où vous souhaitez voir apparaitre la carte. Il doit prendre cette forme :

      <form action="#URL_RUBRIQUE" method="post">
      	
      	<select name="id_mot1">
      		<option value="">Toutes les époques</option>
      		<BOUCLE_menu_mots_1(MOTS) {id_groupe=3} {par titre}>
      		<option value=#ID_MOT [(#ENV{id_mot}|=={#ID_MOT}|?{selected})]>#TITRE</option>
      		</BOUCLE_menu_mots_1>
      	</select>
      
      	<select name="id_mot2">
      		<option value="">Toutes les communes</option>
      		<BOUCLE_menu_mots_2(MOTS) {id_groupe=4} {par titre}>
      		<option value=#ID_MOT [(#ENV{id_mot}|=={#ID_MOT}|?{selected})]>#TITRE</option>
      		</BOUCLE_menu_mots_2>
      	</select>
      
      	<input type="submit" value="Générer la carte">
      
      </form>

      Le nombre de « select » peut être infini a priori, afin d’effectuer une recherche multi-critères.

      Le modèle de carte inséré dans ce fichier de rubrique doit ressembler à cela :

      [(#MODELE{articles_geoportail}{id_geoportail=0}{id_mot1}{id_mot2}]

      Et dans le fihcier de ce modèle de carte, la boucle permettant de parcourir les articles en fonction des critères doit ressembler à ça :

      <BOUCLE_geo_articles(ARTICLES){id_mot IN #ID_MOT1,#ID_MOT2}{geoposition}{0,#ENV{max,200}}>

      J’espère que cela aidera un jour quelqu’un !

    • Geoffrey

      Bonjour,

      Finalement, ma technique ne fonctionne pas... Je m’en suis rendu compte il y a quelques jours...

      En fait, au lieu de filtrer l’affichage des articles sur deux critères en même temps (le lieu et l’époque par exemple), le système filtre sur ces critères séparément. C’est-à-dire qu’au lieu de sélectionner les articles répondant aux critères « époque=1800 » et « lieu=Camplong », la recherche multicritère sélectionne tous les articles répondant au premier critère, puis tous ceux répondant au second critère... Donc au lieu d’appliquer un « ET », le système actuel applique un « OU inclusif ».

      Je pense que le problème vient de cette boucle :

      <BOUCLE_geo_articles(ARTICLES){id_mot IN #ID_MOT1,#ID_MOT2}{geoposition}{0,#ENV{max,200}}>

      La structure « IN » ne permet pas l’utilisation d’un « ET ». Il faudrait trouver une autre syntaxe.

      Quelqu’un a-t-il une idée ? Merci d’avance !

    • Bonjour,
      En effet, IN correspond à un OU (une des valeur est présente), essayez quelque chose du genre :

      <BOUCLE_geo_articles(ARTICLES){id_mot=#ID_MOT1}{id_mot=#ID_MOT2}{geoposition}{0,#ENV{max,200}}>

      Le problème, dans ce cas, est que les deux id_mot doivent être renseignés...
      Sinon, il vous faudra tester si un des id_mot est nul et faire un inclure sur un fichier n’ayant qu’un seul id_mot ou deux suivant le résultat du test...
      @+

    Répondre à ce message

  • 2

    Bonjour ,
    pour insérer une carte les articles d’une rubrique n
    (et semblablement pour, les auteurs, centrer, accés direct, superposer une image) :

    <geoportailX|articles|id_rubrique=n>
    <geoportailX|geoauteurs> , <geoportailX|centrer|id_article=n> , ...

    par contre pour afficher un article (trace, doc, punaise, ...) :

    <artY|geoportail|id_geoportail=X>
    <docY|geoportail|id_geoportail=X> , <imgY|geoportail|id_geoportail=X> , ...

    Il y aurait le moyen d’uniformiser : geoportailX|artY> , ou il y a une impossibilité informaticienne ?

    ps
    -  dans la doc ci-dessus geoportailX|geoarticles|id_rubrique=n , geoportailX|articles|id_rubrique=n marche aussi ...
    -  si une seule carte on peut omettre le n°X et ne pas spécifier d’ id_ : artY|geoportail>

    • Bonjour,

      En fait, il s’agit de deux façon différentes de faire la même chose.
      Ainsi :

      <geoportailX|articles|id_rubrique=n>

      équivaut à :

      <geoportailX>
      <art|geoportail|id_geoportail=X|id_rubrique=n>

      La première inclue une carte dans sa définition (raccourcis), la seconde est plus souple puisqu’elle permet d’enchaîner plusieurs insertion sur la même carte.
      Il faudrait peut-être ajouter un aut_geoportail... et geoportail_punaise et geoportail_image ne sont pas cohérent puisqu’il ne définissent pas de carte.
      PS : la syntaxe <geoportailX|artY> n’est pas valide, il faut spécifier le paramêtre avec un signe « = ».

      + je corrige le geo en trop dans la doc, merci.

      @+

    • Bonjour,

      j’entends bien,
      « <geoportailX|artY> n’est pas valide , geoportail_punaise et geoportail_image ne sont pas cohérent puisqu’il ne définissent pas de carte. »
      Mais la suite de déclaration suivante est bien valide ? (elle marche ...) :

      <geoportail|documents|id_article=X>
      <geoportail|centrer|id_article=X>
      <artY|geoportail>
      <geoportail|punaise|lon=2.4740|lat=48.4998>

      on voit que la tentation est grande ligne 3. d’écrire <geoportail|artY>

      Ma question était donc serait-il possible que cette syntaxe soit valide ?

      (ou bien à l’inverse que les syntaxes geoportail|Truc soit réservées pour insérer une carte
      les syntaxes Truc|geoportail ajoutant ou faisant qcq chose sur la carte
      avec X et |id_geoportail=X si plusieurs cartes)

      moi je m’en débrouille (encore que ...) mais peut être serait-ce plus simple à appréhender ainsi

      @+

    Répondre à ce message

  • 2
    Marc Chassande

    Bonjour, étant nouvel utilisateur de SPIP, j’installe dans le cadre de mon stage un site d’affichage des couches du projet d’infrastructure de l’entreprise qui m’accueille.
    J’utilise pour cela le plugin Geoportail.

    J’ai réussi à afficher des traces à partir de fichiers KML produits en interne, ainsi que différents flux WMS, comme ceux du BRGM par exemple... or je souhaite réaliser des couches BRGM selon la méthode de « gestion des couches géoportail » et je n’y parviens pas.

    En fait, je peux afficher un flux WMS avec soit :
    1 couche = 1 layer WMS
    1 couche = plusieurs layers WMS

    Mais si j’affiche 1 couche = plusieurs layers WMS, elles se superposent sans que je puisse les sélectionner indépendamment, ce qui m’oblige à réaliser une multitude de couches, par exemple :
    BRGM - Cavités
    BRGM - Inondations
    etc...

    J’aimerai savoir s’il est possible d’afficher une seule couche BRGM, où je pourrais sélectionner dans une sorte de « sous menu de couche » les cartes à afficher ou non, afin d’éviter une liste de couches interminables...

    Je précise également que je n’ai pas d’onglet sous mes couches, je parle du petit bandeau orange avec toutes les petites flèches qui doivent surement permettre d’avoir des menu de « sous couche »... peut-être que mon problème vient de là...

    Si je n’ai pas été clair, je serai très réactif pour répondre à vos questions.

    Merci pour ce plugin très utile.

    • Bonjour,

      Ce n’est pas prévu dans le plugin : 1 service WMS = 1 couche...
      Cela n’est pas non plus prévu dans l’API Géoportail : le bandeau orange ne permet pas d’afficher des sous-couches...

      Par contre, tout n’est pas perdu si vous avez quelques notions de javascript : l’API est basée sur OpenLayers qui permet de gérer des layers aggregate. Il est donc possible de faire ce que vous voulez (c’est ce qui est fait pour les service de type géoportail) : un agrégat est une somme de couche.
      Pour cela, vous devez déclarer dans votre page une fonction js initSpipMap (map, id) qui sera appelée lorsqu’une carte est chargée. Dans cette fonction, il vous faudra rechercher les couches que vous voulez agréger (recherche dans le nom ou l’URL du service) afin de les intégrer à un layer aggregate. Vous pouvez regarder dans la fonction addGeoservice() (case "GeoPortail":) du fichier js/geoportail.js du plugin.

      Cela n’arrangera cependant pas votre problématique d’affichage : comme je le disait la fenêtre de couche (bandeau orange) ne permet pas d’afficher les sous-couches, mais rien ne vous empêche de créer dans la fonction ci-dessus une liste de lien pour afficher / masquer vos sous-couches. C’est la méthode setVisibility() de l’objet layer qui permet de faire cela...

      @+

    • Marc Chassande

      Merci pour cette réponse rapide et complète, c’est très appréciable.

      Je ne suis pas expert en javascript, mais je vais me pencher sur la question, j’arriverai peut-être à en tirer quelque chose, et si c’est le cas je ferai en sorte de vous le transmettre, même si j’ai peu d’espoir d’y parvenir rapidement...

    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