Les formats d’échanges pour les données géographiques
Objectifs du cours Description des différents type de formats : Capacités, Type de données, Pour quels besoins. Panorama d’une partie des formats d’échanges de données existant. 2
Plan du cours Format d’échange : Définition Pour quels besoins Description des formats : Vecteurs, Raster, « Autres ». 3
Un format d’échange : Définition
Un format Un format de données possède : Une structure de données permettant aux outils de manipuler les données de manière générique. Un type de format, binaire ou texte, Binaire : non humainement interprétable mais volume de données transporté faible. Texte : humainement interprétable mais format plus volumineux. Exemple : WKB et WKT dans PostGIS 5
Différents types de formats Formats natifs (ou format de production) : format dans lequel l’information est physiquement produite et / ou stockée .Shp,.Tab, database… Format d’échange : format destiné à être échangé entre deux applications sur un réseau. XML, GEOJSON, KML, GML… 6
Serveur Echanger des données via un réseau entre deux entités d’un système Le rôle des formats d’échanges Serveur Client.Shp.TAB Postgre SQL Format d’échange 7 Format de production
Des formats d’échange géographiques Les formats d’échange géographiques impliquent de véhiculer les informations contenant a minima : la géométrie des données, Eventuellement : La projection des données dans l’espace, Un style de représentation, Des attributs non géométriques Des métadonnées. 8
Quels formats d’échange ? Pourquoi ?
Cas simple: SI avec une seule application web L’application fournit un point d’accès permettant de manipuler mes données. -> Possibilité pour l’application d’exploiter les données aux formats natifs, -> Pas de nécessité d’un format d’échange, Base de données Application 10
Cas 2 : SI à Clients multiples et un seul organisme Un pool de données de références exploité par plusieurs clients connus -> Une collectivité gère les données du réseau d’assainissements et les utilise dans 2 clients cartographiques : un pour la gestion des eaux pluviales, l’autre pour la voirie. Format d’échange Serveur Client 1 Client 2 11
Echanger des données entre deux entités d’un système Le rôle des formats d’échanges Serveur Client Format d’échange Partageant une représentation commune des données 12
Cas 2 : SI à Clients multiples et un seul organisme Avantages : Maintenance des données, Réutilisabilité des données, Format d’échange Nécessité d’un format d’échange, pouvant être spécifique à ma structure et avec des éléments auto-descripteur minimaux 13
Cas 3 : SI à plusieurs partenaires Plusieurs pool de données pouvant être utilisée par plusieurs clients Format d’échange Serveur2 Client P2 Client P3 Serveur1 14
Cas 3 : SI à plusieurs partenaires Exemple : Système d’information sur l’Eau (SIE), SI national pour la gestion des données sur l’eau. Format d’échange Nécessité d’un format d’échange commun (interopérabilité technique). Nécessité d’un modèle de données commun définissant la nature des objets échangées (interopérabilité sémantique). 15
Cas 4 : Mise à disposition des données Les données sont délivrées depuis un serveur à n’importe quel client souhaitant s’y connecter. Format d’échange Client Serveur 1 16 Client
Cas 4 : Mise à disposition des données Pour le client : Nécessité d’un format standardisé. Avantages : Pour le SI : Modularité, évolutivité, Pour les développements : Bénéficier des Framework de développements commun pour manipuler ces formats (cf : Openlayers) 17
Les principaux formats d’échange
Les formats vecteurs Echange d’entité géométrique de type Point, Courbe, polygone …. 19
GeoJSON JSON : JavaScript Object Notation Structure : hierarchique, clé-valeur, non typé Format texte (non XML) indépendant de tous langage de programmation (Nb : Conçu pour être manipulé par du JavaScript coté client) Concis JSON : JavaScript Object Notation Structure : hierarchique, clé-valeur, non typé Format texte (non XML) indépendant de tous langage de programmation (Nb : Conçu pour être manipulé par du JavaScript coté client) Concis 20 Geo pour géographique et JSON … ben pour JSON
GeoJSON JSON Un document JSON ne comprend que deux éléments structurels : des ensembles de paires clé-valeur non typé; des listes ordonnées de valeurs. Ces deux éléments représentent 3 types de données : des objets ; des tableaux ; des valeurs génériques de type tableau, objet, booléen, nombre, chaîne ou null. JSON Un document JSON ne comprend que deux éléments structurels : des ensembles de paires clé-valeur non typé; des listes ordonnées de valeurs. Ces deux éléments représentent 3 types de données : des objets ; des tableaux ; des valeurs génériques de type tableau, objet, booléen, nombre, chaîne ou null. 21
GeoJSON Actuellement version 1.0 (Nouvelle version prochainement) Comme JSON, GeoJSON est peu structuré, Le GeoJSON standardise et contraint la structure des objets géographiques échangés. 22
GeoJSON Les objets échangés sont de type Feature, FeatureCollection ou géométrie. Une FeatureCollection est une collection de Feature, lesquels possède une objet de type géométrique, et éventuellement des propriétés additionnelles, 23
GeoJSON 24
GeoJSON Les objets géométriques partagent une structure commune Ils peuvent être de type : Point, LineString, Polygon, Multipoint, MultilineString, MultiPolygon ou une GeometriesCollection 25
GeoJSON Ils est possible de spécifier pour chaque objet la projection utilisée (par défaut WGS84). Et une BBox 26
GeoJSON Récapitulatif : Format vecteur, Format concis, peu structuré. Géométrie basique, Rempli un objectif de manipulation et de visualisation coté client d’objets géographiques simples. 27
KML Keyhole Markup Language, Format utilisé dans GoogleEarth et GoogleMap et poussé par Google, Standard OGC (GoogleEarth 5.0 étend le standard), Format très répandu en raison de la puissance et de la facilité d’utilisation des outils Google. 28
KML Un format XML se concentrant sur la visualisation et la représentation des données. Essentiellement vecteur, possibilité de draper des images Un seul CRS possible : LonLat84_
KML (à modifier à faire sur la base d’exemple) Possibilité d’encoder : Une géométrie, Des documents (photos, html…), Un style, Une temporalité, 30
KML(à modifier à faire sur la base d’exemple) Possibilité d’encoder avec l’extension : Un parcours animé, Un parcours animé 31
KML (à modifier à faire sur la base d’exemple) 32
KML Conclusion : Un langage XML structuré, soutenu par Google, Crée pour la visualisation de données, (manipulation de données possibles) Peu d’éléments pour la structuration des données : Géométrie basique, manipulation des attributs peu poussée. Possibilité d’étendre le format (grâce au XML, par exemple vers du GML) 33
GML Un langage pour l’échange structuré de données spatio-temporelles. Un autre point de vue sur la représentation du monde réel. GeoJSON, KML Ce cube et cette pyramide représente une maison. GML Cette maison a des murs et un toit dont la géométrie est un cube et une pyramide. 34
GML Un format d’encodage XML des standards conceptuels ISO : ISO : Objets temporels ISO : Géométrie … Egalement, spécification ISO 19xxx pour transformer les standards conceptuels en format opérationnel Description des objets spatio-temporels très complète, Plutôt complexe (spécification de 500 p) 35
GML Une partie des normes ISO (Une trentaine au total). 36
GML exemple naturedsi à prendre dans sdi fmin206 Une partie des normes ISO (Une trentaine au total). 37
GML Totalement auto-descripteur : Dictionnaires d’attributs, Encodage XML des CRS, Dictionnaire d’unité. Permet de modéliser le monde réel via le concept de Feature Feature = représentation abstraite d’une entité du monde réel. En fournissant des objets de base (LineString, Period…) mis en œuvre dans un schéma d’application (modèle conceptuel des données). 38
GML Utilisation : Aujourd’hui peu d’outils sont capables de manipuler l’entière complexité du GML Ce format fait l’objet de spécialisation propre à une communauté : CityGML : Urbanisme, WaterML : Hydrologie, GeoSciML: Géologie, INSPIRE Par la définition de schéma d’application. 39
GML 40
GML définit par le langage XML Schéma, A mettre en œuvre pour des échanges de données géospatiales, Pour s’adapter à des SI multipartenaires et assurer l’intéropérabilité sémantique des données Et à des représentations plus avancées du monde réel. 41
Les formats raster Ou données maillées 42
Problématique générale Transporter un volume d’information important sur le réseau, A chaque « pixel » est associée une valeur, Une scène de 1Km 2 avec une résolution de 10 m par pixel possède pixels. ->Implique qu’a minima, une partie de l’information soit transportée dans un format binaire. Transporter les informations permettant de repositionner les « pixels » dans l’espace. 43
Données Problématique générale En conséquence, la majorité des formats matriciels : Sont des formats binaires, Possède la structure suivante : 44 Header (en-tête) Données Fichier
GeoTIFF Format binaire. Spécialisation du format d’image TIFF 6.0 grâce au mécanisme d’extension de Tag privés TIFF, Permet de transporter les informations de positionnement de l’image dans les Tag GeoTIFF. Un fichier GeoTIFF comprend donc une image sous la forme d’une matrice de valeur et des métadonnées de positionnement. Un fichier GeoTIFF peut être multi-bandes. 45
GeoTIFF: exemple d’en tête geotiff image sat Format binaire. Spécialisation du format d’image TIFF 6.0 grâce au mécanisme d’extension de Tag privés TIFF, Permet de transporter les informations de positionnement de l’image dans les Tag GeoTIFF. Un fichier GeoTIFF comprend donc une image sous la forme d’une matrice de valeur et des métadonnées de positionnement. Un fichier GeoTIFF peut être multi-bandes. 46
GML in JPEG 2000 exemple de fichier jpeg 2000 Comme TIFF, JPEG 2000 : est un format de compression de l’image, Permet d’associer des métadonnées à l’image, Comme GeoTIFF, des balises de métadonnées permettent de transporter les informations de spatialisation. Mais ces métadonnées sont encodées en GML et répondent au schéma conceptuel de l’ISO
NetCDFexemple de fichier netcdf Format matriciel auto documenté pour le transport des données scientifiques, Une partie métadonnée décrivant les attributs du tableau, Le tableau de valeurs. Sa structure permet d’échanger des données multidimensionnelles (X, Y, Z, Temps, Valeur1…) Utilisé en océanographie, météorologie pour gérer la hauteur et le temps.hauteur et le temps. 48
Les formats RSS Flux 49
Le GeoRSS Un complément géographique aux différents formats de syndication : Atom; RSS 1.0, RSS 2.0, 2 formats : GeoRSS simple, GeoRSS GML, Simplicité versus étendue des possibles. 50
Le GeoRSS Diffuser des brèves à des fins : D’alertes, D’actualités … Exemple : GeoNames (service toponymique) GeoNames (service toponymique) Earthquakes alerts Earthquakes alerts Triptrackers Triptrackers 51
Récapitulatif
Formats d’échanges géographiques Le choix d’un format d’échange diffère en fonction de : La nature des données échangées : Vecteur, Matriciel, Par la nature de l’application Localisation, visualisation, Echange de données métiers et manipulations des données, Agrégation de flux, 53