Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Web et présentation d information spatiale Formats GML et SVG Jean-Michel FOLLIN jmfollin@univ-lr.fr
Échange de données Échange d informations entre différents SIG : Quel format de données? Quelle langage de requêtes? Quelles fonctionnalités? Quels paramètres et résultats? Conversion/export A2B Conversion/export B2A SIG A [traitement local]?? SIG B [traitement local] SIG C 2
Interopérabilité des SIG Reconnaissance des standards et formats communs : Format connu! Fonctionnalités connues! Paramètres et résultats connus! Format commun d échange SIG A [traitement local + appels distants] SIG B [traitement local + appels distants] SIG C 3
Un monde "multilingue" de SIG X X X X X X X X X X X X X X X X X X X TIGER Map Server GeoMedia WebMap STAR Next Surf Net TerraServer PARC Map Viewer EnviroMapper Viewer GLOBE Visualization MapGuide ELVIS Spatial Web Broker OGDI Orthophoto Browser ModelServer Imager CARIS Internet Server MapXtreme MapObjects IMS Mapquest Internet 4
Open OGC (Open Consortium, 1994) un consortium industriel qui cherche à développer de manière consensuelle des spécifications dans le domaine géographique représentation commune des phénomènes spatiaux formats de données modèle commun pour l accès, la gestion, la représentation et le partage fonctionnalités Deux thèmes centraux : partager l information géospatiale, fournir des services géospatiaux. Deux types de spécification : spécification abstraite (création et documentation de modèles conceptuels) spécification d implémentation (spécification des plates-formes). 5
Spécifications Open (1) Ensemble des spécifications abstraite : Topic 1 Feature Geometry Topic 2 Spatial Referencing by Coordinates Topic 3 Locational Geometry Structures Topic 4 Stored Functions and Interpolation Topic 5 The Open Feature Topic 6 The Coverage Type Topic 7 Earth Imagery Topic 8 Relationships Between Features Topic 9 Quality Topic 10 Feature Collections Topic 11 Metadata Topic 12 The Open Service Architecture Topic 16 Image Coordinate Transformation Services 6
Spécifications Open (2) Topic 1 Feature Geometry Topic 2 Spatial Reference Systems Topic 3 Locational Geometry Topic 8 Relations Bet n Features Topic 11 Metadata Topic 10 Feature Collections Topic 14 Semantics and Info Com t s Topic 9 Quality Topic 4 Stored Functions and Interpolation Topic 6 The Coverage Type Topic 7 Earth Imagery Topic 5 The Open Feature Topic 13 Catalog Services Topic 12 The Open Service Arch. Topic 15 Image Expl. Services Topic 16 Image Coord. Transf Services 7
Open Feature FEATURE : Unité de base de toute information géographique. entité abstraite ou concrète du monde réel. Trois types d informations : localisation (où se trouve l objet?) attributaire (que représente-t-il?) relations topologiques (quelles relations entretient-il avec les autres features?) Exemple de FEATURE : un segment de route entre 2 intersections, une image satellite géoréférencée, une rivière,... 8
Open Modèle Géométrique Geometry SpatialReferenceSystem Point Curve Surface GeometryCollection 1+ 2+ LineString Polygon MultiSurface MultiCurve MultiPoint 1+ 1+ 1+ Line LinearRing MultiPolygon MultiLineString 9
GML : Geography Markup Language GML (v. 3.0, 2003) Concepts clés tirés des spécifications abstraites OGC Grammaire XML pour la modélisation, le transport et le stockage d informations géographiques. Description des entités simples : informations géographiques et descriptives (hôtels, rues, ) informations géométriques "simples" (points, lignes, ) Description uniquement du contenu des données, mais pas de leur représentation 10
GML : un exemple (1) City Model name Cambridge boundedby gml:box gml:coord XX gml:coord YY citymember gml:river description The river that... name Cam gml:centerlineof 11
GML : un exemple (2) <?xml version="1.0" encoding="utf-8"?> <!-- File: cambridge.xml --> <CityModel xmlns="http://www.opengis.net/examples" > <gml:name>cambridge</gml:name> <gml:boundedby> <gml:box srsname="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coord><gml:x>0.0</gml:x><gml:y>0.0</gml:y></gml:coord> <gml:coord><gml:x>100.0</gml:x><gml:y>100.0</gml:y></gml:coord> </gml:box> </gml:boundedby> <citymember> <River> <gml:description>the river that runs through Cambridge.</gml:description> <gml:name>cam</gml:name> <gml:centerlineof> <gml:linestring srsname="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coord><gml:x>0</gml:x><gml:y>50</gml:y></gml:coord> <gml:coord><gml:x>70</gml:x><gml:y>60</gml:y></gml:coord> <gml:coord><gml:x>100</gml:x><gml:y>50</gml:y></gml:coord> </gml:linestring> </gml:centerlineof> </River> </citymember> 12
SVG : Scalable Vector Graphics SVG (v. 1.1, 2003) un format pour la définition des présentations vectorielles 2D sur le Web : format basé sur XML (spécification W3C) format texte (facilité de traitement et de manipulation) possibilité de recherche dans le contenu format vecteur 2D (qualité de la présentation, zoom) Intégration de données vectorielles, images et textuelles gestion dynamique des présentations (animations, événements, scripts, ) standard ouvert GML contenu SVG visualisation 13
Document SVG <?xml version="1.0" encoding="iso-88591" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN» "http://www.w3.org/tr/2001/rec-svg-20010904/dtd/svg10.dtd"> <svg width="96px" height="76px" viewbox="0 0 9600 7600» xmlns="http://www.w3.org/2000/svg"> <-- Le contenu du document SVG --> </svg> Le contenu : transformation de coordonnées styles (couleurs, polices, traits des lignes, transparence, ) éléments géométriques (rectangles, ellipse, lignes, ) texte scripts, gestion d événements (souris, clavier, ) liens vers d autres documents (images rasteurs)... Déclaration XML standard Indication du DTD Racine SVG (+ taille, zone visualisée, spacename) 14
SVG : éléments géométriques <circle cx="25" cy="25" r="20" fill="red"/> <ellipse cx="25" cy="25" rx="20" ry="10" fill="red"/> <line x1="5" y1="5" x2="45" y2="45" stroke="red"/> <path d="m5,5 C5,45 45,45 45,5" stroke="red" fill="none"/> <polygon points="5,5 45,45 5,45 45,5" stroke="red" fill="none"/> <polyline points="5,5 45,45 5,45 45,5" stroke="red" fill="none"/> Groupement des éléments : <g id="batiments"> <path d="m1983 1099l0 0 2...> <path d="m279 982l0 0 5 6...>... </g> définitions des couches 15
Imbrication d'un fichier SVG dans HTML Etat actuel : visualisation à l aide de plugins (Corel SVG Viewer 2.1 Adobe SVG Viewer 3.01, ) A moyen terme : insertion directe du code SVG dans du code XHTML Inclus dans le document HTML à l aide de la balise <embed> : Document HTML <EMBED WIDTH="450" HEIGHT="340" SRC="tiger.svg" NAME="svg_map" TYPE="image/svg+xml"> SVG n est pas un format uniquement pour la visualisation des cartes! 16
SVG et script Inclus dans le document HTML ou SVG à l aide de la balise <script> : Document HTML Document SVG <SCRIPT type="text/ecmascript"> <![C[ function animate_object() { déclaration variables, actions } ]]> </SCRIPT> Document HTML <SCRIPT type="text/javascript"> function animate_object() { déclaration variables, actions } </SCRIPT> Document SVG Action sur une image SVG depuis le document HTML la contenant Modification depuis un document SVG de son document parent HTML Accès à une image SVG depuis une autre image SVG lorsque les deux sont incluses dans un même document HTML 17
SVG vs Flash Inconvénients Pas (encore) aussi répandu que Flash Avantages SVG Format texte (lisible/ humains et ordinateurs), standard W3C Scripts : Javascript et ECMAScript Avantages Flash 95% des clients ont un plug-in Script : Actionscript Inconvénients Format binaire, propriétaire (Macromédia) Besoin de programmes speciaux pour le développement Intégration possible : interaction, animation, film et son Taille des fichiers : difficulté pour dire lequel est le + léger 18
Editeurs SVG Solutions payantes : EvolGrafiX Xstudio, Jasc Web Draw, Sketska (basé sur Batik), Solutions gratuites : Batik (développée par le «Apache XML Project» et basée sur Java), Amaya (développée par le W3C), Sodipodi, Des convertisseurs : map2svg (MapInfo SVG), shp2svg (ArcView SVG), SVGMaker (Office SVG), SVG Builder, 19
Références Ce document : http://perso.univ-lr.fr/jmfollin/lupsig/s3/cours/s3_coursgml-svg.pdf Open / GML : http://www.opengis.org http://www.opengis.org/docs/02-023r4.pdf (spécification GML) W3C : http://www.w3.org/tr/svg/ (spécification SVG) Tutorial SVG : http://www.w3schools.com/svg/default.asp http://www.kevlindev.com/tutorials/basics/index.htm Ressources http://www.carto.net/ http://wiki.svg.org/ Adobe : http://www.adobe.com/svg/ MapInfo SVG : http://www.dbxgeomatics.com/svgmapmaker.asp http://www.gis-news.de/svg/map2svg.htm 20