description |
Accès aux données géographiques
YamlDoc définit des mécanismes d'accès aux données géographiques au travers de types de documents
correspondant à des séries de données géographiques (SD),
en distinguant des SD d'objets vecteur, des SD image
et des SD de consultation.
Ces mécanismes sont conçus afin que les SD puissent facilement être affichées
avec la bibliothèque Leaflet :
- les SD d'objets au moyen du plugin uGeoJson,
- les SD de consultation au moyen de la classe TileLayer.
De plus les couches sont utilisables avec des logiciels comme umap
qui respectent les mêmes standards d'interopérabilité.
En outre :
|
feature |
SD d'objets vecteur
Une SD d'objets vecteur (FeatureDataset) est composée de couches d'objets vecteur,
chacune correspondant à une FeatureCollection GeoJSON ;
chaque couche est donc composée d'objets vecteur, les Feature GeoJSON,
sur lesquels des critères de sélection peuvent être appliqués.
Affichage multi-échelles
Les SD d'objets vecteur sont conçues pour permettre un affichage multi-échelles
des données.
Le tableau ci-dessous indique les produits utilisés en fonction du zoom.
Les couches suivantes sont définies dans plusieurs SD et peuvent être visualisées dans différents produits :
NE 110M | NE 10M |
Route500 | BD Carto |
BD Topo |
Commentaire |
coastline |
coastline |
coastline |
trait de côte |
coastAdminBoundaryLines |
limite_administrative |
|
fusion du trait de côte et de limites administratives |
populated_places_simple |
noeud_commune | zone_habitat |
chef_lieu |
étiquette des noms des principales villes |
rivers_lake_centerlines | rivers_lake_centerlines_scale_rank |
troncon_hydrographique |
troncon_cours_eau |
axes des rivières et des lacs |
| roads |
troncon_route |
route |
routes |
| railroads |
troncon_voie_ferree |
troncon_voie_ferree |
voies ferrées |
| urban_areas |
zone_batie | zone_batie_activites |
|
zones urbanisées |
La SD multi-échelles définie ces couches appellant le produit adapté au zoom d'affichage.
De plus, chaque SD, comme par exemple la BD CARTO, peut intégrer des couches aux échelles plus petites.
Les autres SD vecteur définies sont :
API exposée
Un document décrivant une SD vecteur, d'une part, peut s'afficher et, d'autre part, expose une API
constituée des 6 points d'entrée suivants :
- {docid} : description de la SD en JSON (ou en Yaml), y compris la liste de ses couches
(exemple de Route500,
en Yaml),
- {docid}/{lyrname} : description de la couche en JSON (ou en Yaml), cette URI identifie la couche
(exemple de la couche commune de Route500),
- {docid}/{lyrname}?{query} : requête sur la couche renvoyant un FeatureCollection GeoJSON
où {query} peut être:
- {docid}/{lyrname}/id/{id} : renvoie l'objet d'id {id} (A FAIRE)
- {docid}/map : renvoie le document JSON décrivant la carte standard affichant la SD
(exemple de la carte Route500),
- {docid}/map/display : renvoie le code HTML d'affichage de la carte standard affichant la SD
(exemple d'affichage de la carte Route500),
En utilisant cette API, une carte affichant une SD vecteur peut être construite
avec le logiciel umap.
Pour cela définir un calque en indiquant :
- comme données distantes
l'URL
{docid}/{lyrname}?bbox={bbox}&zoom={zoom} ,
par exemple: id.php/geodata/route500/limite_administrative?bbox={bbox}&zoom={zoom}
- comme format des données: geojson,
- qu'il s'agit d'un calque dynamique afin que les données soient requêtées à chaque fois que la vue
de la carte change,
- d'activer le proxy.
Définition des couches
Une couche vecteur peut être implantée de 4 manières différentes :
- elle peut correspondre à un fichier OGR chargé dans une table MySQL ;
dans ce cas une première étape de chargement des fichiers en base est nécessaire ;
des exemples sont :
elle peut aussi correspondre à une couche exposée par un service WFS ;
des exemples sont :
Une couche OGR ou WFS peut en outre être filtrée en fonction du zoom ;
la couche limite administrative de Route500
en est une illustration.
une couche peut aussi être définie par une sélection dans une des couches précédentes définie dans la même SD ;
Un exemple est la couche coastline de Route 500.
une couche peut enfin être définie en fonction du zoom d'affichage et de la zone géographique
par une des couches précédentes ;
Un exemple d'une telle couche est
la couche coastline de la SD multi-échelles en construction.
Voir ici les spécs détaillées des documents FeatureDataset.
Par ailleurs, pour utiliser les serveurs WFS, un type de document WfsServer est défini.
Le serveur WFS du Géoportail IGN en est un exemple.
|