spip-geoportail
DESCRIPTION
Présentation du plugin SPIP-Geoportail. Affichage de carte dans SPIP.TRANSCRIPT
SPIP-Géoportail- Fonctionnement et utilisation -
Jean-Marc Viglinohttp://www.spip-contrib.net/Plugin-SPIP-Geoportail
Présentation générale(que fait le plugin ?)
2
Que fait le plugin ? Espace privé :
localisation des objets SPIP.(ajout d’un formulaire de localisation)
Gestionnaire de couches (WMS, Géoportail)
Espace public : affichage de cartes ;
affichage d’objets SPIP sur les cartes ;
affichage de documents géographiques (GPX, KML, …)
gestions de couches
Programmation : encapsulation de l’API
Géoportail (OpenLayers)
3
Installation et configuration
4
Installation
Le plugin s'installe comme tout bon plugin qui se respecte.Il est compatible avec les version 1.9.2n, 2.x et 3.0 de SPIP.
• Documentation officielle pour installer un plugin : http://www.spip.net/fr_article3396.html.
Il ajoute un menu dans le menu Configuration de SPIP.
ICI
5
Configuration- clés d’utilisation -
En premier lieu, vous devez demander une clé sur le site de l’API Géoportail.
Vous pouvez demander des clé Bing ou Yahoo si vous voulez afficher des cartes dans ce mode.
Google Maps et OSM ne nécessitent pas de clé…
Vous pouvez choisir un logo qui personnalisera les couches du site sur
la carte.
Choisissez les serveurs OSM et celui que vous voulez afficher…
6
Configuration- options -
Le plugin affiche des popups lorsque vous cliquez sur un objet SPIP affiché sur la carte. Vous pouvez choisir la forme de ces popups.
Le plugin peut ajouter un menu dans le menu édition (SPIP v. < 3). Les services sont toujours accessibles via les raccourcis de configuration(voir § les Géoservices).
Choix du fournisseur et zone géographique (territoire) par défaut.
Sélectionner les objets pour lesquels s’affichera un formulaire de localisation.
En SPIP v.2, il est possible d’extraire automatiquement la localistion du fichier (GPX, KML ou JPG avec un tag EXIF de localisation).
Le plugin propose de choisir un système de coordonnées si on veut saisir les coordonnées à la main dans les formulaires.
7
Localisation des objets
8
Localisation des objets- formulaire -
Le plugin ajoute un nouveau formulaire sur la page des objets pour permettre de les localiser sur une carte*.
* sauf pour les documents qui n’ont pas de page spécifiques.
Cliquer sur la flèche à gauche pour
déplier le formulaire.
Positionnez l’article au centre de la carte
Positionnez l’articlesur une adresse
9
Localisation des objets- description du formulaire -
Mode de carte définit le fournisseur (on peut choisir le mode par défaut lors de la configuration du plugin).
Déplier(cliquer sur le bandeau pour ouvrir)
Affichage couchesOpacité des couches
Choix du territoire. Pour que le territoire s’affiche correctement, il ne faut pas avoir déjà positionné une punaise sur la carte (sinon, on se recentre sur la punaise quoiqu’il arrive !).
Coordonnées de l’objet
Récupérer la position du conteneur de l’objet à localiser (la rubrique parente ou l’article auquel est associé le document).
Placer l’objet au centre de la carte
Position de l’objet (cliquer + tirer pour déplacer la punaise)
Recherche par adresse (utilise la recherche du Géoportail : il faut être abonné aux couches OpenLS du Géoportail)
Raccourcis OpenLayers :• shift+clic+tirer = zoom rectangulaire• mollette = zoom / dézoom• +/- = zoom/dézoom• les flèches pour se déplacer• cliquer+tirer pour se déplacer
10
SPIP 1.9 :Il faut sélectionner le document dans le menu de l’article (ou la rubrique) à auquel il est associé
SPIP 2.x :Le lien est directement disponible sous le document(SPIP peut rechercher la position dans le document si la case est coché dans le menu de configuration)
Localisation des objets- les documents -
Le lien ouvre une page permettant de localiser le document
Si le document contient un positionnement (KML, GPX ou JPG avec un tag EXIF), une nouvelle icône apparaît pour lire la position dans le fichier.
11
Insertion d'une carte(les modèles)
12
Afficher une carteLe modèle geoportail permet d’insérer une carte sur une page SPIP.
Paramètres : id_geoportail : identifiant de la carte (unique de préférence !) article : permet d’afficher les traces (KML, GPX) associés à l’article sur la carte
(center pour se centrer sur le document). 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), YHOO
(Yahoo ! Maps), BING (Bing Maps) type : 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)
13
ou type=Standardou OpenLayers
Afficher une carte- dans un squelette -
Le mode indique le type de service qu’on veut afficher : GEOP pour le Geoportail, GMAP pour Google Maps, OSM pour OpenStreetMap 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 (par défaut id_géoportail=0).
[(#MODELE{geoportail, id_geoportail=1,mode=GEOP, lon=5.04,lat=47.32,zoom=17, ortho=0,carto=0.8, overview=1})]
Si vous demandez une carte de situation (overview). Celle-ci s’affichera dans la div ayant l’identifiant overviewMap si celle-ci existe (et prendra la taille de cette div), sinon, elle s’ajoutera à la div id=navigation de SPIP (avec une taille : 160x160).
Type d’affichage par défaut
Si vous déclarez plusieurs cartes avec le même identifiant, une seule va s’afficher. Cet identifiant va servir a jouter des fonctionnalités aux cartes.
14
Afficher une carte- dans un article -
Afficher une carte :
<geoportail1|mode=GEOP|lon=5.04|lat=47.32|zoom=17|ortho=0|carto=0.8>
Mon article
Afficher une carte :
On utilisera le raccourcis <geoportail> correspondant au modèle pour afficher une carte dans un article.
Les cartes ne s’affiche pas dans l’espace privé (pour ne pas ralentir la consultation des pages). Seule une image de la carte s’affiche. Il faut pré visualiser l’article pour voir la carte.
Les cartes ne s’affiche pas dans l’espace privé
15
16
Afficher une carte- les territoires -
L’API Géoportail permet d’afficher les cartes les différents territoires français (France métropolitaine et DOM/TOM).
Il faut cependant préciser la zone géographique à afficher pour que les cartes soient chargées dans l’API.
Le territoire par défaut est la France métropolitaine (zone=FXX), sauf si vous l’avez changé lors de la
configuration du plugin.
Pour la liste des zones disponible au travers de l’API, reportez vous à la liste des territoires sur le site de l’API (
http://api.ign.fr/geoportail).
Code Nom du territoire
FXX France métropolitaine
GLPSBASMA
GuadeloupeSaint-BartélémySaint-Martin
GUF Guyane
MTQ Martinique
MYT
MayotteJuan de NovaGlorieusesTromelin
NCL Nouvelle Calédonie
PYF Polynésie Française
REURéunionIles Basas da IndiaEuropa
SPM Saint Pierre et Miquelon
WLF Wallis et Futuna
CRZ Crozet
KER Kerguelen
ASP Saint-Paul and Amsterdam
ATF Dumont d'Urville
WLD La Terre
Texte :Affichage d’une carte de la Réunion :
<geoportail0|zone=REU>
16
Afficher des objets sur la carte(les modèles)
17
Le modèle affiche l’article sur la carte. Si l’article a un logo, c’est ce logo qui est utilisé, sinon, une punaise. Une bordure est placée autour du logo pour une meilleure visualisation (couleur et largeur paramétrable). L’image est cliquable et affiche un résumé de l’article.
Afficher un articlessur une carte
Le modèle art_geoportail permet d’afficher un article sur une carte.Paramètres : id_article : identifiant de l’article à afficher (doit avoir une localisation) titre : titre de la couche, défaut : le titre de l’article (il n’y a qu’une seule couche pour tous les objets insérés). id_geoportail : identifiant de la carte sur laquelle on affiche l’article (elle doit avoir été déclarée au préalable) id_rubrique : affiche tous les articles de la rubrique (si id_article n’est pas défini) id_secteur : affiche tous les articles du secteur (si id_article n’est pas défini) id_mot : affiche tous les articles lié à un mot clé (si id_article n’est pas défini) id_groupe : affiche tous les articles lié à un groupe de mot clé (si id_article n’est pas défini) taille : taille du logo (en pixels) bord : taille des bords du logo (en pixels) couleur : couleur du bord du logo (blanc par défaut) align : « center » indique qu’on veut se centrer sur ce point (au niveau de zoom donné dans l’article).
Texte :
Dans un article, afficher l’article 1 sur la carte 0 :
<geoportail0><art1|geoportail|center|id_geoportail=0>
Dans un article, on utilisera le raccourcis <art|geoportail>.
[(#MODELE{art_geoportail, id=1, id_geoportail=0, align=center})] Exemple 1 :
Exemple 2 : [(#MODELE{art_geoportail, id_rubrique=1})]
Cet exemple affiche tous les article de la rubrique 1 sur la carte 0 (par défaut id_geoportail = 0).
18
Afficher un document(une image)
Le modèle img_geoportail permet d’afficher une image sur une carte.Paramètres : id_document : identifiant du document à afficher (KML ou GPX) id_geoportail : identifiant de la carte sur laquelle on affiche l’article (elle doit avoir été déclarée au préalable) titre : titre de la couche, défaut : le titre du document (il n’y a qu’une seule couche pour tous les objets insérés). taille : taille du logo (en pixels) bord : taille des bords du logo (en pixels) couleur : couleur du bord du logo (blanc par défaut) align : « center » indique qu’on veut se centrer sur ce point (au niveau de zoom donné dans le document).
Texte :
Dans un article, afficher le document 1 sur la carte 0 :
<geoportail0><img1|geoportail|center|id_geoportail=0>
Exemple :
Le modèle affiche le logo du document sur la carte. Une bordure est placée autour du logo pour une meilleure visualisation (couleur et largeur paramétrable).
L’image et cliquable et affiche un aperçu du document (si c’est une image). Il est également possible. Si c’est une image on peut l’afficher en grand écran.Une infobulle peut s’afficher au survol si vous avez activé l’option dans la configuration.
[(#MODELE{img_geoportail, id_document=1, id_geoportail=0, align=center})]
19
geoportail.css
Afficher un document(trace)
Le modèle affiche le document sur la carte et ajoute une couche dans le gestionnaire de couche avec le nom du document.
Le modèle doc_geoportail permet d’afficher un document (trace) sur une carte (GPX, KML).Paramètres : id_document : identifiant du document à afficher (KML ou GPX) id_geoportail : identifiant de la carte (doit avoir été déclarée avant) align : « center » indique qu’on veut se centrer sur la trace. titre : titre de la couche. couleur : couleur de la trace style : solid | dot | dash | dashdot | longdash | longdashdot largeur : largeur du trait
Texte :
Dans un article, afficher la trace 1 sur la carte 0 :
<geoportail0><doc1|geoportail|center|id_geoportail=0>
[(#MODELE{doc_geoportail, id_document=1, align=center})]
Exemple :
#geoportailDefaultStyle { width: 2px;
background-image: url(../img/punaise.png);
border-style: solid; border-width: 2px; border-color: blue;
}
Personnalisez l’affichage des traces (GPX) directement dans le fichier css : style #geoportailDefaultStyle et #geoportailSelectStyle (pour le style de la sélection).width : taille des points border-style : image pour les pointsborder-style : style des lignes (solid, dashed ou dotted)border-width : largeur des lignesborder-color : couleur
20
Afficher un profil(trace)
Le modèle affiche le profil de la trace.
Le modèle gpx_profil permet d’afficher le profil d’une trace GPX (si le GPX a des informations d’altitude).
Paramètres : id_geoportail : pour afficher un curseur sur la carte lors du survol du profil centrer : Centrer la carte sur le point - 0: ne pas centrer, 1: centrer la carte, defaut : centrer si sort de la carte symbol : symbole du point a afficher sur la carte : poi, auto, velo, rando ou rando2 couleur : couleur du profil (blue ou #00F ou #0000FF) zmin, zmax : bornes pour l‘échelle des Z amplitude : amplitude du Z (si ne défini pas zmin et zmax) graduations : graduation de l'axe des Z
Texte :
Dans un article, afficher la trace 1 sur la carte 0 :
<geoportail0><gpx1|profil|id_geoportail=0>
[(#MODELE{gpx_profil, id_gpx=1, id_geoportail=0})]
Exemple :
21
Superposer une imageLe modèle geoportail_image permet de superposer une image sur une carte.Paramètres : id_geoportail : identifiant de la carte sur laquelle on affiche l’article (elle doit avoir été déclarée au préalable) id_document : identifiant de l’image à afficher xmin, ymin, xmax, ymax : coordonnées des coins de l’image (en longitude/latitude) opacity : transparence du calque (entre 0 et 1) visibility : afficher le calque ? minz, maxz : zoom minimal et maximal pour lesquels on affiche le calque de l’image. align : « center » indique qu’on veut se centrer sur ce point.
Ce modèle permet d’afficher une image en superposition du fond cartographique. Il faut pour cela donner les coordonnées des coins de l’image (latitude et longitude minimales et maximales).
Exemple :
[(#MODELE{geoportail_image, id_document=1,xmin=4.32,xmax=4.36,ymin=47.61,ymax=47.65})]
Texte :
Dans un article, afficher le document 1 sur la carte 0 :
<geoportail0><geoportail0|image|id_document=1|xmin=4.32|xmax=4.36|ymin=47.61|ymax=47.65|>
22
Cartes d’articles et d’auteurs
Les modèles geoportail_articles et geoportail_auteurs permettent d’afficher une carte d’article ou une carte d’auteur.Paramètres : id_geoportail : identifiant de la carte sur laquelle on affiche l’article (elle doit avoir été déclarée au préalable) taille : taille du logo (en pixels) bord : taille des bords du logo (en pixels) couleur : couleur du bord du logo (blanc par défaut) align : « center » indique qu’on veut se centrer sur ce point (au niveau de zoom donné dans l’article). les paramètres du modèle geoportail
Pour geoportail_articles : id_article : identifiant de l’article à afficher (doit avoir une localisation) id_rubrique : limiter à une rubrique id_secteur : limiter à un secteur id_auteur : limiter aux articles de l’auteur id_mot : limiter à un mot clé id_groupe : limiter à un groupe de mot clés
Attention ces deux modèle crée une carte : cela revient en fait à enchainer les modèles geoportail et une boucle sur les articles.
Ils sont utilisés sur la page geopotail_articles et geoportail_auteurs qui affichent les articles et les auteur du site sur une carte : http://monsite/spip.php?page=geoportail_articles et http://monsite/spip.php?page=geoportail_auteurs.
23
Associer une légende
Texte :
Dans un article, afficher les articles de la rubrique1 avec une légende :<geoportail0><geoportail|article|legende=1|id_rubrique=1>
[(#MODELE{geoportail_articles, legende=1, id_rubrique=1})] Exemple : afficher les articles de la rubrique 1 en utilisant les mots-clé comme légende.
Le plugin permet d’utiliser un groupe de mot-clé comme légende sur la carte grâce au modèle geoportail_articles.
Paramètres : legende : identifiant du groupe de mot-clé utilisé comme légende
24
DiversSynchronisation : permet de synchroniser plusieurs cartes.[(#MODELE{geoportail_synchro, id_geoportail=0,1,2})] ou <geoportail|synchro|id_geoportail=0,1,2> Paramètres : id_geoportail : liste des cartes à synchroniser (séparées par des virgules)
Accès direct : affiche un lien direct vers la page avec la position sur la carte.[(#MODELE{geoportail_geolien, id_geoportail=0})] ou <geoportail|geolien> Paramètres : id_geoportail : identifiant de la carte concernée
Menu de zones (territoires) : affiche un menu pour changer de territoire.[(#MODELE{geoportail_geozone, id_geoportail=0})] ou <geoportail|geozone>
25
Centrer : permet de ce centrer sur un objet.[(#MODELE{geoportail_centrer, id_geoportail=0, id_article=1})] ou <geoportail|centrer|id_article=1>
Paramètres : id_geoportail : identifiant de la carte sur laquelle on affiche l’article (elle doit avoir été déclarée au préalable) id_article : centrer sur un article id_document : centrer sur un document id_rubrique : centrer sur une rubrique id_article : centrer sur un article
Punaise : affiche une umage (punaise) sur la carte.[(#MODELE{geoportail_geolien, id_geoportail=0})] ou <geoportail|punaise>
Paramètres : id_geoportail : identifiant de la carte sur laquelle on affiche la punaise lon, lat : position image : fichier d'image (dans le dossier img de son squelette),
par defaut img/punaise.png titre : titre a afficher dans le popup description : une info a afficher dans le popup url : lien a mettre dans le popup taille : taille de l'image sur la carte align : top, left, bottom, right ou combinaison : top-left...
Divers
26
Fonctionnalités spécifiques
27
Flux géoRSS
Le plugin ajoute un flux GeoRSS au travers de la page http://georss.monsite_SPIP/spip.php?page=georss.Ce type de flux, en plus d’un RSS classique contient les informations de localisation des articles.
28
Formulaire auteur
La balise #GEOPORTAIL_FORMULAIRE_AUTEUR affiche un formulaire pour la saisie de la localisation de l’auteur identifié. Il permet à un visiteur de définir sa position depuis l’espace public.
[(#GEOPORTAIL_FORMULAIRE_AUTEUR{titre,deplie})]
Paramètres : • titre : le titre du fomulaire• deplie : Le formulaire est déplié par défaut
Ils est utilisé sur la page geoauteur : http://monsite/spip.php?page=geoauteur.
La balise #GEOPORTAIL_FORMULAIRE permet d’afficher un formulaire géoportail pour un objet quelconque (il reprend pour cela le contexte de la boucle dans laquelle il est inclus).
Attention il convient de définir les autorisations correspondantes pour assurer que la personne qui fait la saisie a le droit de modifier les coordonnées de l’objet.
29
Utilisation avancée(boucles et tables)
30
Table de positionsLe plugin déclare une table GEOPOSITIONS qui fait le lien entre les objets SPIP et leur position.
#ID_GEOPOSITION : identifiant de la position #ID_OBJET : identifiant de l’objet #OBJET : objet positionné (par exemple ‘article’ ou ‘document’) #LON, #LAT : localisation de l’objet #ZOOM : niveau de zoom #ZONE : zone où on se trouve #ID_DEP : identifiant du département (si utilise un RGC) #ID_COM : identifiant de la commune (si utilise un RGC)
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>
Les champs #ID_DEP et #ID_COM ne sont renseignés que si un RGC est déclaré (voir §. Ajouter un répertoire géographique).
31
FiltresLes 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.
Exemple : <BOUCLE_a(ARTICLES){geoposition}> #ID_ARTICLE - [(#LON|geoportail_longitude{true})],[(#LAT|geoportail_latitude{true})] </BOUCLE_a>
Donnera : 1 - 6°21’ 37.5" E , 43°29’ 27.2" Nau lieu de : 1 - 6.36042897558 , 43.49087530174
Le filtre geoportail_region renvoie la liste des départements d’une région. Ce critère peut être utile lorsqu’on utilise un répertoire géographique afin de sélectionner les objets dans une région.
Exemple : [(#SET{region,alsace})] <BOUCLE_a(ARTICLES){geoposition}{id_dep IN #GET{region}|geoportail_region> #ID_ARTICLE </BOUCLE_a>
32
Les Géoservices
33
Les géoservicesLe plugin permet d’ajouter des couches en se branchant sur des services disponibles sur le net (géoservices).
Les couches sont disponibles dans le gestionnaire de couches des cartes.
Le Géoportail propose un certain nombre de couches (à choisir lors de la création de la clé).
On peut ajouter de nouveaux services à partir de l’interface d’administration du plugin
Niv
eau
d’a
ffich
age
34
Types de servicesLe plugin permet d’ajouter des couches en se branchant sur des services disponibles sur le net (géoservices). Différents types de service sont disponibles.La liste des services est disponible à parti de l’interface d’administration du plugin
Ordre d’affichage des couches : les niveaux les plus haut s’afficheront au dessus
Ajouter un nouveau service
Les services supprimés ne s’afficheront pas
Les services proposés sont en attente
Les services publiés s’afficheront
Le plugin gère les services WMS, KML, OSM, MTS et GeoPortail
Affichage de la couchedu Sandre et du BRGM
35
Ajouter un service
Définition du service
Paramètres d’affichage
Paramètres descriptifs
URL du service et information des couches à afficher
Les niveaux d’affichage gèrent l’empilement de couches (les plus haut s’affichent au dessus).
Opacité de la couche 1:opaque, 0:transparent
Niveau de zoom entre lesquels la couche s’affiche
Si la case est cochée, la couche s’affichera par défaut.
Le logo des couches ayant un même nom d’association ne s’affichera qu’une seule fois.
On peut ajouter de nouveaux services à partir de l’interface d’administration du plugin
36
Les services WMSWeb Map Service ou WMS est un protocole de communication standard qui permet d'obtenir des cartes de données géoréférencées à partir de différents serveurs de données. (source Wikipédia)
Vous pouvez récupérer les information liés au service (nom des couches) à l’aide de la commande GetCapabilities :http://geoservices.brgm.fr/geologie?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
NB : le service interrogé doit être compatible avec la carte utilisée (en particulier la projection). Vérifiés également les droit d’utilisations associé à ce type de service.
url du service
37
Les services KMLCe type de service regroupe l’accès à des fichiers KML ou GPX.Vous pouvez utiliser un fichier KML sur un serveur ou un lien vers un document SPIP (docXX).
Les couches KML sont interrogeables
NB : Les principes de sécurité font qu'il est interdit de lire des données sur un autre site que le site ayant envoyé la page web.Un service mandataire (proxy) est donc obligatoire, pour charger une couche distante (GPX ou KML).Reportez vous au §Utilisation d’un proxy pour configurer celui-ci afin d’accéder à un KML distant.
url du fichier ou référence à un document (docXX)
38
Les services GeoPortailLes services de type GeoPortail permettent de réorganiser les couches disponibles dans l’API géoportail.On peut ainsi modifier leur ordre d’affichage (niveau), supprimer des couches ou fusionner plusieurs couches en une seule.
La couche « Réseau de transport » fusionne les couches réseau routier et réseau ferré
La couche« Rivières et fleuves »sera sous la couches
« Réseau de transport »(niveau 1 < 3)
Les services GeoPortail avec un statut « à la poubelle » ne s’afficheront plus !
39
Services GeoPortailCode des principaux services… …nom de la couche
ADMINISTRATIVEUNITS.BOUNDARIES Limites administratives
BUILDINGS.BUILDINGS Constructions
CADASTRALPARCELS.PARCELS Parcelles cadastrales
ELEVATION.SLOPES MNT (image en teintes hypsométriques)
GEOGRAPHICALGRIDSYSTEMS.MAPS Cartes scannées, quelque soit leur échelle
GEOGRAPHICALNAMES.NAMES Noms de lieux
HYDROGRAPHY.HYDROGRAPHY Réseaux hydrographiques
ORTHOIMAGERY.ORTHOPHOTOS2000-2005 Photographies aériennes 2000-2005
ORTHOIMAGERY.ORTHOPHOTOS Ortho-photographies, quelque soit leur résolution
ELEVATION.LEVEL0 Traits de côte
TRANSPORTNETWORKS.RAILWAYS Réseaux ferroviaires
TRANSPORTNETWORKS.ROADS Réseaux routiers
TRANSPORTNETWORKS.RUNWAYS Pistes d'aéroports, d'aérodromes
UTILITYANDGOVERNMENTALSERVICES.ALL Ouvrages et constructions gouvernementales
GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.CLASSIQUE Scan Express classique
GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD Scan Express standard
GEOGRAPHICALGRIDSYSTEMS.ETATMAJOR40 Carte de l'état-major (1820-1866)
GEOGRAPHICALGRIDSYSTEMS.1900TYPEMAPS Carte topographique - environs de Paris (1906)
GEOGRAPHICALGRIDSYSTEMS.ADMINISTRATIVEUNITS France administrative
40
Les services TMS
url du service
41
Tile Map Service (ou TMS) est un protocole de communication standard qui permet d'obtenir des cartes géoréférencées tuilées à partir d'un serveur de données sur le réseau. Il est comparable au WMS mais affiche des images précalculées (tuiles) accélérant ainsi les performances du service.
Un certain nombre de services TMS sont disponibles sur le site d’OpenStreetMap : http://wiki.openstreetmap.org/wiki/Tileserver
des services TMS
Service url Zoom Description
Mapnikhttp://tile.openstreetmap.orghttp://www.toolserver.org/tiles/osm
0-18 Affichage OSM
Cycle Map http://tile.opencyclemap.org/cycle 0-18 Pistes cyclables OSM
OpenPisteMap http://tiles.openpistemap.org/nocontours 0-17 Pistes de sky
Hikebikes http://www.toolserver.org/tiles/hikebike 0-17 Affichage OSM
Fond OSM http://www.toolserver.org/tiles/osm-no-labels 0-17 Fonds OSM sans toponymes
Labels OSMhttp://www.toolserver.org/tiles/osm-labels-en (ou -fr en français)
0-18 Toponymes OSM
Seamark http://tiles.openseamap.org/seamark 0-17 Cartes maritimes
Land Shading http://tiles.openpistemap.org/landshaded 0-17 Estompage
Hillshading SRTM3 V2 http://toolserver.org/~cmarqu/hill 0-15 Estompage
Lonvia’s Cycling Symbols
http://tile.lonvia.de/cycling 0-16 Pistes cyclables
Lonvia’s Hiking Symbols http://tile.lonvia.de/hiking 0-16 Randonnées
42
Source : http://wiki.openstreetmap.org/wiki/Tileserve
Texte :
Dans un article, afficher une carte avec les services de la rubrique 2 :
<geoportail0|id_rubrique=2>
Organiser les Géoservices
La couche du Sandre (référentiel hydrographique) est associée à la rubrique « Au fil de l’eau… ». Elle ne s’affichera pas si on ne précise pas cette rubrique lors de la création de la carte.
43
Le plugin permet d’organiser les Géoservices dans les rubriques afin d’afficher des couches différentes en fonction du contexte. On peut ainsi proposer des cartographies variées juste en précisant une rubrique lors de la création de la carte.
[(#MODELE{geoportail, id_rubrique=2)]
Il faut préciser la rubrique dans le modèle géoportail pour afficher les services associés à cette rubrique sur la carte.
On peut aussi utiliser id_secteur en lieu et place de id_rubrique, le comportement est le même (on peut également combiner les deux).
Ajouter un répertoiregéographique
44
45
Ajouter un répertoireUn répertoire géographique est une liste d’objet (ici des communes) avec leur position géographique sur lequel on va pouvoir lier la position des objets.
Configuration :1- Placez un répertoire (fichier RGC) dans le dossier /rgc du plugin2- aller sur la page de configuration du répertoire et faite « Installer »
Une nouvelle ligne apparaît dans le formulaire pour se localiser sur un objet du RGC
Après validation de la position le plugin accroche la position à l’objet
le plus proche dans le répertoire
46
Utiliser un répertoireLorsqu’un répertoire est déclaré, de nouvelles balises sont disponibles : elles correspondent aux attributs du RGC : #ID_DEP : numéro du département #ID_COM : identifiant de la commune (#ID_DEP#ID_COM = numéro INSEE) #CPOSTAL : code postal de la commune #FEATURE_CLASS : 0=département, 1=capitale, 2=Préfecture de région, 3=Préfecture, 4=Sous-préfecture,
5=Chef lieu, 6=Commune #TOP25 : feuille TOP25 (si RGC IGN) #POPULATION : population de la commune #SURFACE : surface de la commune
#NOM_DEP : nom du département correspondant à la position #NOM_COM : nom de la commune
Des répertoires sont disponibles sur le site du plugin : http://www.spip-contrib.net/Plugin-SPIP-GeoportailVous pouvez créer votre propre répertoire (localisation de magasins, sites, etc.) : c’est un simple fichier table avec des colonnes spécifiques (reportez-vous au fichier lisez-moi dans le répertoire rgc du plugin).
Il est alors possible de sélectionnés les articles lié à un objet du RGC (une commune ou un département).Le filtre geoportail_region permet de récupérer les départements correspondant à une région
Exemple : </h1>Les articles en Côte d’Or : </h1> <BOUCLE_a(ARTICLES){geoposition}{id_dep=21}> #ID_ARTICLE - #TITRE <br/> </BOUCLE_a> <h1>Les articles en Bourgogne : </h1> [(#SET{b=bourgogne})] <BOUCLE_d(ARTICLES){geoposition}{id_dep IN #GET{b}|geoportail_region}> #ID_ARTICLE - #TITRE <br/> </BOUCLE_d>
47
Localiser sur le répertoire
Le positionnement au plus proche choisi Veaugues alors qu’on est sur
la commune de Jalognes
Attention, l’accroche se fait au plus proche, il est donc parfois nécessaire de bloquer la localisation sur une valeur définie pour ne pas basculer sur une autre localisation lors d’un déplacement de la punaise.
On se localise une première fois sur Jalognes, on valide cette position pour
récupérer la commune dans le répertoire…
limite de commune
…on bloque le choix du RGC…
…puis on se déplace et on valide cette nouvelle position sans modifier le lien
(bloqué) avec la commune.
Aller plus loin(avec OpenLayers)
48
Ajouter un scriptLe plugin utilise l’API Géoportail basée sur OpenLayers.
Il prend en charge toute la partie installation de la couche de l’API avant de faire appel aux fonctions utilisateur.
Variables du plugin : mapX : est la variable qui contient la carte X (map0 pour la carte 0). mapX.getMap() : est la carte OpenLayers correspondant à la carte SPIP d’identifiant
X. mapX.spip_img : est la variable contenant le calque des images SPIP (ajoutées avec
le raccourcis <img|geoportail>). Les objets de se calque (mapX.spip_img.features) contiennent en attribut le titre du document, son id, le fichier, etc. (dans mapX.spip_img.features[i].attributes).
49
Fonctions utilisateur initSpipMap (map, id) :
Cette fonction est appelée juste après le chargement de la carte (map) d’identifiant id. map est une carte Geoportal.Map.Vous pouvez alors manipuler la carte pour lui ajouter des couches, des contrôleurs, etc.On peut déclarer une fonction par identifiant de carte en ajoutant le numéro de la carte au nom de la fonction : initSpipMap1 (map, id) pour la carte 1.
spipGeoportail.onLoad (id, function(map,id){ /* faire qque chose */ }) :Cette fonction permet d’ajouter une fonction à traiter après le chargement de la carte id. Contrairement à initSpipMap qui est unique, on peut ajouter plusieurs fonctions par ce biais.
onLoadSpipDoc (id_document, layer) :Cette fonction est appelée lorsque le document id_document (KML ou GPX) a été chargé. layer correspond à la couche qui contient le document.
selectAdresse(f) :Cette fonction (si elle existe) est appelée lorsque l’utilisateur effectue une recherche à travers les outils de l’API. En déclarant cette fonction, vous pouvez ainsi intercepter l’évènement pour faire quelque chose (afficher une information...).
50
Exemples Ajouter un lien vers une position :
La fonction OpenLayers setCenterAtLonLat permet de se centrer sur une position. Il suffit de l’appliquer à la carte 0 à travers la variable map0.getMap().
<a href="javascript:map0.getMap().setCenterAtLonLat(-4.46,48.38,12)">Brest
</a>
Faire quelque chose au chargement d’une carte :
<script type="text/javascript">function initSpipMap (map, id){ var olMap = map.getMap(); // Carte OpenLayers
// Ajouter un calque vecteurvar l = new OpenLayers.Layer.Vector("Mon calque");map.getMap().addLayer(l);/* etc. */
}</script>
Consultez les modèles du plugin pour avoir des exemples d’utilisation
51
Pour toute question concernant l’API Géoportail, consultez le forum de l’API Géoportail.Pour toute question sur le plugin : http://contrib.spip.net/Plugin-SPIP-Geoportail
Configuration avancéeChangement de script :Par défaut, le plugin va chercher le script sur le site de l’API (http://api.ign.fr/geoportail/api/js/{versionAPI}/GeoportalExtended.js) or il peut être intéressant de ne pas dépendre de ce script.
Pour cela, vous pouvez créer un répertoire ‘js’ dans votre répertoire squelette et y placer votre fichier GeoportalExtended.js. Vous devrez également y déposer les fichiers theme\geoportal\standard.css pour un affichage correct des cartes.Une fois cette opération effectuée, une case à cocher sur la page de configuration du plugin permet de choisir d’utiliser ou non ce fichier.
Mode debug :Il est également possible de basculer l’API en mode debug (et utiliser le fichier en cours de développement à l’IGN : http://depot.ign.fr/geoportail/api/js/{versionAPI}/lib/geoportal/lib/Geoportal.js).
Pour cela, vous devez déclarer une variable globale dans votre fichier mes_fonctions.php ($GLOBALS['geoportail_debug'] = true;).
Dans ce cas, l'API n'est pas compressée (ni obfusquée), fort utile pour détecter un bug... mais bien plus lent à charger...
52
Configuration avancée
Utilisation du proxy :L’affichage de fichiers ne résidant pas sur le même site (KML, GPX ou couche WFS) nécessite de passer par un proxy. Les principes de sécurité font qu'il est interdit de lire des données sur un autre site que le site ayant envoyé la page web.
Le plugin propose un proxy à cet effet mais pour des raisons de sécurité, la liste des sites ouverts à ce proxy est limitée (en fait par défaut, seul l’accès au service de requête du géoportail est ouvert). Aussi vous devrez déclarer, dans le fichier d’options de votre site, dans un tableau global, la liste des urls auxquelles vous souhaitez pouvoir accéder :
mes_options.php
// Url perso $GLOBALS['geoportail_url_autorisees'] [] ="http://site1"; $GLOBALS['geoportail_url_autorisees'] [] ="http://site2:8080";
53
FAQ
54
55
Les marques SPIP, OpenLayers, IGN, Géoportail, Google, Yahoo, Bing, OSM ainsi que toutes les marques commerciales et de service de tierces parties mentionnées
dans ce documentation sont la propriété de leurs détenteurs respectifs.
Les services du Géoportail, d’OpenStreetMap, de Google Maps, Bing Maps ou Yahoo ! ainsi que les services WMS ou TMS proposés à titre d’exemple sont soumis à
licence, veuillez vous référer à celles-ci avant de les utiliser.
SPIP est un CMS sous licence GNU/GPLL’API Géoportail est délivrées sous licence BSD.
Le plugin SPIP-Géoportail est sous licence CeCILL compatible GNU/GPL.
Le présent document est sous licence CC-by.
Version 1.0 – août 2013
Jean-Marc Viglinohttp://www.spip-contrib.net/Plugin-SPIP-Geoportail