3. 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
5. 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
6. 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
7. 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
9. 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’article
sur une adresse
9
10. 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 couches
Opacité 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
11. 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
13. Afficher une carte
Le 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
14. ou type=Standard
ou 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
15. 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. 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
GLP
SBA
SMA
Guadeloupe
Saint-Bartélémy
Saint-Martin
GUF Guyane
MTQ Martinique
MYT
Mayotte
Juan de Nova
Glorieuses
Tromelin
NCL Nouvelle Calédonie
PYF Polynésie Française
REU
Réunion
Iles Basas da India
Europa
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
18. 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 articles
sur 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
19. 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
20. 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 points
border-style : style des lignes (solid, dashed ou dotted)
border-width : largeur des lignes
border-color : couleur
20
21. 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
22. Superposer une image
Le 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|y
min=47.61|ymax=47.65|>
22
23. 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
24. 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
25. Divers
Synchronisation : 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
26. 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
28. 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
29. 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
31. Table de positions
Le 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
32. 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.
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" N
au 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
34. Les géoservices
Le 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
Niveaud’affichage
34
35. Types de services
Le 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 couche
du Sandre et du BRGM
35
36. 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
37. Les services WMS
Web 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
38. Les services KML
Ce 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
39. Les services GeoPortail
Les 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
40. Services GeoPortail
Code 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
41. 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
42. des services TMS
Service url Zoom Description
Mapnik
http://tile.openstreetmap.org
http://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 OSM
http://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
43. 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).
45. 45
Ajouter un répertoire
Un 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 plugin
2- 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. 46
Utiliser un répertoire
Lorsqu’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-Geoportail
Vous 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. 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.
49. Ajouter un script
Le 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
50. 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
51. 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 vecteur
var 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
52. Configuration avancée
Changement 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
themegeoportalstandard.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
53. 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
55. 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/GPL
L’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 Viglino
http://www.spip-contrib.net/Plugin-SPIP-Geoportail