Visualisierung von Geodaten mittels SVG



Ähnliche Dokumente
Scalable Vector Graphics. Ulrich Hoffmann

Version 1 SVG. Scalable Vector Graphics. B.Wenk, HTW Chur. apple ibooks Author

... MathML XHTML RDF

Java und XML 2. Java und XML

Scalable Vector Graphics (SVG)

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

XML 1. Einführung, oxygen. Ulrike Henny. IDE Summer School 2013, Chemnitz

App-Entwicklung für Android

X-Technologien. Ein Überblick. Ulrike Henny. IDE Summer School 2013, Chemnitz

Präsentation von Karten im Internet. Ein Vergleich der Vektorformate SVG und ActiveCGM

XML. Teil 3: Namensräume. Abteilung Informatik WS 02/03

Transformation von RailML timetable Daten zu SVG mittels XSLT zur Darstellung von Zeit-Weg-Liniendiagrammen

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

Verteilte Anwendungen. Teil 2: Einführung in XML

XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel

WEBSEITEN ENTWICKELN MIT ASP.NET

HTML5. Wie funktioniert HTML5? Tags: Attribute:

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

IT-Zertifikat: Daten- und Metadatenstandards

Online-Publishing mit HTML und CSS für Einsteigerinnen

Hyperlink-Erstellung in InDesign für

XML-Austauschformat für Sicherheitsdatenblätter

Grundlagen von Corel Draw

XML Extensible Markup Language

Errata-Liste zum Kurs: Einführung in XML (2. Auflage)

Scalable Vector Graphics-basierte

Text-Bild-Link-Editor

Umwandeln und Exportieren von Adobe-Illustrator-Dateien in Illustrator für Artcut

XML Extensible Markup Language

Daten- und Metadatenstandards Wintersemester 2011/ März 2012 Text / XML: Erste Schritte

Was ist ein Web Service?

Hyperlinks, Navigation, Pfade

Visualisierung von Geodaten

Bibliothekssysteme / Verbundsysteme / Netze

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

Die aktuelle Entwicklung des GeoService-Portals. Analyse- und Auswertefunktionen

Online-Publishing mit HTML und CSS für Einsteigerinnen

SVG Skalierbare Vektorgrafiken im Netz

Tobias Hauser. XML-Standards. schnell+kompakt

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Online Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum:

Information über die WebServices der Parlamentsdienste

PDF/A. Mar$n Fischer

Lernprogramm "Veröffentlichen von WMS- Services"

Sachwortverzeichnis

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML

Word Aufbaukurs kompakt. Dr. Susanne Weber 1. Ausgabe, Oktober 2013 K-WW2013-AK

Gezielt über Folien hinweg springen

XSL Templates. Mit Templates arbeiten. XSL Templates

Vortrag Postscript, Einführung, Koordinatgeometrie und Prozeduren

Ressourcen-Beschreibung im Semantic Web

WebView -Mit ArcView und ArcGIS ins Internet

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

XML Vortrag. 1. Beispiel XML. 2. Begriffe. 3. XML Standards

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Programmers Manual Geodaten Ver. 2.0

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

Bewusstkaufen.at XML Produkt Importschnittstelle für Händler

GEONET Anleitung für Web-Autoren

XML und SOAP Einführung und Grundlagen

Starten sie WordPad über das Startmenü von Windows. WordPad finden Sie im Ordner Zubehör.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Mit XML-basierten Web-Standards zur Lernplattform im Projekt ITO

Wiederholung: Beginn

Features. Hier wichtigsten Features im Überblick:

Symbolbearbeitung mit EPLAN 5.60/5.70 DIC_***D.SYM

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Handbuch ECDL 2003 Basic Modul 6: Präsentation Diagramm auf einer Folie erstellen

Java Webentwicklung (mit JSP)

L A TEX Ferienkurs TUM SS13 Kapitel 7: Bilder und Zeichnungen in L A TEX

Standardrichtlinien für das Web Version 1.2. Stand: 19. Oktober 2010 Von: Technische Hochschule Wildau [FH] Hochschulrechenzentrum

Beuth Hochschule Die erweiterbare Markierungssprache XML WS10/11

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

Anwendungsbeispiel zu XML -MathML

Übungsaufgaben zu XML:

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Alle Felder, die nicht "aufgeklappt" sind, können allenfalls, müssen aber nicht erfasst werden. Bei Fragen:

Dokumenten- und Content Management

solutions Wie ALKIS zukünftig ALK und ALB ersetzt Werner Probst TOPO graphics GmbH g is@ work

FLASH IMAGESLIDER PROFESSIONELL 4

Allgemeine Informationen über die Nutzung der Anwendung. Die Werkzeugleiste. = Streckenmessung

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: Datum:

Autodesk AutoCAD Certified User Skills

DDS-CAD Technik-Telegramm Ausgabe 3 - Dezember 2011

Makologa Touré Damian Gawenda

Allerdings ist die Bearbeitung von Standardobjekten vorerst eingeschränkt. Wir wollen uns dies im folgenden Beispiel genauer betrachten.

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Mind-Maps im Fachunterricht und ihre Umsetzung in Word for Windows, Microsoft Excel und Powerpoint

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

elml Flexibilität und Nachhaltigkeit dank XML

Handbuch. für die. Erstellung von Mehrfarbstempeln. mit. Corel Draw (Deutsch)

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

Das große Buch Photoshop CS3 & Lightroom Stefan Gross Pavel Kaplun

XML Grundlagen Teil I

Inhalt. 1 FAQ zum Geoportal Kamenz

Einführung in XML von Julian Bart

Kap. 2: und Systembestandteile. GIS-Architektur

Webfauna Android. Erhältliche Versionen Android Version und neuer. Herunterladen Erhältlich im Play Sotre für Android.

Transkript:

1 XML-basierte Visualisierung von Geodaten mittels SVG Prof. Dr.-Ing. Franz-Josef Behr

2 Gliederung Einleitung: Entwicklung, Übersicht einige Grundlagen Beispiele Dokumentstruktur, Aufbau einer einfachen SVG-basierten Karte Zusammenfassung

3 Entwicklung Sprachfamilie Sprache 2000 XSL XHTML SVG 1998 XML 1992 HTML World Wide Web 1986 SGML 1970 GML IBM: Charles Goldfarb Edward Mosher Raymond Lorie Internet Quelle: unbekannt

4 World Wide Web Consortium http://w3.org

5 Grundsätze von XML extensible Markup Language Dient der Definition von Sprachen (Grammatik und Vokabular) -> Auszeichnungselemente selbst schaffen Sätze von Auszeichnungen wiederverwendbar Strenge Syntaxregeln Trennung der Präsentation vom Inhalt -> GML / SVG

6 Die Basis: Elemente Elementname Attributname Elementname, Attributwertfrei wählbar <person wohnort="karlsruhe">franz-josef <person>franz-josef Behr</person> Start-Tag mit Attribut Start-Tag Elementinhalt End-Tag

7 Aufbau eines XML-Dokuments <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?> <!DOCTYPE punktliste [ <!ELEMENT punktliste (datum,punkt)> <!ELEMENT datum(#pcdata)> <!ELEMENT punkt (x,y)> <!ELEMENT x (#PCDATA)> <!ELEMENT y (#PCDATA)> ]> <punktliste> <datum>18.03.2005</datum> <punkt id='1000'> <x>3500000.0</x> <y>5400000.0</y> </punkt> <punkt id='1001'> <x>3500001.0</x> <y>5400001.0</y> </punkt> </punktliste> Wurzelelement / Dokumentinhalt Kindelemente XML-Deklaration Dokumententyp-Deklaration

8 Document Object Model (DOM) Knotentypen: punktliste Document DocumentFragment DocumentType DTD DTD datum punkt EntityReference Element punkt x Attr y ProcessingInstruction x y Comment id id Text id id CDATASection Entity Notation

9 Document Object Model (DOM) Strukturierung von XML-Dokumenten Sprach- und plattformneutrale Schnittstelle var Knoten = punktliste.getelementbyid(1000);... var Kinderknoten = Knoten.getChildNodes(); In SVG: Unterstützung DOM Grafiken können per JavaScript und anderen Programmiersprache manipuliert werden.

10 XML-Namensräume Eindeutige Benennung von Elementnamen Namensräumen, durch URI-Verweise identifiziert <TKFD xmlns:tkfd="http://www.lv-bw.de/tkfd" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://www.lv-bw.de/tkfd"> <tkfd:bahnhof> <tkfd:oar tkfd:id="ez00vpk">9201</tkfd:oar> <gml:centerof> <gml:point> <gml:pos>3515955.37 5409276.28</gml:pos> </gml:point> </gml:centerof> </tkfd:bahnhof> GML

11 GML-Visualisierung mittels Scalable Vector Graphics (SVG) XSL GML XSLT- Prozessor SVG

12 SVG XML-Sprache, lesbar Dateien oft sehr klein, da reiner Text. Hochauflösende Grafiken möglich, die auch bei Skalierung nicht an Qualität verlieren. Gute Qualität bei Rasterdaten (Resampling) hohe Farbtiefe Animationen ohne signifikanten Overhead Unterstützung DOM (Document Object Model) Grafiken können per JavaScript und anderen Programmiersprache manipuliert werden. Filter und Schatten.

13 Beispiele (offline) Landesvermessungsamt Baden-Württemberg: Thematische Kartenfachdaten Tuerlersee

14 Landesvermessungsamt Baden-Württemberg: Thematische Kartenfachdaten (TKFD) Zielsystem: Adobe Illustrator, geringfügige Änderungen / Aktualisierungen, dann Ausgabe Mit SVG: neuer Workflow Vorteil: wesentlich schneller "in letzter Sekunde" Änderungen im Vektordatensatz Keine Einschränkung wie bei der Bearbeitung von Rasterdaten.

15 Landesvermessungsamt Baden-Württemberg: Thematische Kartenfachdaten in SVG

SVG http://www.carto.net/papers/svg/tuerlersee/ 16 Tuerlersee

SVG http://www.carto.net/papers/svg/tuerlersee/ 17 Schummerung

http://www.carto.net/papers/svg/tuerlersee/ 18 Tuerlersee: : Höhenprofil

19 SVG-Dokumentaufbau Koordinatensystem, Canvas, Viewport Wurzelelement, Grundstruktur Aufbau eines Beispiels aus Geometrieelemente Effekte

20 Koordinatensystem, Canvas und Viewport Canvas Viewport +x +y

21 Erstellung eines SVG-Dokuments XML-Prolog <?xml version="1.0" standalone="no"?> DTD einfügen <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" http://www.w3.org/graphics/svg/1.1/dtd/svg11.dtd> <rect>, <circle>, <line>,... <rect>, <circle>, <line>,... Stileigenschaften Stileigenschaften Filter Filter Verläufe SVG-Wurzelelement mit Größenangaben Verläufe Animation einfügen Animation <svg id="map" width="600px" height="400px" viewbox="0cm 0cm 240cm 160cm" > </svg>

22 Geometrische Grundelemente Rechteck <rect... Kreis: <circle... Ellipse: <ellipse cx="200" cy="135" rx="50" ry="20" /> Linie: <line... Polyline : <polyline points="160,200 180,230 200,210 234,220" /> Polygon: <polygon points="350,75 379,161 569,111 397,215 423,301 350,250 277,301" /> Path: <path... Text <text...

23 Rechteck als Kartenrahmen <rect x="10" y="20" width="150" height="120"/> Koordinaten linke obere Ecke Breite Höhe <rect... fill="#eeeeff" stroke="red" stroke-width="1" /> Füllfarbe Farbe Umrandung Linienbreite Umrandung

24 Linie <line x1="10" y1="120" x2="50" y2="80"/> Koordinaten Anfangspunkt Koordinaten Endspunkt

25 Unser Beispiel... Gruppe von Straßen <g id="streets" stroke="yellow" stroke-width="0.9"> <line x1="10" y1="120" x2="50" y2="80"/> <line x1="50" y1="80" x2="150" y2="80"/> <line x1="60" y1="40" x2="60" y2="80"/> <line x1="100" y1="40" x2="100" y2="80"/> <line x1="140" y1="40" x2="140" y2="80"/> <line x1="80" y1="80" x2="80" y2="130"/> <line x1="135" y1="80" x2="135" y2="130"/> <line x1="40" y1="90" x2="20" y2="70"/> </g>

26 Kreise <circle cx="30" cy="30" r="3"/> Koordinaten Mittelpunkt Radius

27 Unser Beispiel... Gruppe von Bäumen <g id="trees" stroke="#009900" fill="#99ff99" stroke-width="0.4"> <circle cx="30" cy="30" r="3"/> <circle cx="40" cy="30" r="3"/> <circle cx="50" cy="30" r="3"/> <circle cx="60" cy="30" r="3"/> <circle cx="70" cy="30" r="3"/> <circle cx="80" cy="30" r="3"/> </g>

28 <path d="m 120,130L 130,120L 130,110 125,105 Pfade 115,100 110,115 110,125 z"/> Parameter: moveto(m,m) + x,y lineto (l,l) + x,y horizontallineto(h,h) + x, verticallineto(v,v) + y closepath(z,z), beendet die Darstellung des Pfades, mit m kann an einer anderen Stelle nach Unterbrechung fortgesetzt werden. kubische Bezierkurven (c,c; s,s), übernimmt je nach Kurventyp sechs oder vier Parameter quadratische Bezierkurven (q,q; t,t) übernimmt je nach Kurventyp vier oder zwei Parameter elliptische Kurven (a,a), zeichnet eine Ausschnitt einer Ellipse, inklusive der Rotation: sieben Parameter

29 Unser Beispiel... Vielleicht ein See... Farbe folgt später! <path d="m 120,130L 130,120L 130,110 125,105 115,100 110,115 110,125 z"/>

30 Text Start-Tag End-Tag <text x="15" y="135">abcdef</text> Position Textinhalt <text... style="font-family:arial;font-size:6>...</text> Schriftart Größe

31 Text: Weitere Möglickeiten gedrehter Text: <text x="32" y="66" transform="rotate(20)">strasse</text> Mehrzeiliger Text und Untergrupen <text x="140" y="73">mehrzeilig: <tspan x="140" y="98">erste Zeile</tspan> <tspan x="140" y="123">zweite Zeile</tspan> </text> Farben: Wechselnde tspan-elemente werden mit unterschiedlichen Farben belegt: <text class="cafl">die Farbe <tspan class="yel">gelb</tspan>, schlecht!</text> Zeichenabstand und -versetzung <text x="44" y="255" class="cafl"> Ein <tspan dy="-9"> hohes </tspan> <tspan rotate="10 35 50 65 80" dx="0 5 9 9 12"> Wort! </tspan> </text> Text längs Linie

32 Unser Beispiel...... <text x="15" y="135" style="font-family:arial;fontsize:6">svg Map</text>...

33 Definitionen: das <defs> < defs>-element Container-Element Darin: Definitionen von Objekten, die in der Grafik von anderen Objekten referenziert (verwendet) werden können (einzelne Elemente, Gruppen, Symbole, Farbverläufe oder Filtereffekte). Elemente nur sichtbar, wenn sie innerhalb der Grafik von anderen Elementen referenziert werden. Elemente, die Referenzen darstellen, immer innerhalb des defs- Container platzieren! <defs> <rect id="house" width="5" height="5"/> </defs>

34 Das <use> < use>-element Mit dem use-element wird eine Instanz einer bereits bestehenden Vorlage erzeugt, d.h. sie können mit dem Element use andere Elemente bzw. Objekte referenzieren. Die Attribute x und y verlegen den Standort der Instanz, dabei ist der Nullpunkt der Nullpunkt des Elements und nicht der gesamten SVG-Grafik. <use xlink:href="#house" x="105" y="50" />!

35 Transformationen Allgemeine Syntax: <g transform=command (parameter)"> scale (zum Skalieren) rotate (zum Rotieren) translate (zum Verschieben) skewx skewy (zum Neigen in x- oder y-richtung) matrix (zum allgemeinen Verzerren einschließlich Skalieren, Rotieren, Verschieben und Neigen).

36 Unser Beispiel... Reihenfolge der Transformationen beachten! <!-- bottom left road, left side --> <g transform="translate(65,90)"> <use xlink:href="#house" x="0" y="0 transform="scale(1.5)"/> </g>

37 Hyperlinks Anchor-Tag, vergleichbar HTML, Jedoch: href entstammt hier dem xlink-namensraum. <a xlink:href="http://www.fewo-wuerzburg.de/">... </a> a -Element Namensraum xlink href-attribut URL

38 Filter Quelle: w3.org

39 Unser Beispiel... <defs> <rect id="house" width="5" height="5"/> <filter id="schatten"> <fegaussianblur stddeviation="5" /> </filter> <rect x="10" y="20" width="150" height="120 transform="translate(3, 3) style="filter:url(#schatten); fill='#999999' stroke='#999999 stroke-width='1' />

40 Verlauf (Gradienten) gleichmässige Abstufung von einer Quell- hin zu einer Zielfarbe. Unterscheidung lineareverläufe radiale Verläufe jeweils durch Form und Richtung des Verlaufsmusters charakterisiert.

41 Unser Beispiel... Im defs -Abschnitt <radialgradient id="radial" cx="50%" cy="90%" r="60%" fx="60%" fy="80%"> <stop offset="0%" style="stop-color:rgb(0,15,150);stop-opacity:1"/> <stop offset="1%" style="stop-color:rgb(128,128,255);stop-opacity:1"/> <stop offset="50%" style="stop-color:rgb(0,0,255);stop-opacity:1"/> </radialgradient> Um den "See" herum: <g id="lake" stroke="#0000ff" fill="url(#radial)" stroke-width="0.4"> <path d="m 120 130L 130 120L 130 110 125 105 115 100 110 115 110 125z"/> </g>

42 Animation Im defs-abschnitt <symbol id="car" overflow="visible"> <rect x="-1" y="-1" width="4" height="2" style="fill: rgb(240,65,25); fill-opacity: 0.8; stroke: rgb(55,0,0); stroke-width:0.1" /> </symbol> <path id="carpath" d="m 10 120 50 80 150 80" /> <g id="animationpaths"> <use xlink:href="#car"> <animatemotion id="animmotioncar" dur="10s;" repeatcount="indefinite" rotate="auto-reverse"> <mpath xlink:href="#carpath"/> </animatemotion> </use> </g>

43 Zusammenfassung

44 Zusammenfassung XML: Metasprache Grundlage einer Vielzahl von Sprachen und Einsatzmöglichkeiten in allen Bereichen der IT Von Mensch und Maschine gleichermaßen gut lesbar International und plattformunabhängig einsetzbar

45 Relevanz von XML im GI-Bereich Geography Markup Language (GML) NAS künftiges Austauschformat der AdV häufig zur Beschreibung von Metadaten genutzt XML-based messaging: WMS GetCapabilities, GetFeature... für GetMap-Ergebnisse ist SVG optionales Ausgabeformat LandXML.org ESRI: Arc Extensible Markup Language (ArcXML), the file format ArcIMS uses for communication between ArcIMS components Scalable Vector Graphics (SVG)

46 Résumée SVG Integration von vektor- und rasterbasierten raumbezogenen Daten einschließlich Sachdaten, exzellente Darstellung, hohes Maß an Interaktivität (Zoom, Verschieben des Bildaussschnittes, ), Kopplung zwischen verschiedenen Elementen bzw. Gruppen (Übersichtskarte / Detailkarte, Karte / Attribute), interaktive Analyse / Abfrage der Daten

47 GI-Systeme und SVG Direkte Unterstützung: MicroImages TNTmips, http://www.microimages.com/documentation/svg.h tm SVG-Erzeugung über Add-ons: ArcView(Shape2SVG,...) MapInfo(Map2SVG, SVGMapMaker,...) Manifold (Master Thesis P&GI) FME, http://www.safe.com/reader_writerpdf/svg.pdf

48 Links Die SVG-Website für Kartographie / GIS: http://www.carto.net/ SVG-Tutorials: http://svg.tutorial.aptico.de/ http://www.datenverdrahten.de/ http://www.scale-a-vector.de/ http://www.s-v-g.net/faq.htm Der Spezialist für SVG / PDF, PostScript: http://www.adobe.com/svg/ http://www.siliconpublishing.org/svgfaq/core.asp Linkslisten: http://www.carto.net/papers/svg/links/ http://www.gis-news.de/svg/svg.htm für Verspielte unter den Zuhörern: http://www.battlebots.com/

49 SVG <message>viel Spaß!</message>

50 Bereitstellung von SVG-Dokumenten im Internet Client "User Agent" Webserver Document root http Internet http SVG Dokumente Adobe SVG Viewer CGI-Protokoll CGI-Programme Ggf. dynam. Generierung von SVG-Dokumenten