Deprecated: Return type of YDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/ydata.inc.php on line 428

Deprecated: Return type of YamlDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/yamldata.inc.php on line 295
/inspire (pub)
Menu : html yaml json edit check reindex dump unset
* 

title mise en oeuvre d'Inspire avec YamlDoc
modified 2019-02-04 00:00:00
references
logique

Principes

  • Les données sont organisées en séries de données (SD), chacune décrite par une fiche de méta-données (fMD).
  • Une SD est une compilation identifiable de données géographiques (définition de la directive Inspire).
  • Une SD correspond à un regroupement de données ayant un sens pour un utilisateurs, par ex un PPRI, un PLU, ...
  • Une SD correspond à une spécification et une structuration de la donnée, typiquement pour les objets vecteur en collections homogènes d'objets, cad respectant un schéma commun.
  • Possibilité de décrire des versions successives d'une SD, par exemple la BDTopo au 1/3/2018, puis au 1/9/2018, ..., en mutualisant les champs communs de MD.
  • Possibilité aussi de décrire une série de données mise à jour au fur et à mesure, dans ce cas, la date de mise à jour doit être intégrée dans les données et non dans la fMD.
  • Possibilité de décrire un découpage en lots de données correspondant à un mécanisme de livraison, par exemple, découpage de la BD Topo en départements.

Accès aux données vecteur

  • il y a, a priori, 3 protocoles d'accès à une série de donnée:
    • en flux d'accès WFS, a priori WFS3
    • en flux de consultation EOTF ou WMS
    • en téléchargement par exemple d'un ensemble de fichiers shape zippés
  • une SD est identifiée par un URI noté {uri}
  • l'accès à cet {uri} fournit la fMD de la SD structurée en Yaml (ou JSON) conformément au schéma défini ici
  • {uri}/wfs est l'URL d'accès au flux WFS des différentes collections correspondant à la SD,
  • {uri}/tile est l'URL d'accès au flux EOTP des différentes couches représentant la SD,
  • {uri}/wms est l'URL d'accès au flux WMS des différentes couches représentant la SD,
  • {uri}/atom est l'URL d'accès au flux Atom diffusant:
    • les versions successives de la SD,
    • les différents lots de données dans lesquels la SD est découpée,
    • les différents formats dans lesquels les lots sont exposés.

Définition d'un service de recherche

  • Un service de recherche permet à un utilisateur de découvrir les SD répondant à son besoin.
  • YamlDoc dispose d'un mécanimse général de recherche qui peut être utilisé pour effectuer ces recherches
  • Ainsi tous les docs ou sous-docs des classes concernées pourront être traités
eotp

Protocole EOTP

Le protocole appelé ici EOTP (Extended Osm Tile Protocol) est une extension du standard de facto d'OSM largement utilisé, par exemple par Leaflet (au travers de classe TileLayer de Leaflet).
L'URL de premier niveau {baseUrl} fournit les MD du service avec notamment la liste des couches exposées.
Chaque couche correspond à une URL {baseUrl}/layers/{lyrName}
L'appel de cet URL fournit les MD détaillées sur la couche, notamment le(s) format(s) autorisé(s) et la couverture spatiale du service.
Les tuiles sont exposées en projection Web Mercator selon l'URL {baseUrl}/layers/{lyrName}(/style/{stylName})?/{z}/{x}/{y}.{fmt} où:

  • {baseUrl} est l'URL de base du service
  • {lyrName} est le nom de la couche
  • {stylName} est le nom d'un éventuel style de représentation de la couche
  • {z} est le niveau de zoom tel que défini par OSM
  • {x} et {y} sont les numéros de colonne et de ligne de l'image
  • {fmt} est le format demandé qui doit valoir jpg ou png

Ce format est compatible avec le standard de facto d'OSM, chaque couche correspondant à une URL founissant un flux conforme à ce standard.
Il ajoute la possibilité:

  • de regrouper différentes couches dans un même service,
  • de décrire le service et chaque couche par des métadonnées.
atom Description de l'utilisation du flux Atom
implem

Implémentation

La logique décrite ici est assez proche des principes mis en oeuvre pour les classes FeatureDataset et ViewDataset.
Il conviendrait de définir une nouvelle classe GeoDataset qui:

  • s'appuie sur le schéma JSON d'une série de données Inspire et
  • réunisse les fonctionnalités de ces 2 classes.