spip-geoportail

55
SPIP-Géoportail - Fonctionnement et utilisation - Jean-Marc Vig http://www.spip-contrib.net/Plugin-SPIP-Geopor

Upload: jean-marc-viglino

Post on 21-Jun-2015

2.215 views

Category:

Technology


0 download

DESCRIPTION

Présentation du plugin SPIP-Geoportail. Affichage de carte dans SPIP.

TRANSCRIPT

Page 1: SPIP-Geoportail

SPIP-Géoportail- Fonctionnement et utilisation -

Jean-Marc Viglinohttp://www.spip-contrib.net/Plugin-SPIP-Geoportail

Page 2: SPIP-Geoportail

Présentation générale(que fait le plugin ?)

2

Page 3: SPIP-Geoportail

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

Page 4: SPIP-Geoportail

Installation et configuration

4

Page 5: SPIP-Geoportail

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

Page 6: SPIP-Geoportail

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

Page 7: SPIP-Geoportail

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

Page 8: SPIP-Geoportail

Localisation des objets

8

Page 9: SPIP-Geoportail

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

Page 10: SPIP-Geoportail

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

Page 11: SPIP-Geoportail

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

Page 12: SPIP-Geoportail

Insertion d'une carte(les modèles)

12

Page 13: SPIP-Geoportail

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

Page 14: SPIP-Geoportail

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

Page 15: SPIP-Geoportail

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

Page 16: SPIP-Geoportail

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

Page 17: SPIP-Geoportail

Afficher des objets sur la carte(les modèles)

17

Page 18: SPIP-Geoportail

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

Page 19: SPIP-Geoportail

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

Page 20: SPIP-Geoportail

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

Page 21: SPIP-Geoportail

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

Page 22: SPIP-Geoportail

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

Page 23: SPIP-Geoportail

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

Page 24: SPIP-Geoportail

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

Page 25: SPIP-Geoportail

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

Page 26: SPIP-Geoportail

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

Page 27: SPIP-Geoportail

Fonctionnalités spécifiques

27

Page 28: SPIP-Geoportail

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

Page 29: SPIP-Geoportail

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

Page 30: SPIP-Geoportail

Utilisation avancée(boucles et tables)

30

Page 31: SPIP-Geoportail

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

Page 32: SPIP-Geoportail

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

Page 33: SPIP-Geoportail

Les Géoservices

33

Page 34: SPIP-Geoportail

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

Page 35: SPIP-Geoportail

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

Page 36: SPIP-Geoportail

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

Page 37: SPIP-Geoportail

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

Page 38: SPIP-Geoportail

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

Page 39: SPIP-Geoportail

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

Page 40: SPIP-Geoportail

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

Page 41: SPIP-Geoportail

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

Page 42: SPIP-Geoportail

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

Page 43: SPIP-Geoportail

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).

Page 44: SPIP-Geoportail

Ajouter un répertoiregéographique

44

Page 45: SPIP-Geoportail

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

Page 46: SPIP-Geoportail

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>

Page 47: SPIP-Geoportail

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.

Page 48: SPIP-Geoportail

Aller plus loin(avec OpenLayers)

48

Page 49: SPIP-Geoportail

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

Page 50: SPIP-Geoportail

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

Page 51: SPIP-Geoportail

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

Page 52: 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

Page 53: SPIP-Geoportail

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

Page 54: SPIP-Geoportail

FAQ

54

Page 55: SPIP-Geoportail

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