Home
Bachelorarbeit Referenzimplementierung einer Mach
Contents
1. River 0 Lake 0 Desert 0 Island 0 Mountain 0 City Province 0 1 River 0 Sea 0 Lake 0 Island 0 1 Sea Province 0 City 0 Sea 0 River 0 Lake 0 Island 0 River Province 0 City 0 Sea 0 River 0 Lake 0 Lake Province 0 City 0 Sea 0 River 0 Lake 0 Island 0 Desert Province 0 Island Province 0 City 0 Sea 0 Lake 0 Mountain 0 Mountain Province Island 0 1 Die Referenzen sehen vor dass jedes Objekt nur mit seinem direkten Vorg nger bzw Nachfolger verbunden ist Beispielsweise steht eine City eigentlich mit einer Country in Beziehung Diese Relation ist aber indirekt ber die Province schon vorhanden Das Rendern der GeographicText und der Polyline ist so implementiert dass das Ob jekt in erster Linie die Daten aus Mondial darstellt Wenn aus Mondial keine Daten f r die Visualisierung vorhanden sind werden sie mit Daten aus OSM vervollst ndigt So wird gew hrleistet dass f r die Visualisierung der Gro teil der Daten zur Verf gung steht F r den Fall dass die Daten in Mondial vorhanden sind extrahiert die Anwendung zus tzlich Daten aus OSM Sie werden bei aktiver Validierung zus tzlich gerendert um Abweichungen mit dem Datenbestand von Mondial aufzeigen zu k nnen 38 Rekursion beim Rendern Um Objekte darzustellen die in Relation zueinander stehen existiert die Rekursionstiefe Je
2. im Umgang mit diesen Dateien haben so auch die Commons Compress Bibliothek 1 der Apache Software Foundatior Bei den parallel arbeitenden Versionen von bzip2 werden die Daten in mehreren einzel nen bzip2 Streams komprimiert und diese aneinandergereiht Die Commons Compress Bibliothek hingegen erwartet einen einzigen Stream der alle Daten enth lt So schlie t sie die Verarbeitung mit dem Ende des ersten Streams ab ohne die Daten der darauf folgen den Streams zu ber cksichtigen Die Erweiterung der Commons Compress Bibliothek ist im BZip2InputStrean imple mentiert Sie erweitert hierzu die Abstrakte Klasse CompressorInputStrean und bietet somit einen InputStrean zum Lesen aus bzip2 komprimierten Daten Genau wie bei der Klasse BZip2CompressorInputStrean erwartet der Konstruktor einen InputStream zum Lesen der komprimierten Daten Doch im Gegensatz zu dieser Klasse beendet die Erweiterung ihre Arbeit bei parallel komprimierten Daten nicht bereits nach dem ersten bzip2 Stream Es wird nacheinander f r jeden in der Datei enthaltenen bzip2 Stream ein BZip2CompressorInputStream erzeugt der nach wie vor die eigentliche De komprimierung bernimmt Somit erm glicht die Erweiterung der Apache Commons Compress Bibliothek den Stream basierten Zugriff auf Dateien die mit einer parallel arbeitenden Version von bzip2 kom primiert wurden Die Filterung der relevanten Daten kann somit ber eine Streamverar beitung realisiert werden ohn
3. ist anschlie end auf einem Frame zu platzieren Das Ergebnis ist eine Anwendung die einen 3D Globus der Erde anzeigt Dabei wird die Standardkonfiguration aus dem worldwind jar verwendet F r weitere Anpassungen kann ein eigener Ordner config im gleichen Verzeichnis ange legt werden in dem die eigenen Konfigurationsanpassungen m glich sind Layer Layer repr sentieren in World Wind die Implementierung einer oder mehrerer Funktio nalit ten So existieren bereits Layer die f r die Darstellung von Kartentexturen zust n dig sind Andere Layer sorgen f r die Abbildung bestimmter geografischer Objekte wie beispielsweise L ndergrenzen Political Boundaries oder Namen der Objekte Place Names Die zur Laufzeit zur Verf gung stehenden Layer werden von World Wind als seperate Darstellungsschichten betrachtet Jede dieser Schichten kann je nach Bedarf aktiviert oder deaktiviert werden Die Abbildung der einzelnen Schichten wird mitjeder Mausbewegung neu erzeugt was kurze Ausf hrungszeiten f r die Implementierung eines Layers fordert um flie ende Bewegungen darstellen zu k nnen http msdn microsoft com en us library bb943990 28VS 85 29 aspx 5 gov nasa worldwind awt WorldWindowGLCanvas 6 gov nasa worldwind BasicModel 32 Konfiguration ber die Datei worldwind xml werden die Grundeinstellungen f r World Wind vorge nommen Hier werden Optionen wie z B die initiale Entfernung des Blickpunktes vom Globus und die Verwendun
4. ngiges verteiltes und objektorientiertes System entwickelt Diese Technik erm glicht es verschiedenen Komponenten und Prozessen einfach mitein ander zu kommunizieren 2 1 3 Marble Marble 12 ist Teil des KDE Bildungsprojekte das freie Software f r den Bildungs und Erziehungssektor entwickelt und ist unter der GNU Lesser General Public Licensd ver f gbar Wie bei Google Earth handelt es sich hier auch um eine 3D Visualisierung der Er de des Mondes und des Mars Um die Hardwareanforderungen gering zu halten wird bewusst auf eine 3D Beschleunigung verzichtet Die n tige Skalierbarkeit ist durch die Verwendung von Vektorgrafiken realisiert Marble wird als unabh ngige Applikation ent wickelt die auf Ot4 und C basiert Das Projekt bietet Versionen f r Linux Mac OSX und Windows an die auf der Projektseite Plheruntergeladen werden k nnen F r eigene Weiterentwicklungen kann ein Ot4 Widget erstellt werden das dann noch in die eigene Applikation integriert werden muss ber eine vordefinierte Schnittstelle kann der Entwickler eigene Objekte auf dem 3D Globus darstellen ber die verschiedenen Themes werden unterschiedliche Karten dargestellt Anwender und Entwickler k nnen so Daten auch von anderen Anbietern z B OpenStreetMap anzeigen lassen 2 1 4 NASA World Wind NASA World Wind 21 ist ein Java Software Devolpment Kit SDK das unter dem NASA Open Source Agreement steht Bei World Wind handelt es sich um eine 3D Visualisi
5. nnte mit den Attributen role forward und role backward gekennzeichnet werden ob die Fahrtrichtung des Busses der Richtung des referenzierten way Elementes entspricht oder entgegengesetzt verl uft Auch bei durch relation ausgezeichneten Fl chen kommt das role Attribut h ufig zum Einsatz So z B bei der Auszeichnung von Verwaltungsgebieten Hierbei werden die Au engrenzen durch das Attribut role outer gekennzeichnet Die Abgrenzung von En klaven hingegen geschieht ber das Attribut role inner 3 4 Filterung relevanter Daten Die Datenbasis von OSM ist im Vergleich zu den im Rahmen dieses Projektes verwen deten Feature Types deutlich umfangreicher Um die Datenmenge auf eine von g ngigen Desktopsystemen handhabbare Menge zu reduzieren und damit die Abfrage von Features f r ein interaktives System nutzbar zu machen gilt es nur die ben tigten Data Primiti ves herauszufiltern In den folgenden Abschnitten werden zun chst die im Rahmen dieser 19 Studie entwickelten Kriterien zur Identifikation der einzelnen Feature Types beschrieben Darauf aufbauend wird die technische Umsetzung der Filterung mit Hilfe dieser Kriterien dargelegt 3 4 1 Identifikation der Feature Types Alle Data Primitives werden ber das tag Strukturelement beschrieben und so ihre Eigen schaften ausgewiesen Bei der Identifikation von bestimmten Feature Types gilt es folglich die Primitives anhand ihrer tag Elemente zu filtern Da keine Einschr nkungen b
6. r jeden Feature Ty 28 pe eine separate Datei entsteht Dadurch m ssen in Abh ngigkeit der gesuchten Feature Types nur deutlich kleinere Dateien durchlaufen werden Um dar ber hinaus auch die H ufigkeit mit der die Feature Type Dateien durchlaufen werden m ssen zu reduzieren ist die Suche so implementiert dass nach mehreren Features in einem Durchlauf gesucht werden kann Um die Gr e der Feature Type Dateien weiter zu reduzieren und somit die Suche zu beschleunigen wird zum einen eine deutlich kompaktere Version des osm XML Schemas verwendet und zum anderen der Detaillierungsgrad von linearen Objekten reduziert 3 6 3 Ausblick Durch den Einsatz einer Datenbank k nnten sich einige Vorteile erzielen lassen Das h u fige Parsen der Feature Type Dateien w rde entfallen und es k nnten Indizes erstellt wer den So lie e sich die Abfrage von Features mit einem deutlich besseren Laufzeitverhalten realisieren Es w rde sich anbieten den Einsatz einer derartigen Datenbank zu zentralisieren um die Benutzer von der Last zu befreien die Feature Type Dateien zu erstellen und vorzuhal ten Dies bietet zus tzlich den Vorteil dass der Dienst leicht von anderen Anwendungen genutzt werden k nnte F r diesen Zweck m sste die Implementierung lediglich um einen einfachen Web Ser vice erweitert werden Dieser k nnte den Datenzugriff in Form eines Web Feature Services erm glichen um die Interoperabilit t zu gew hrleisten 29 4
7. route Verwendung lt relation id 123688 user aighes 22 uid 110639 visible true version 22 changeset 4513322 timestamp 2010 04 24T16 28 52Z gt lt member type way ref 51528588 role gt lt member type way ref 4439473 role gt lt tag k destination v Aller gt lt tag k name v Leine gt lt tag k type v waterway gt lt tag k waterway v river gt lt relation gt Feature Type Lake Der Feature Type Lake wird entweder durch ein way oder ein node Primitive modelliert Bei Seen die detaillierter erfasst sind repr sentiert das way Primitive die Uferlinie In ei nigen F llen werden sogar relation Primitives verwendet Der Feature Type l sst sich anhand des tag Elementes lt tag k natural v water gt identifizieren Auf diese Weise werden allerdings alle Arten von Wasserfl chen ausge zeichnet So fallen sowohl kleinste k nstliche Teiche und Auffangbecken als auch gro e Seen darunter Zur Klassifizierung gibt es keine direkte M glichkeit Um nicht zu viele kleine Wasserfl chen zu filtern empfiehlt es sich die Existenz eines tag Elementes mit dem Schl ssel k name vorauszusetzen Die namentliche Erfassung garantiert in der Regel dass es sich um eine hinreichend gro e und bedeutende Wasserfl che wie beispielsweise einen See handelt lt way id 54685299 user KK 0 uid 14228 visible true version 6 changeset 5431065 timestamp 2010 08 08T09
8. steht aber in keinem akzeptablen Verh ltnis zu seinem Nutzen Eine andere M glichkeit ist es die Annotations versteckt auf dem Canvas zu platzieren und sie erst bei einem bestimmten Ereignis anzuzeigen Diese Variante liefert zwar das gew nschte Ergebnis aber es kommt mit steigender Anzahl von Annotations dazu dass die Darstellung ins Stocken ger t GUI Die zum MondialLayer geh rende GUI umfasst die Anzeige und Auswahlm glichkeiten fiir die verschiedenen Features Fiir jeden Feature Type existiert eine separate Liste um eine gezieltere Suche nach Objekten zu realisieren Anderenfalls konnte es dazu kommen dass es zwei Features mit gleichem Namen gibt Die Umsetzung einer Auswahl ist im DnDListener gt implementiert Wenn eine Aus wahl get tigt wird sorgt der DnDListener daf r dass die angefragten Objekte der Warte schlange f r den OSM Import hinzugef gt werden ber das Suchfeld k nnen zus tzlich Objekte gesucht werden die nicht in Mondial enthalten sind Diese Funktionalit t erwei tert die anzuzeigende Datenmenge auf die in OSM beinhalteten Features Weitere Optionen auf der GUI sind die Angabe der Rekursionstiefe und die Aktivierung oder Deaktivierung der Validierung von Mondial mit OSM Aus Laufzeitgr nden wurde die maximale Rekursionstiefe auf Stufe drei limitiert 4 3 Anmerkungen 4 3 1 Probleme Aufgrund der 3D Beschleunigung von World Wind kann es beim Rendern gro er Daten mengen zu Problemen bei der Darst
9. 1 Feature Type City Der Feature Type City wird durch ein node Primitiv modelliert welches das Stadtzentrum repr sentiert Es kann durch das tag Element lt tag k place v city gt identifiziert werden lt node id 240114841 lat 51 5336849 lon 9 9345070 user ToB uid 15766 visible true version 14 changeset 3205803 timestamp 2009 11 24T16 54 08Z gt lt tag k is_in v Niedersachsen Deutschland Europe gt lt tag k name v Goettingen gt lt tag k name de v Goettingen gt lt tag k name pl v Getynga gt lt tag k place v city gt lt tag k population v 122187 gt lt node gt Die Existenz eines tag Elementes mit dem Schl ssel k is_in ist bei diesem Feature Type optional Es dient lediglich der genaueren Beschreibung der entsprechenden Stadt und kann nicht als Referenz auf weitere Data Primitives verstanden werden Der Wert dieses tag Elementes wird dennoch bei der Suche von Features ber cksichtigt Feature Type River Beim Feature Type River wird der Flussverlauf entweder direkt durch das way Primitive oder durch mehrere way Primitives in einem relation Element modelliert Die Data Pri mitives lassen sich anhand des Wertes v river identifizieren welcher aber in Kom bination mit verschiedenen Schl sseln auftreten kann In der Regel wird der Schl ssel k waterway genutzt Insbesondere bei den relation Primitives finden aber auch die Schl ssel k collection und k
10. 1 gt lt tag k name v Brocken gt lt tag k natural v peak gt lt node gt 3 4 2 Technische Umsetzung Die im Rahmen dieser Arbeit entwickelte Anwendung zur Filterung relevanter Daten baut auf den zuvor entworfenen Kriterien zur Identifikation der Feature Types auf Diese er m glicht alle f r die Visualisierung und Validierung ben tigten Daten aus dem Bestand des OSM Projektes zu filtern Aufgrund der Gr e ist es nicht m glich den gesamten Datenbestand im Speicher zu halten um beispielsweise eine DOM orientiertd API zu verwenden Daher muss auf eine sequenzielle Verarbeitung wie die Simple API for XML SAX zur ckgegriffen werden Ein SAX Parser arbeitet ereignisorientiert Es ist eine Menge von Ereignissen definiert die bei der sequenziellen Verarbeitung der Daten beim Auftreten einer entsprechenden Struktur ausgel st werden Die wichtigsten mit SAX anfallenden Ereignisse startDocu ment startElement characters sind in dem Interface org xml sax ContentHandler definiert welche vom DefaultHandler implementiert wird Als abstrakte Oberklasse der Implementierung dient der OSMHandlel welcher vom DefaultHandler erbt Die Klasse stellt grundlegende Funktionalit ten zum Parsen der Data Primitives in osm Dateien bereit Zus tzlich enth lt sie Methoden zur Identifikation der Feature Types gem den oben genannten Kriterien Vom OSMHandler werden drei weitere Klassen abgeleitet der RelationHandler gt de
11. 46 40Z gt lt nd ref 694712100 gt lt nd ref 694712100 gt 23 lt tag k boat v yes gt lt tag k is_in vs Deutschland Oesterreich Schweiz gt lt tag k name v Bodensee gt lt tag k name cs v Bodamske jezero gt lt tag k name pt v Lago de Constanca gt lt tag k natural v water gt lt tag k Wikipedia de v Bodensee gt lt way gt Feature Type Island Der Feature Type Island wird durch ein node Primitive modelliert welches einen Punkt auf der Insel repr sentiert Es kann durch das tag Element lt tag k place v island gt identifiziert werden lt node id 208865934 lat 54 9256495 lon 8 3408698 user Spongilla uid 25729 visible true version 3 changeset 5072188 timestamp 2010 06 25T09 33 10Z gt lt tag k name v Sylt gt lt tag k name dk v Sild gt lt tag k place v island gt lt node gt Feature Type Mountain Der Feature Type Mountain wird durch ein node Primitive modelliert welches den Berg gipfel repr sentiert Es kann durch das tag Element lt tag k natural v peak gt identifiziert werden ber ein tag Element mit dem Schl ssel k ele wird h ufig noch die H he des Berges angegeben 24 lt node id 26862634 lat 51 7991241 lon 10 6155733 user Ebbe73 uid 55521 visible true version 16 changeset 4964280 timestamp 2010 06 11T18 02 06Z gt lt tag k ele v 114
12. Canvas registriert werden DrawContext P bildet die Kernkomponente f r die Darstellung der Objekte Er ber nimmt entweder direkt oder indirekt z B ber den GeographicTextRenderer das Rendern der ben tigten Objekte 4 2 2 Verwendete Klassenstruktur Die zugrunde liegende Klassenstruktur wurde auf Grundlage des ER Diagramms Po von Mondial entworfen Sie dient als interne Datenhaltung f r die vorhandenen Features In dem Paket de uni_goettingen informatik dbis worldwind objects befinden sich die Klassen f r die einzelnen Feature Types aus Mondial die alle von dem Grundtyp GeoObject erben 24 gov nasa worldwind geom Angle 25 gov nasa worldwind geom Sector 26 gov nasa worldwind event PositionEvent 27 gov nasa worldwind event PositionListener 28 gov nasa worldwind render DrawContext 29 gov nasa worldwind render GeographicTextRenderer http www dbis informatik uni goettingen de Teaching DBP files mondial ER pdf 36 GeoObject Das GeoObject definiert f r alle erbenden Objekte die gr tm gliche Schnittmenge die aus einer ID einem Namen und Koordinaten besteht Um die Darstellung in World Wind zu realisieren kommen folgende Objekte aus dem Java SDK zum Einsatz Der Sector dient der Sichtbarkeitspr fung der darzustellenden Objekte und wird durch die aufgespannte Boundingbox des GeoObject definiert Er muss dazu die Schnittmenge mit dem visibleSector des DrawContext berechnen Ein GeoObject kann durch einen
13. OSM bezogen werden 49 6 Lizenzen 6 1 Apache Commons Compress Die Bibliothek Apache Commons Compress steht unter der Apache License Version 2 0 2 Folglich kann dieses Projekt die Software frei verwenden Ihm muss aber eine Kopie der Lizenz beigef gt sein 6 2 OpenStreetMap OpenStreetMap besteht aus freien Daten die gem der Lizenz Creative Commons Attribu tion ShareAlike 2 0 CC BY SA 5 verf gbar sind 6 3 World Wind Das Java SDK von World Wind steht unter dem NASA Open Source Agreement v 1 3 13 Folglich kann dieses Projekt die Software frei verwenden unter folgenden Voraussetzun gen e Es muss eine Kopie der Lizenz beiliegen e Die Anwendung muss frei zur Verf gung gestellt werden e Der Quellcode muss frei verf gbar sein e Eigene nderungen m ssen selbst entwickelt werden und d rfen von keinem Dritt anbieter stammen Die Free Software Foundatiorf erkennt diese Lizenz aufgrund des letzten Punktes als keine freie Lizenz an weil die Open Source Entwicklung davon lebt eigenen Quellcode mit anderen zu kombinieren 1 http www gnu org licenses license list html 50 7 Fazit F r die Visualisierung geografischer Daten bietet sich eine Reihe von Systemen an Es zeigt sich dass der Funktionsumfang in allen F llen das Zeichnen grafischer Primitive erm g licht So ist die Darstellung beliebiger geografischer Objekte m glich Die Wahl des ver wendeten Systems l sst sich daher ausschlie lich
14. Visualisierung Die Visualisierung wird in dieser Studie mit Hilfe von World Wind realisiert Zun chst folgt ein kurzer Einblick in die Geschichte und der zugrunde liegenden Technologien von World Wind Anschlie end wird die technische Umsetzung der Implementierung vorge stellt Erg nzt wird das Kapitel mit einer bersicht der aufgetretenen Probleme und einem kurzen Ausblick f r weiterf hrende Entwicklungen 4 1 World Wind World Wind wurde im Herbst 2004 unter der NASA Open Source Agreement v1 3 ver ff entlicht In diesem Stadium der Entwicklung handelte es sich noch um eine eigenst ndi ge Anwendung die unter dem NET Framework und DirectX lief Aufgrund dieser Sys temanforderungen war World Wind nur unter Microsoft ab Windows 2000 lauff hig Die Applikation bot in dieser Version bereits Funktionen f r die Darstellung von KML und Shapefiles und das Einbinden von Web Map Services und Web Feature Services Ftir die Entwicklung von Add ons wurde eine Schnittstelle auf Basis des NET Framework bereit gestellt Am 8 Mai 2007 wurde das Java SDK ver ffentlicht World Wind ist mit dieser Umstel lung keine eigene Applikation mehr sondern dazu gedacht die Funktionen von World Wind in eigene Applikationen zu integrieren Durch die Umstellung auf Java wurde ei ne einfache Portierbarkeit zwischen verschieden Systemen geschaffen die gute M glich keiten f r Multiplatformapplikationen bietet Ein weiterer Schritt war die nderung der Pr
15. angelegt werden Unter Ubuntu befindet sich die Anwendung in den universe Repositories F r ande re Linux Systeme sind die Sourcen auf http dri freedesktop org wixi DriConf ver fiigbar Je nach Startmodus legt DRIconf beim Systemstart eine neue Konfigurationsdatei an in der es die Einstellungen speichert Auf dem Reiter Bidlqualit t befindet sich die zu aktivierende Option Aktiviere S3TC Texturkomprimierung auch wenn die n tige Soft wareunterst tzung fehlt Ohne die Aktivierung kann es auf einigen System dazu f hren dass World Wind die Texturen f r den Globus nicht darstellen kann Der Datenimport ben tigt das mondial xml und die type Dateien f r die osmFeatures Bibliothek und erwartet dass sie sich in dem Verzeichnis data befinden Das Installations paket h lt bereits erste Versionen bereit die bei Bedarf aktualisiert werden k nnen 46 5 3 3 Ausf hrung Die Anwendung erwartet dass sie immer aus dem Verzeichnis ausgef hrt wird in dem sich das Jar File befindet Anderenfalls k nnte es dazu kommen dass die Anwendung die Pfade nicht richtig aufl sen kann und keine oder falsche Daten l dt Der Befehl um die Anwendung zu starten lautet java jar mondial jar wenn die Bibliotheken sich im Unterverzeichnis der JVM z B jvm java 6 sun jre lib ext befinden Anderenfalls muss der java library path jedes Mal beim Aufruf erweitert werden mit java Djava library path path lib jar mondial jar Na
16. auf Grundlage der Rahmenbedingungen treffen Die Wahl der Datenquelle hat hingegen einen deutlich gr eren Einfluss auf die G te der Visualisierung und Validierung F r die optimale Repr sentation des Mondial Daten bestandes w re eine Quelle n tig die alle geforderten Feature Types in ausreichendem Umfang enth lt Viele der aktuellen freien Projekte in diesem Bereich erreichen den gefor derten Umfang nicht Dies ist zum einen auf den langwierigen Prozess der Datenerfassung zum anderen auf die Zielsetzung der Projekte zur ckzuf hren 51 Quellenverzeichnis 1 Apache Commons Compress http commons apache org compress 2 Apache License http www apache org licenses LICENSE 2 0 html 3 Christian Ullenboom Java ist auch eine Insel 8 Auflage 4 COM API von Google Earth http earth google com comapi 5 Commons AttributionShareAlike 2 0 http creativecommons org licenses by sa 2 0 6 Component Object Model http www microsoft com com default mspx 7 GeoNames Projekt http www geonames org 8 Google Earth http earth google com intl de 9 Java Binding f r die OpenGL Spezifikation http jogamp org jogl www 10 Lesson Using Swing Components http download oracle com javase tutorial uiswing components index html 11 Mapnik http mapnik org 12 Marble Projekt http edu kde org applications all marble 13 Nasa Open Source Aggrement http worldw
17. ay und relation beschrieben und im Folgenden als Data Primitives bezeichnet Die Referenzen innerhalb der Data Primitives lassen sich ber die Strukturelemente nd und member realisieren Das ref Attribut der nd Elemente dient der Referenzierung von nodes innerhalb von way Primitives Innerhalb von relation Primitives findet das member Element Verwendung Das ref Attribut gibt die Referenz und das type Attribut den referenzierten Typ an Au erdem k nnen die drei Data Primitives mit Eigenschaften ausgezeichnet werden Dies geschieht durch ein weiteres Strukturelement den tag Jeder tag besteht aus einem Schl ssel Wert Paar lt tag k key v value gt Weder f r den Schl ssel noch f r den Wert existieren generelle Einschr nkungen Den noch gibt es eine Reihe von Empfehlungen zur Auszeichnung einzelner Feature Types durch bestimmte tag Elemente Dies soll eine einheitliche Interpretation und Darstellung der Data Primitives erm glichen Nach der Auflistung der gemeinsamen Attribute folgt eine n here Betrachtung jedes einzelnen Data Primitives id gibt eine eindeutige Identifikationsnummer innerhalb gleichartiger Data Primitive an user uid geben den Namen und die Identifikationsnummer des Benutzers an welcher zuletzt das entsprechende Element ge ndert hat http www w3 org XML http wiki openstreetmap org wiki Map_Features 16 timestamp gibt den Zeitpunkt der letzten Bearbeitung an visible gibt an ob das Eleme
18. ch dem Start der Anwendung erscheint folgende Oberfl che Men ile Conifguration Layers Stars Layer List Atmosphere NASA Blue Marble Image y Blue Marble WMS 2004 i cubed Landsat USDA NAIP MS Virtual Earth Aerial USGS Urban Area Ortho _ Political Boundaries C Place Names _ World Map O Scale bar _ Compass C Mondial Mondial Layer Anzeige Fenster Information Bar Altitude 1 Lat 18 9013 Lon 35 9920 Elev di Abbildung 5 1 World Wind Graphical User Interface Auf dem Fenster befindet sich ein Men f r die die individuelle Anpassung der darzu stellenden Objekte Das Fenster unterteilt sich in die zwei Bereiche Anzeige und Layer Liste In der Anzeige wird der 3D Globus dargestellt ber die Layer Liste k nnen die verschiedenen Layer aktiviert oder deaktiviert werden Mit der Aktivierung des MondialLayers wird die zugeh rige Oberfl che eingeblendet Der grundlegende Aufbau ist so gestaltet dass sich im oberen Bereich die Listen mit den 47 verschiedenen Feature Types befinden Im Zusammenspiel mit dem dar ber liegenden Suchfeld wird in der aktiven Liste nach Objekten gesucht Die bersicht aller ausgew hl ten Objekte befindet sich in einer weiteren Liste die sich unterhalb der Feature Type Listen ansiedelt Weitere Optionen sind die Validierung mit Daten aus OSM und die Einstellung der Rekursionstiefe f r das Darstellen von Objekten und ihrer relationalen Features So k nne
19. der Jar Datei erzeugt Zus tzlich wird ein Datenauszug des OSM Projektes ben tigt Die Datei planet osm bz2 kann unter http planet openstreetmap org heruntergeladen werden Uber den Aufruf java jar osmFeature jar lt planet osm bz2 gt Ihttp ant apache org 45 unter Angabe der heruntergeladenen OSM Datei werden die Feature Type Dateien type1 type7 im aktuellen Arbeitsverzeichnis erzeugt 5 3 World Wind 5 3 1 Systemanforderungen F r die Verwendung von World Wind werden folgende Anforderungen an das System gestellt e eine OpenGL fahige Grafikkarte e Sun Java Runtime Enviroment ab Version 5 1 5 e ca 150 bis 200 MB Speicherplatz fiir die Installationsdateien e zus tzlich ben tigt der Cache von World Wind im Benutzerverzeichnis ca 500 bis 1000 MB Speicherplatz 5 3 2 System Einstellungen World Wind verwendet f r die Darstellung S3TC komprimierte Texturen Auf Microsoft Windows basierten und Mac OSX Betriebssystemen sollte dieses Format keine Schwierig keiten machen Auf Unix Linux Betriebssystemen k nnte die ben tigte Softwareunterst zung fehlen Aus diesem Grund wird DRlconf ben tigt um die Texturen trotzdem zu ver wenden Die Anwendung DRlconf ist eine Verwaltungsapplikation f r die Direct Rendering In frastruktur Die Performance und die optische Qualit t der OpenGL Treiber passt sie indi viduell an Die Einstellungen k nnen systemweit benutzerabh ngig oder anwendungsab h ngig
20. direkte Integrati on der Auszeichnungen in die Grafiken Durch die unabh ngige Erstellung der Grundgra fiken k nnten diese optimal platziert werden ohne dass die erw hnten Fehlinterpretatio nen auftreten Genauere Aussagen ber das Verhalten k nnen aber erst mit Hilfe von Prototypen ge t tigt werden Vermutlich w rde das dritte Verfahren zum gew nschten Laufzeitgewinn f hren und so in einer noch besseren Benutzbarkeit der Anwendung resultieren 44 5 Benutzerhandbuch 5 1 Apache Ant Dem Projekt sind zwei Buildfiles build xml zur Ausf hrung mit Apache Ant beigefiigt Mit Hilfe dieser k nnen die Bin rdateien die Jar Dateien und die Javadoc Dateien erstellt werden Es stehen folgende Targets zur Auswahl bereit ant clean bisher erstellte Dateien werden gel scht ant init erstellt die Verzeichnisse f r die Bin rdateien das Jar File und die Javadoc Dateien ant compile erstellt die Bin rdateien ant jar erstellt das Jar File ant doc erstellt das Javadoc f r das Projekt ant build erstellt die Bin rdateien das Jar File und die Javadoc Dateien Das Default Target ist ant build und wird automatisch beim Aufruf von ant ausge f hrt 5 2 Erzeugung der Feature Type Dateien Zum Erzeugen der Feature Type Dateien dient das Programm osmFeatures Es steht im gleichnamigen Verzeichnis zur Verf gung Durch die Ausf hrung des beiliegenden Build files build xml mit dem Aufruf ant wird das Unterverzeichnis jar samt
21. e eine vorherige Dekomprimierung vorauszusetzen Shttp www apache org de uni _goettingen informatik dbis compressors BZip2InputStream Sorg apache commons compress compressors CompressorInputStream 6java io InputStream 7 org apache commons compress compressors bzip2 BZip2CompressorInputStream 15 3 3 osm Daten F r die Verarbeitung der osm Daten gilt es zun chst die verwendete Struktur zu analysie ren welche im Folgenden beschrieben wird Die geografische Beschaffenheit von Features wird im OSM Datenbestand mit Hilfe von drei Objektarten modelliert einem Punkt Objekt einem Linien Objekt und einem Objekt zur Beschreibung von Beziehungen Einzelne Orte wie Briefk sten oder Telefonzellen werden durch ihre GPS Koordina ten repr sentiert und in Form eines Punkt Objektes modelliert Die Punkt Objekte dienen dar ber hinaus dazu lineare Objekte aufzubauen Beispielsweise wird ein Feature wie ein Fluss durch mehrere den Flussverlauf wiederspiegelnde Punkt Objekte innerhalb eines Linien Objektes modelliert Zus tzlich k nnen zusammengesetzte und abstrakte Features in Form von Beziehungen modelliert werden Hierzu fasst ein weiteres Objekt die einzel nen Objekte aus denen das Feature besteht zusammen So kann eine Buslinie modelliert werden indem alle von dem Bus befahrenen Stra en zusammengefasst werden Diese drei Objektarten werden in den osm Dateien in der Extensible Markup Langua gq durch die Strukturelemente node w
22. ea tures implementiert Unter Angabe des entsprechenden Feature Types kann nach dem Namen eines Features gesucht werden Prazisierend kann der Name eines Verwaltungs gebietes innerhalb dessen das Feature liegt angegeben werden F r jede Suchanfrage wird die entsprechende Feature Type Datei durchlaufen und al le enthaltenen Data Primitives untersucht Hierbei f llt das Augenmerk auf die drei tag Elemente mit den Schl sseln k name k name en und k name_int in welchen sprach abh ngige Varianten des Namens enthalten sind Auf Grundlage dieser wird f r jedes Data Primitive die Relevanz in Bezug auf den Suchbegriff berechnet Wurde ein Verwaltungsgebiet des Features angegeben und ist ein tag Element mit dem Schl ssel k is_in vorhanden so kann die Relevanz des entsprechenden Data Primitives dementsprechend erh ht werden Die Berechnung der Relevanz beruht auf der Genauigkeit der bereinstimmung von Suchbegriff und Wert der tag Elemente Hierf r werden drei F lle unterschieden wobei in allen F llen die Gro und Kleinschreibung irrelevant ist Dem ersten Fall werden nur exakte bereinstimmungen zugeordnet Der zweite Fall deckt bereinstimmungen unter Ber cksichtigung von verschiedenen Trennzeichen und Umlauten ab Die beiden Trenn zeichen Bindestrich und Leerzeichen werden als gleichbedeutend betrachtet Zus tzlich k nnen Umlaute durch ihre entsprechenden Vokale substituiert werden Der dritte Fall stellt die ungenaueste be
23. ei der Wahl des Schl ssels und Wertes existieren ist es schwer generelle Regeln zur Identifikati on von einzelnen Feature Types anzugeben Anhand der Empfehlungerf zur Vergabe von tag Elementen und mit Hilfe von Beispielen ist es dennoch gelungen f r die Praxis funk tionst chtige Filter zu erstellen Es folgt eine Auflistung der Kriterien zur Identifikation der einzelnen Feature Types Feature Type Country Die geografische Repr sentation des Feature Types Country erfolgt durch die Au engren zen des Landes Grenzen eines Verwaltungsgebietes werden durch das tag Element lt tag k boundary v administrative gt ausgezeichnet Die Ebene der Verwaltungseinheit wird durch ein weiteres tag Element gekennzeichnet Es wird entweder der Schl ssel k admin_level oder k border_type genutzt F r den Schl ssel k admin_level nimmt der Wert eine Ganzzahl zwischen eins und zehn an Der Wert v 2 kennzeichnet die nationalen Grenzen Bei dem Schl ssel k border_type kann der Wert v nation oder v country nationale Grenzen kenn zeichnen Der Feature Type Country wird in der Regel durch das Primitive relation modelliert welches weitere way Primitives referenziert In diesem Fall stellen die way Elemente die Grenzabschnitte zu den einzelnen Nachbarstaaten dar Zus tzlich wird in einigen F llen noch die Hauptstadt des Landes in Form eines node Elementes referenziert lt relation id 50046 user GeorgFausB uid 72151 visible
24. einzigen Punkt dargestellt werden Zu diesem Punkt typ geh ren die Feature Types City Island und Mountain Fl chen und Linien werden dagegen durch die Linientypen verk rpert Sie bestehen aus mehreren Linien die beim Rendern eine Fl che Country Province Lake oder eine Linie River repr sentieren Linienz ge speichert das GeoObject in Polyline und bernimmt das Rendern eigenst n dig um unabh ngig von dem verwendeten Layer arbeiten zu k nnen Wegen der Unge wissheit ber den Zustand von Linienz gen k nnen Objekte aus mehreren Linienz gen bestehen So werden die Linien separat gerendert was f r die Darstellung nur einen ge ringen Unterschied bedeutet Es k nnten L cken entstehen die in aller Regel sehr klein ausfallen wenn Start und Endpunkte von zwei benachbarten Linen nicht identisch sind GeographicText repr sentieren die textuelle Auszeichnung des Namens Das Geo0bject unterscheidet bei der Platzierung zwischen der Art des eigenen Objektes Wenn es sich um einen Punkttyp z B City handelt platziert es den Text genau auf die hinterlegten Koor dinaten Bei Linientypen z B Province positioniert es die Auszeichnung dagegen in die Mitte des Sector F r die Validierung bzw Vervollst ndigung der Koordinaten die pri m r aus Mondial bezogen werden nimmt das Objekt zus tzlich die Daten aus dem OSM Import auf Wegen unterschiedlicher Schreibweisen kann es dazu f hren dass der Import mehr als eine Koordinate bereitstell
25. eit ber die Klasse Conf iguratiorf vorgenommen werden Hierbei handelt es sich um eine statische Klasse die bei der ersten Verwendung automatisch die Konfigurationsdateien liest Die Klasse bietet Methoden zum Lesen und ndern der Parameter Genauere Informationen sind im Javadoc der Klasse zu finden 4 2 Technische Umsetzung 4 2 1 Verwendete Komponenten aus World Wind F r diese Studie wird eine Reihe von Komponenten aus World Wind ben tigt Die Auf listung zusammen mit ihren Beschreibungen soll aufzeigen welche M glichkeiten f r die Entwicklung zur Verf gung stehen und wie sie eingesetzt werden k nnen 7 gov nasa worldwind Configuration 33 WorldWindowGLCanvas Plist eine heavyweight AWT Komponente die fir die Darstel lung des Model mit dem beinhalteten Globe und der Layer zust ndig ist Es bildet das Grundger st f r jede World Wind Applikation und basiert auf dem GLCanvaq um die 3D Daten darzustellen Globe repr sentiert den darzustellenden Globus Implementierungen dieses Interface stellen die verschiedenen abzubildenden geometrischen Formen und Planeten dar Ein Globe kann dazu als Ellipsoid oder Fl che dargestellt sein Auf dem definierten geometrischen Objekt k nnen anschlie end die Texturen platziert werden Es exis tieren bereits verschieden Klassen f r die Erde Mars und Mond BasicModel list eine Implementierung des Interfaces Model Um die Anwendungsdaten unabh ngig von der eigentlichen Darstellung
26. ellung kommen Je nach Hardware k nnen diese Pro bleme in ihrer Intensit t variieren Deshalb wurde versucht bei der Umsetzung m glichst ressourcensparend vorzugehen um die Anwendung einem m glichst gro en Anwender kreis zug nglich zu machen Um die Anzahl der darzustellenden Objekte nur auf den sichtbaren Bereich zu redu zieren wird f r jedes Objekt das aus Linien besteht eine Boundingbox angelegt Die da 31 de uni_goettingen informatik dbis WorldWind Controller DnDListener 42 mit m gliche Sichtbarkeitspr fung reduziert die Anzahl der anzuzeigenden Objekte mit steigender Zoomstufe Auf niedrigen Stufen besteht der sichtbare Sector jedoch aus sehr gro en Kartenausschnitten wodurch diese Ma nahme ihre Vorteile nicht voll ausreizen kann Ein weiteres Mittel zur Reduzierung des Rechenaufwandes ist es Linienz ge nur zu rendern wenn der Globus sich nicht bewegt So stellt die Anwendung trotz gro er Daten mengen eine fl ssige Bewegung dar Um trotzdem eine Orientierung zu erm glichen sind die Textauszeichnungen immer sichtbar Die Auszeichnung von Linienz gen und ihren eingeschlossenen Fl chen stellt weiterhin ein Problem da Es wird versucht die Auszeichnungen immer in die Mitte der Bounding box des Objektes zu platzieren Objekte die durch die Suche falsche bzw zu viele Ergebnis se enthalten spannen einen zu gro en Sector auf was eine Fehlplatzierung der Auszeich nung zur Folge hat Dieses wird dadurch hervorgeruf
27. en dass der OSM Import bei der Suche unterschiedliche Schreibweisen und das Enthaltensein berpr ft So kann beispiels weise bei der Suche nach der Havel auch der Oder Havel Kanal gefunden werden Aber auch Objekte die aus nicht zusammenh ngenden Teilen bestehen k nnen dieses Verhalten hervorrufen Beispielsweise besitzen die Niederlande Inseln in der Karibischen See Wegen der gro en Entfernung wird die zugeh rige Boundingbox sehr breit was zur Folge hat dass die Auszeichnung f r die Niederlande mitten auf dem Atlantischen Ozean platziert wird 4 3 2 Ausblick F r kommende Erweiterungen k nnten die Laufzeitprobleme weiter minimiert werden indem f r Darstellung anstelle der Polyline Grafiken verwendet werden die nur auf der Oberfl che abgebildet werden m ssen Der Layer Political Boundaries zeigt erste An s tze f r die Projizierung der Grafiken auf den 3D Globus Die Implementierung f r die Projizierung ist wahrscheinlich mit geringen Aufwand zu realisieren Die Erzeugung der Grafiken dagegen w rde einen erheblichen Mehraufwand bedeuten Implementierungen dieser L sung k nnten auf drei verschiedenen Techniken basieren Eine M glichkeit ist es die Grafiken dynamisch zu erzeugen Der Vorteil dabei w re dass mehrere Features in einer Grafik enthalten sein k nnten Die Erzeugung neuer Grafiken f hrt eventuell wieder Laufzeitprobleme Es ist denkbar dass die Anwendung ins Stocken kommt weil die Wartezeit f r die Berechn
28. en sich rechteckige Kartenausschnitte definiert durch einem minimalen und maximalen Breiten und Langengrad beziehen Allerdings existieren starke Einschrankungen ftir diese Abfragen Um die Last auf den Server zu re duzieren ist die maximale Gr e eines Kartenausschnittes auf ein viertel Grad sowohl Breiten als auch L ngengrad beschr nkt Au erdem ist die intensive Nutzung durch h u fige Abfragen untersagt Um gr ere Kartenausschnitte zu beziehen stehen neben einem eigenen Downloadser ver des OSM Projektes weitere Spiegelserver zur Verf gung Neben einem kompletten Ab bild der Datenbank werden Ausschnitte z B von einzelnen L ndern angeboten Ihttp wiki openstreetmap org wiki API_v0 6 http wiki openstreetmap org wiki Planet osm 14 Die Daten werden in beiden F llen XML formatiert in osm Dateien ausgeliefert Gro e Kartenausschnitte k nnen schnell mehrere Gigabyte bis hin zu 130 GB annehmen und werden daher vor der Auslieferung komprimiert 3 2 Erweiterung der Apache Commons Compress Bibliothek Der Datenbestand des OSM Projektes wird in der Regel vor der Auslieferung mit Hilfe von bzip2 komprimiert Da f r das Entpacken viel Speicherplatz n tig w re ist es von Vorteil direkt auf den komprimierten Daten zu arbeiten Allerdings ist hierbei zu beachten dass das OSM Projekt zum Komprimieren eine parallel arbeitende Implementierung von bzip2 einsetzt Dies hat zur Folge dass viele Bibliotheken Schwierigkeiten
29. eografischen Auszeichnung linearer Objekte fassen way Primitives eine geordnete Menge von node Elementen zusammen Die node Elemente spie geln den eigentlichen Verlauf des Objektes wieder und werden hierbei ber das Struktur 17 element nd referenziert Erg nzend definieren tag Elemente Eigenschaften wie die Art und den Namen des Objektes lt way id 35825958 user Alexander Eickhoff uid 24646 visible true version 1 changeset 1489786 timestamp 2009 06 11T19 00 28Z gt lt nd ref 319192091 gt lt nd ref 294043358 gt lt nd ref 294043357 gt lt nd ref 64763477 gt lt nd ref 64763482 gt lt nd ref 64763483 gt lt nd ref 64763502 gt lt nd ref 94699070 gt lt nd ref 64763510 gt lt nd ref 64763515 gt lt tag k highway v residential gt lt tag k name v Goldschmidtstrasse gt lt way gt Stimmen das erste und letzte referenzierte node Element tiberein so handelt es sich um einen geschlossenen Weg Dieser dient der Darstellung von Flachen wie Parkplatzen Seen und Parks 3 3 3 Data Primitive relation In dem Data Primitive relation lassen sich andere Primitives zusammenfassen um Be ziehungen und abstrakte Objekte zu modellieren H ufig beschreiben way Primitives nur Teilabschnitte von z B Stra en und Fl ssen da ein Limit von 2000 nd Referenzen pro way Element existiert Au erdem erm glicht eine h here Granularit t eine detaillierte Beschrei bung durch
30. equenziellen Parsern n tig die nicht die komplette Datenstruktur im Speicher halten und somit mehrere Durchg nge zum Aufl sen von Referenzen ben ti gen Da sich das OSM Projekt noch in der Entwicklung befindet und ma geblich von der Aktivit t der Benutzer abh ngt weist der Datenbestand teilweise gr ere L cken auf Vor allem in Gebieten mit geringer Bev lkerungsdichte und niedrigerem Technologisierungs grad sind weniger Daten erfasst So kann die Dichte und Genauigkeit der aus den osm Daten gewonnen Features regionalen Schwankungen unterliegen Durch erneutes Erstel len der Feature Type Dateien aus aktuellen OSM Datenbest nden k nnen neu erfasste Fea tures gefiltert und somit verf gbar gemacht werden Einige von Mondial geforderte Feature Types erweisen sich als schwierig zu filtern Dies ist darauf zur ckzuf hren dass das prim re Ziel des OSM Projektes die Erstellung von Karten ist Somit sind vor allem geografisch gro fl chige und schwach abgegrenzte Fea ture Types wie Kontinente Meere und W sten schwer zu identifizieren oder nicht vorhan den 3 6 2 Verbesserung des Laufzeitverhaltens Da die Suche nach Features auf die interaktive Verwendung ausgelegt ist spielt das Lauf zeitverhalten eine besondere Rolle Einen Gro teil der Laufzeit wird bei der Suche in den Dateien eingeb t Um die Geschwindigkeitseinbu en zu reduzieren werden bei der Fil terung die relevanten Daten auf mehrere Dateien aufgeteilt so dass f
31. erung der Erde des Mondes des Mars des Jupiters und der Venus Das ben tigte Kartenmaterial wird von der NASA ber einen Web Service bereitgestellt und wird automatisch bei Be darf heruntergeladen In dem SDK befinden sich weitere Services wie beispielsweise ein Service der Namen geografischer Objekte auf den 3D Globus projiziert Das SDK basiert auf dem Sun JRE ab Version 1 5 Unter Verwendung eines Java Bindings werden die 3D Daten in OpenGL gerendert Die 3D Beschleunigung ben tigt immer ak tuelle Treiber f r die vorliegende Hardware um alle Daten korrekt darstellen zu k nnen Als Datenformat f r die Kartenausschnitte nutzt World Wind S3TC DXT komprimierte Texturen weil diese direkt von der GPU verarbeitet werden k nnen Diese Funktionalit t muss aber von der GPU unterst tzt werden World Wind bietet weiterhin die M glichkeit andere Bildformate zu verarbeiten wenn der Web Service diese Daten bereith lt Unter Shttp edu kde org http www gnu org licenses lgpl html 5 http edu kde org marble download php den genannten Bedingungen ist World Wind auf allen g ngigen Betriebssystemen lauff hig World Wind befindet sich in st ndiger Weiterentwicklung so dass t glich eine neue Ver sion bereitgestellt wird Die Dokumentation ist sehr l ckenhaft was eine Entwicklung er schwert Viele Informationen die ein Entwickler ben tigt befinden sich im Wiki S oder in Form von Beispielen im Download Pakef Offene Frage
32. g 2 2 Visualisierung und Validierung der Features Berlin und Brandenburg 13 3 Datenquelle OpenStreetMaps Neben Kartengrafiken bietet das OSM Projekt den freien Zugriff auf die gesamte Datenba sis In dieser k nnen beliebige geografische Objekte enthalten sein da die Erfassung und Auszeichnung durch die OSM Nutzer keiner Standardisierung unterliegt So kann es vor kommen dass gleichartige Objekte in unterschiedlichen Auszeichnungen enthalten sind Mangels einer ausreichenden Dokumentation ist es au erdem nicht m glich eine Aussage ber die Anzahl der erfassten Feature Types zu machen Auf dieser Grundlage stellt die Identifikation und Klassifizierung der im Rahmen die ser Studie relevanten Feature Types eine gro e Herausforderung dar Es ist gelungen die folgenden Feature Types herauszufiltern Country Province City River Lake Island und Mountain In diesem Kapitel werden zun chst grundlegende Themen wie der Bezug und die De komprimierung zur Verarbeitung der OSM Daten erw hnt Danach folgt die Filterung der f r diese Studie relevanten Daten und die auf diesen Daten realisierte Abfrage von Features Abgeschlossen wird das Kapitel mit der Er rterung einiger themenspezifischer Anmerkungen 3 1 Bezugsquellen Das OSM Projekt bietet zwei Wege auf den Datenbestand zuzugreifen Zum einen bietet die ah eine Methode zum Formulieren von Abfragen zum anderen stehen Download servell bereit Uber die Abfragemethode der API lass
33. g von bestimmten Klassen die f r das Rendern der Daten ben tigt werden voreingestellt Ein Beispiel daf r ist die Property lt name gov nasa worldwind avkey GlobeClassName gt Diese Option hat Auswirkung auf das eigentlich dargestellte geometrische Objekt Es existieren Klassen die die Karten als Fl che oder Ku gel darstellen Zus tzlich entscheidet diese Option ber den zu verwendenden Planeten ber die lt LayerList gt k nnen die zu verwendenden Layer angeben werden So wird es erm glicht alle Services zu laden die die Anwendung ben tigt Je nach Struktur des Layer wird hier direkt auf die Klasse des Layer oder auf eine separate Konfigurationsdatei verwiesen In der beiliegenden Datei worldwind layers xml findet man die Standardlayer f r eine einfache Implementierung einer World Wind Anwendung Im Folgendem eine Liste mit den m glichen Elementen einer lt LayerList gt classname direkte Angabe der Klasse mit dem kompletten Paket z B gov nasa worldwind layers StarsLayer href Pfad zu einer separaten Konfigurationsdatei des Layers title der Titel des Layers wobei je nach Implementierung der Name ber die Methode toString der Klasse geladen wird actuate legt den Startstatus des Layers fest onLoad aktiviert den Layer direkt beim Start onRequest nimmt den Layer in die verf gbaren Layer auf muss allerdings ber die Methode setEnabled boolean enable aktiviert werden Weitere Einstellungen k nnen w hrend der Laufz
34. halten zu k nnen wird diese Klasse verwendet In ihr werden die Layer und der Globe gespeichert und verwaltet Layerpanel Plist ein mitgeliefertes Beispiel das vom gpane1 Jerbt Uber die zugeh rigen Checkboxen ist es m glich die jeweiligen Layer w hrend der Programmausf hrung zu aktivieren oder deaktivieren Statusbar Plist ebenfalls ein mitgeliefertes Beispiel Sie dient der Anzeige aktueller Statu informationen zu denen die Entfernung des Blickpunktes zum Globus die aktuelle Position des Mauszeigers in L ngen und Breitengrad und den aktuellen Download status einzelner Services geh rt Layer m ssen von dem AbstractLayer erben Es wird die Methode public void doRender DrawContext dc TODO Auto generated method stub implementiert in der die darzustellenden Objekte des Layers f r das Rendern vor bereitet werden Position repr sentiert einen Punkt auf dem Globus Sie bietet M glichkeiten um bei 8 gov nasa worldwind awt WorldWindowGLCanvas 9 gov nasa worldwind Model 10javax media opengl GLCanvas 11 gov nasa worldwind globes Globe 12 gov nasa worldwind BasicModel 13 gov nasa worldwind examples LayerPanel Mavax swing JPanel 15 gov nasa worldwind util Statusbar 16 gov nasa worldwind layers AbstractLayer 17 gov nasa worldwind geom Position 34 spielsweise die Entfernung zwischen 2 Punkten zu berechnen GeographicText Blrepr sentiert eine Textauszeichnung die an einer angegebenen Pos
35. i I LE Georg August Universit t ISSN 1612 6793 G ttingen Nummer ZFI BSC 2010 11 Zentrum f r Informatik Bachelorarbeit im Studiengang Angewandte Informatik Referenzimplementierung einer Mach barkeitsstudie zur Visualisierung und Validierung geografischer Objekte Felix Schindler Andreas Strey in der Arbeitsgruppe Datenbanken und Informationssysteme Bachelor und Masterarbeiten des Zentrums f r Informatik an der Georg August Universit t G ttingen 31 August 2010 Georg August Universit t G ttingen Zentrum f r Informatik Goldschmidtstra e 7 37077 G ttingen Germany Tel 49 551 39 17 2010 Fax 49 551 39 1 44 15 Email office informatik uni goettingen de WWW www informatik uni goettingen de Wir erkl ren hiermit dass wir die vorliegende Arbeit selbst ndig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet haben G ttingen den 31 August 2010 Bachelorarbeit Referenzimplementierung einer Machbarkeits studie zur Visualisierung und Validierung geo grafischer Objekte Felix Schindler Andreas Strey 31 August 2010 Betreut durch Prof Dr Wolfgang May Arbeitsgruppe f r Datenbanken und Informationssysteme Georg August Universit t G ttingen Danksagung Hiermit m chten wir uns besonders bei Herrn Prof Dr Wolfgang May f r seine hervorra gende Betreuung und seine zahlreichen Anregungen bedanken Weiterhin gilt unser Dank M Sc Daniel Schuber
36. iedergegeben werden Ein weiterer Aspekt ist es L cken im Datenbestand von Mondial leichter ausfindig zu machen Beispielsweise k nnen so L nder gefunden werden f r die keine Provinzen in Mondial vorhanden sind Ein weiterer Punkt der Machbarkeitsstudie bildet die Validierung der in Mondial ent haltenen geografischen Koordinaten So sollen z B die in der Datenbank zu einer Stadt enthaltenen Koordinaten mit Daten aus einer externen Quelle verglichen werden Diese Quelle soll zus tzlich dazu dienen fehlende Information zu erg nzen und Objekte f r welche Mondial keine Angaben zur geografischen Lage vorsieht zu visualisieren Somit l sst sich die Visualisierung und Validierung der in Mondial enthaltenen Daten nur auf Grundlage externer Datenquellen realisieren 1 2 Aufbau Zu Beginn dieser Arbeit soll ein berblick ber die im Rahmen dieser Studie betrachte ten Technologien geschaffen werden Sowohl Techniken zur Visualisierung geografischer Daten als auch m gliche externe Quellen zur Beschaffung dieser werden analysiert Die Betrachtungen werden jeweils mit der Wahl einer Technik abgeschlossen Da die Datenbeschaffung die Grundlage f r die Darstellung bildet wird die Betrachtung der Datenquelle OpenStreetMaps im darauf folgendem Kapitel dargelegt Neben den Aus f hrungen zu ben tigten Technologien und dem strukturellen Aufbau enth lt es Hinweise zur Verarbeitung der Dateien Darauf aufbauend folgt die Darlegung der in World W
37. iert wird DXT3 besitzt einen expliziten Alphakanal und DXT5 versucht zwischen undurchsichtigen und durchsichtigen Pixeln zu interpolieren um den bergang m glichst weich darstellen zu k nnen In der heutigen Zeit finden DXT2 und DXT4 kaum noch Verwendung Die m gliche Kompressionsrate liegt bei DXT1 bei 8 1 und bei den an deren vier Verfahren bei 4 1 3 http www opengl org registry specs EXT texture_compression_s3tc txt 31 World Wind nutzt die Texturen um die Kartenausschnitte auf dem 3D Globus zu plat zieren Beliebige Web Dienste stellen die Texturen im Direct Draw Surface Format dds P zum Download zur Verf gung Anschlie end wird der 3D Globus mit den herunter geladenen Texturen berzogen Diese Vorgehensweise hat den Vorteil dass aufwendige Rechenoperationen f r die Darstellung von Karten entfallen Weiterhin bekommt World Wind durch die Verwendung von S3TC anstelle von norma len Grafiken einen betrachtlichen Geschwindigkeitsschub Der Grund daf r ist dass die Texturen direkt auf der GPU verarbeitet werden k nnen und teure Rechenoperationen auf der CPU vermieden werden Der Flaschenhalseffekt bei der bertragung der Daten zur Grafikhardware wurde ebenfalls reduziert da die Texturen eine geringere Gr e aufwei sen als normale Grafiken 4 1 3 Technische Grundlagen Die erste minimale Anwendung mit World Wind besteht aus einem WorldWindowGLCanvas dem ein BasicModelP siehe Kapitel 4 2 1 zugewiesen wird Der Canvas
38. ind arc nasa gov worldwind nosa 1 3 html 14 Open Geospatial Consortium http www opengeospatial org 15 OpenGIS Web Feature Service WFS Implementation Specification http www opengeospatial org standards wfs 16 OpenLayers Projekt http openlayers org 17 OpenStreetMap http www openstreetmap org 18 OpenStreetMap Wiki http wiki openstreetmap org 52 19 The Industry s Foundation for High Performance Graphics http www opengl org 20 White Paper S3TC compression technology http www computerweekly com Articles 1999 10 25 178983 white paper s3tc compression technology htm 21 World Wind Projekt http worldwind arc nasa gov java 53
39. ind realisierten Visualisierung Begonnen wird mit einem berblick der World Wind zugrunde liegenden Technologien Gefolgt von einer technischen Beschreibung der Implementierung wird das Kapitel mit themenspezifischen Anmerkungen geschlossen In dem Benutzerhandbuch werden detaillierte Hinweise zur Installation und Verwen dung der beiden Systeme gegeben Abgeschlossen wird diese Arbeit durch die Erw hnung der zu ber cksichtigenden Li zenzen und einem Fazit der Machbarkeitsstudie Die Autoren teilten die Ausarbeitung in die Themenschwerpunkte externe Datenquel len Felix Schindler und Visualisierung Andreas Strey auf 2 berblick verf gbarer Techniken 2 1 Techniken zur Visualisierung Im Folgenden sollen verschiedene Techniken dargestellt werden die im Rahmen dieser Studie zur Visualiserung geografischer Daten in Frage kommen In Betracht kommen Web oder Desktopanwendungen deren St rken und Schw chen zu analysieren sind Als Refe renz f r eine Webanwendung wird nur OpenLayers n her betrachtet weil es konzeptuell hnlich arbeitet wie beispielsweise Google Maps F r die Desktopapplikationen liegt das Augenmerk haupts chlich auf ihren zugrunde liegenden Systemen und den M glichkei ten f r Entwickler eigene Implementierungen zu entwerfen 2 1 1 OpenLayers OpenLayers 16 ist eine JavaScript Bibliothek die das dynamische Anzeigen von Karten im Webbrowser hnlich Google Maps erm glicht Sie ist frei verf gbar und
40. ition auf dem Globus dargestellt wird GeographicTextRenderer P nimmt Objekte vom Typ GeographicText auf und rendert diese GlobeAnnotation Po repr sentiert ein Textlabel das an der angegebenen Position auf dem Globus platziert wird Sie unterscheidet sich vom GeographicText in der Form dass es nicht nur ein reiner Text auf dem Globus ist sondern eine Auszeichnung in Form einer Sprechblase darstellt die in dieser Applikation beim Uberfahren eines GeographicText mit der Maus angezeigt wird In der folgenden Abbildung wird zur besseren Unter scheidung eine GlobeAnnotation und ein GeographicText dargestellt r _ Gottingen Province Niedersachsen gt Country D Population 127519 GlobeAnnotation GeographicText Abbildung 4 1 GlobeAnnotation und GeographicText Die Formatierung des dargestellten Textes erfolgt tiber einen geringen Satz an HTML Elementen In der verwendeten World Wind Version befinden sich keine Informatio nen ber die implementierten Elemente allerdings ist es bekannt dass die Elemente lt p gt lt br gt lt b gt lt i gt korrekt interpretiert werden BasicAnnotationRenderer nimmt Objekte vom Typ Annotation auf und rendert die se Polyline Plist ein Linienzug der aus mindestens zwei Punkten besteht Eigenschaften wie Farbe Linienbreite usw lassen sich individuell anpassen Es werden weitere Funktio nen bereitgehalten die z B die L nge der Linie ermitteln oder die Linie verschiebe
41. kt halten und die Maus hoch oder runter bewegen oder die Page Up und Page Down Tasten verwenden rotieren Die rechte Maustaste gedr ckt halten und anschlie end die Maus nach links oder rechts bewegen Noo Wo Reset Die Rotation wird mit der Taste n wieder hergestellt Mit der Taste r wird zus tz lich der Blickwinkel wieder zur ckgestellt Auswahlm glichkeiten Um ein Feature auszuw hlen existieren verschiedene M glichkeiten Die erste M glichkeit basiert auf der Steuerung mit der Maus Die Auswahl kann ein oder mehrere Features umfassen die anschlie end per Drag amp Drop auf die Sammlerliste gezogen werden Eine andere Vorgehensweise sieht vor dass Objekte ber die Textsuche selektiert werden Bei erfolgreicher Suche bewirkt die Enter Taste die Auswahl des gesuchten Objektes und bernimmt es in die Sammlerliste Sollte die Suche kein Feature in Mondial finden wird versucht den eingegebenen Namen in OSM zu finden und anzuzeigen So erweitert sich der Suchraum von Mondial auf OSM Farben ber das Men Configuration change color k nnen f r jeden Feature Type eigene Farben festlegt werden Die Feature Types teilen sich in drei verschiedene Arten auf die jeweils eine eigene Farbe besitzen Die erste Art repr sentiert alle Daten die direkt aus Mondial stammen Die zweite sind die Daten aus dem OSM Import Die dritte vertreten die Daten f r die Validierung das bedeutet die Informationen k nnen aus Mondial und
42. leindustrie die M glichkeit zu geben auch die Programmiersprache Java f r die Spieleentwicklung benutzen zu k nnen Es wurde versucht die Vorteile aus bereits bestehenden OpenGL Bindings in JOGL zu verbinden um eine stabile und performante Bibliothek zu erzeugen F r die Zukunft ist es geplant dass JOGL ein fester Bestandteil des Sun JDK werden soll So wird die Entwicklung von 3D beschleunigten Anwendungen in Java weiter ver einfacht Die aktuelle Weiterentwicklung wird von der Game Technology Group von Sun Microsystems voran getrieben 4 1 2 S3TC DXTn S3TC 20 ist ein Texturkomprimierungssystem von S3 Graphics Im Vergleich zu anderen Bildkompressionsalgorithmen wie JPEG eignet es sich fiir beschleunigte Computergrafi ken weil es eine feste Datenkompressionsrate hat und pro Texel nur einen Zugriff ben tigt S3TC wurde fester Bestandteil von DirectX in Version 6 0 Bis zum heutigen Tag hat sich S3TC zum vorherrschenden Standard fiir die Speicherung von komprimierten Texturen entwickelt Fiir kommende OpenGL Versionen ist es geplant dass S3TC fester Bestand teil der Spezifikation werden soll Bis dahin muss die Verarbeitung tiber Erweiterungen realisiert werden Die Texturen k nnen mit Hilfe von f nf verschiedenen Kompressionsalgorithmen er zeugt werden wobei der Hauptunterschied in der Handhabung des Alphakanals liegt DXT1 z B benutzt nur ein Bit f r den Alphakanal wodurch die Sichtbarkeit des Pixels de aktiviert oder aktiv
43. n 18 gov nasa worldwind render GeographicText 19 gov nasa worldwind render GeographicTextRenderer 20 gov nasa worldwind render GlobeAnnotation 21 gov nasa worldwind render BasicAnnotationRenderer 22 gov nasa worldwind render Annotation 23 gov nasa worldwind render Polyline 35 Angle repr sentiert den geometrischen Winkel Einfache mathematische Funktionen wie z B Sinus Kosinus und Addition sind in der Klasse ebenfalls vorhanden Sector Plrepr sentiert eine Boundingbox die durch Angabe der minimalen und maxima len Breiten und L ngengrade aufgespannt wird F r die Erzeugung eines Sectors wird erwartet dass die Breitengrade auf den Bereich 90 und L ngengrade auf den Bereich 180 normalisiert sind Mit Hilfe dieser Box kann die Sichtbarkeits pr fung f r Position und Polyline durchgef hrt werden PositionEvent Di beinhaltet die aktuelle und vorhergehende Position des Mauszeigers umgerechnet auf Breiten und L ngengrad Zus tzlich liefert das Event die Positi on des Mauszeigers in absoluten Koordinaten innerhalb des registrierten Objektes mit dem Koordinatenursprung in der oberen linken Ecke PositionListener Plgeh rt zur Gruppe der EventListener Alle Klassen die diesen Listener implementieren m ssen die Methode public void moved PositionEvent event TODO Auto generated method stub umsetzen Um die n tigen Events der Mausbewegung zu empfangen muss der Lis tener zus tzlich am WorldWindowGL
44. n der MondialListModel mitzuteilen dass sie sich rendern sollen Die Kommunikation zwischen der GUI und dem MondialLayer wurde mit Hilfe von Ja vaBeans realisiert Diese Technik bietet die M glichkeit Interaktionen zwischen den Kom ponenten auf Basis des Event Listener Prinzips zu realisieren Die Interaktion mit den World Wind Komponenten wird ber die vordefinierte Schnittstelle eines Layers realisiert Die reine Auszeichnung der GeographicText ist f r die Anzeige hinreichend aber es muss eine M glichkeit zur Darstellung von Zusatzinformation f r die Objekte gefunden werden World Wind bietet f r solche Textauszeichnungen die M glichkeit eine Globe Annotation im Canvas zu platzieren Um die Annotations nur bei Bedarf anzuzeigen implementiert der MondialLayer den PositionListener So kann er mit jeder Mausbe wegung berpr fen ob sich einer der anzuzeigenden GeographicText in unmittelbarer N he des Mauszeigers befindet In Abh ngigkeit von der Entfernung des Blickpunktes 41 zum Globus passt der Layer die Distanz zum genauen Punkt des GeographicText an Ein alternativer Ansatz f r die Erzeugung der Annotations ist es eine eigene Erweite rung der GeographicText zu implementieren die den Text pickable machen ber diese Eigenschaft k nnten anschlie end MouseListener auf die Events reagieren die beispiels weise durch einen Mausklick ausgel st werden Der Mehraufwand f r die Implementie rung der ben tigten Funktionalit t
45. n k nnen zus tzlich im zu geh rigen Forum f gestellt werden Hier helfen sich die User gegenseitig aber auch die Entwickler von World Wind bringen sich aktiv ein 2 1 5 Fazit Google Earth kommt f r eine weitere Implementierung nicht in Betracht weil es auf Micro soft Betriebssysteme beschr nkt ist Ein weiteres Ausschlusskriterium ist dass es sich hier nicht um ein Open Source Projekt handelt World Wind erh lt Marble gegen ber den Vor zug weil Java als Grundlage eine bessere Portierbarkeit verspricht Es ist so nicht n tig den kompletten Quellcode zu verteilen sondern es gen gt den Anwendern eine ausf hr bare Datei bereitzustellen So k nnen auch unerfahrene Anwender die Applikation nutzen ohne sich mit dem Erstellen des Programms auseinander setzen zu m ssen Sollten die Rahmenbedingungen den Einsatz einer Wabapplikation fordern w re die Realisierung in hnlicher Form mit OpenLayers m glich Wegen des Charakters einer Re ferenzimplementierung wird in diesem Fall die Verwendung einer universellen Program miersprache bevorzugt 2 2 Externe Datenquellen Die Visualisierung und Validierung geografischer Objekte erfolgt auf Grundlage ihrer r um lichen Lage welche durch GPS Koordinaten wiedergegeben wird Da in Mondial f r viele Objekte eine derartige Auszeichnung fehlt oder gar nicht vorgesehen ist bildet die Ver wendung externer Datenquellen einen wichtigen Punkt dieser Studie So sollen in den n chsten Abschnitten
46. n z B L nder und ihre zugeh rigen Provinzen dargestellt werden obwohl nur das Land selbst ausgew hlt ist Auf der folgenden Abbildung werden noch einmal die einzelnen Komponenten des Mondial Layer f r das bessere Verst ndnis markiert City Continent co amp r7 Feature Types Suchfeld Aachen Nordrhein Westfale Aalborg Denmark DK Aarau AG CH Aarhus Denmark DK Aart Nigeria WAN Aba Nigeria WAN Abaetetuba Para BR Abakan Rep of Khakassiya a D D Aachen Nordrhein Westfalei Feature Liste Sammlerliste D H ICH Ovalidate amp Validierung mit OSM Rek Tiefe lo mae Ready Download osmFeature Abbildung 5 2 Graphical User Interface des Mondial Layer Informationen tiber den Verarbeitungszustand des OSM Imports kann dem untersten Panel entnommen werden Tastenkombination F r die bessere Benutzbarkeit existieren folgende Tastenkombinationen ALT 0 9 direkte Auswahl eines Feature Types STRG f setzt den Fokus auf das Suchfeld des gerade aktivierten Feature Types STRG a wenn der Fokus auf einer Liste liegt werden alle Objekte markiert STRG q beendet die Anwendung 48 Allgemeine Steuerung World Wind schwenken Linke Maustaste gedr ckt halten und anschlie end die Maus in die gew nsch te Richtung bewegen zoomen Mit Hilfe des Scrollrades der Maus Blickwinkel ndern Rechte Maustaste gedr c
47. nach angegebener Tiefe ist es m glich die referenzierten Objekte in verschiedenen Stu fen zu rendern Um diese Eigenschaft zu nutzen muss der implementierte Layer nur die Methoden public void render DrawContext dc boolean validate int rek und oder public void setTexts HashSet lt GeographicText gt list boolean validate int rek mit der gew nschten Rekursionstiefe aufrufen Das Objekt rendert automatisch alle re ferenzierten Objekte bis zur angegebenen Tiefe Wegen zu gro er fl chenm iger Ausbreitung der in Beziehung stehenden Objekte ren dern Country und Sea nur Objekte die semantisch unter ihnen angeordnet sind Country Objekte rendern keinen Continent weil dieser bei bestimmten L ndern aus zwei Refe renzen bestehen kann Das k nnte beispielsweise dazu f hren dass Europa und Asien angezeigt werden was aber nicht Ziel der Anfrage ist Eine Sea vermeidet es ihre refe renzierten Nachbarmeere darzustellen weil sonst sehr schnell alle Meere dargestellt sein k nnten Das folgende Beispiel pr sentiert die Auswahl der Country Austria mit der Rekur sionstiefe 2 Es ist zu erkennen dass zus tzlich zu Country ebenfalls die Provinces Cities Rivers Lakes und Mountains angezeigt werden 39 Abbildung 4 2 sterreich mit Rekursionstiefe 2 4 2 3 MondialLayer Der MondialLayer bildet die Kernkomponente dieser Applikation Der Layer stellt die Funktionalit t bereit verschiedene Features auszuw hlen u
48. nd diese auf dem 3D Globus anzeigen zu lassen Die Auswahl kann ber das zugeh rige grafische Interface GUI ge t tigt werden das mit der Aktivierung des Layers sichtbar wird F r jede Auswahl f hrt der Layer nebenl ufig einen zus tzlichen Import aus OSM durch Je nach Art der Auswahl werden dabei auch mehrere Objekte gleichzeitig importiert Die folgende Abbildung soll einen kleinen berblick ber die Zusammenh nge geben Aus Gr nden der besseren bersichtlichkeit wird immer nur der letzte Teil des Paketna mens angegeben Es sei aber darauf hingewiesen dass sich alle Pakete in dem gemeinsa men Paket de uni_goettingen informatik worldwind befinden 40 liest die Objekte Das Model verwaltet GeoObjects objects Continent Country Mountain Abbildung 4 3 bersicht World Wind GeoObject F r die Darstellung aller grafischen Komponenten wird das Paket view ben tigt Hier wird sowohl die Grundanzeige f r die Elemente aus World Wind verwaltet als auch die Anzeige dieses Layers und seiner zugeh rigen GUI F r die ben tigten Feature Listen wird eine Datenverwaltung angelegt die im MondialListModel implementiert ist Die Ver waltung basiert auf dem Geo0bject um unabh ngig von dem verwendeten Feature Type arbeiten zu k nnen Der MondialLayer arbeitet in diesem Modell als Kommunikationschnittstelle Jede n derung des WorldWindowGLCanvas veranlasst den Layer allen gew hlten Geo0bjects i
49. ng 6 Lizenzen 6 6 3 World Wind 7 Fazit Quellenverzeichnis 2 OpenStreetMap e ua SE SRE Ee Ss 30 30 30 31 32 33 33 36 40 42 42 43 45 45 45 46 46 46 47 50 50 50 50 51 52 Abbildungsverzeichnis 2 1 Interaktion der Visualisierung und Datenquellen 2 2 Visualisierung und Validierung der Features Berlin und Brandenburg 3 1 SAX Handler Klassendiagramm oaoa 4 1 GlobeAnnotation und GeographicText 4 2 Osterreich mit Rekursionstiefe 2 4 3 bersicht World Wind 5 1 World Wind Graphical User Interface 5 2 Graphical User Interface des Mondial Layer 1 Einleitung 1 1 Thema Die Arbeitsgruppe f r Datenbanken und Informationssysteme verwendet die relationale Datenbank Mondial f r Forschung und Lehre In ihr werden Informationen ber geogra fische Objekte gesammelt und ihre Beziehungen modelliert Im Rahmen dieser Machbarkeitsstudie sollen verschiedene Formen der Visualisierung des in Mondial zusammengetragenen Datenbestandes erprobt werden F r die Form der Visualisierung gilt es insbesondere die Zusammenh nge zwischen den verschiedenen Ar ten geografischer Objekte darzustellen So kann es von besonderem Interesse sein die mit einem Land in Relation stehenden Provinzen abzubilden Auch das Zusammenstr men einzelner Fl sse kann durch die Visualisierung ausdrucksvoller als durch Datenreferenzen w
50. nt zum aktuellen Datenbestand geh rt oder nur zur Abfrage alter Datenbest nde weiterhin existiert version ist ein inkrementeller Z hler der nderungen des Elementes changeset gibt die Identifikationsnummer des Arbeitsschrittes an in welchen das Element ge ndert wurde 3 3 1 Data Primitive node Ein node Data Primitiv spiegelt einen geografischen Punkt wieder und bildet die wesent liche Grundlage f r den Aufbau der weiteren Data Primitives Neben den oben genannten besitzt es noch die Attribute lat und lon zur Angabe des Breiten und Langengrades Node Elemente werden zum einen dazu verwendet das Data Primitive way aufzubauen k nnen aber auch alleinstehende Punkte wie Verkehrszeichen Telefonzellen und Briefk s ten kennzeichnen Diese Punkte werden durch entsprechende tag Elemente ausgezeich net lt node id 360755773 lat 51 5663944 lon 9 9268568 user Alexander Eickhoff uid 24646 visible true version 1 changeset 814811 timestamp 2009 03 15T16 22 16Z gt lt tag k amenity v post_box gt lt node gt In einigen F llen ist auch die Kombination der beiden Verwendungsarten m glich So kann ein node Primitive zum Beispiel sowohl dazu verwendet werden die Auszeichnung einer Buslinie aufzubauen als auch alleinstehend eine Bushaltestelle zu kennzeichnen 3 3 2 Data Primitive way Das Data Primitiv way dient der Darstellung von linearen Objekten wie Stra en Fl s sen und Eisenbahnstrecken Zur g
51. ogrammierschnittstelle DirectX zu OpenGL Im Gegensatz zu DirectX ist OpenGL ei ne plattform und programmiersprachenunabh ngige Programmierschnittstelle die eine Portierung berhaupt erst erm glicht 4 1 1 OpenGL und JOGL OpenGL 19 ist eine Spezifikation f r eine plattform und programmiersprachenunabh ng ige Programmierschnittstelle zur Entwicklung von 2D und 3D Computergrafiken In der Ihttp earth google de userguide v4 ug_kml html 2www esri com library whitepapers pdfs shapefile pdf 30 Regel werden die Funktionen in Systembibliotheken oder Grafikkarten Treibern imple mentiert Unterst tzte Befehle werden direkt auf der Grafikhardware ausgef hrt um teure Berechnungen auf der CPU zu vermeiden OpenGL wurde als Zustandsautomat entworfen der ben tigte Parameter so lange wei ter verwendet bis diese sich ver ndern Der gro e Vorteil dieser Implementierung ist dass teure Reorganisationen der Grafikpipeline so lange wie m glich hinausgez gert werden F r die Entwicklung mit OpenGL erspart es dem Entwickler aufwendige Angaben von Parametern die sich f r viele Objekte nicht ndern Das bedeutet f r die Wartung und Wiederverwendung des Programmcodes einen Mehrwert f r die Entwickler Bei JOGL 9 handelt es sich um eine Wrapperbibliothek die in der Regel nativen C Code im Hintergrund ausf hrt Die Bibliothek wurde in Zusammenarbeit von Sun Microsystems und SGI im Jahr 2003 ins Leben gerufen Ziel war es der Spie
52. openstreetmap org wiki DE Osmarender 11 Aber nicht nur die erzeugten Kartengrafiken sondern auch der gesamte Datenbestand steht zur freien Verwendung zur Verf gung So k nnen weitere Anwendungen wie Rou tenplaner oder auch dieses Projekt auf dem Datenbestand selbst realisiert werden 2 2 3 Fazit Ein WFS wie GeoNames bietet den f r diese Studie ben tigten Funktionsumfang und er m glicht eine Integration in beliebige Systeme durch die vorliegende Standardisierung Allerdings werden relativ wenige Feature Types angeboten so dass die in Mondial enthal tenen Feature Types Provinz See und Fluss nicht zur Verf gung stehen Dar ber hinaus existieren kaum weitere freie WFS Im Gegensatz dazu ist die Datenbasis von OSM deutlich umfangreicher Um einen gr eren Umfang an Feature Types abzudecken ist daher OSM als externe Quelle vorzuzie hen Die abweichende Zielsetzung des OSM Projektes zu dieser Arbeit macht es allerdings n tig die zur Visualisierung und Validierung ben tigten Daten aus der gesamten OSM Datenbasis zu filtern 2 3 Interaktion der Visualisierung und Datenquellen F r die Visualisierung in World Wind werden die Mondialdaten mit der externen Quelle OSM wie in der folgenden Grafik kombiniert Visualisierung Ze gt World Wind erg nzende Visualisierung 7 Abbildung 2 1 Interaktion der Visualisierung und Datenquellen Die in Mondial enthaltenen Features stehen zur Visualisie
53. r WayHandle1 und der NodeHandlel Jeder der drei Handler ist f r die Verarbeitung http www w3 org DOM Borg xml sax helpers DefaultHandler 14 de uni_goettingen informatik dbis osm OSMHandler 5 de uni _goettingen informatik dbis osm RelationHandler 16de uni _goettingen informatik dbis osm WayHandler 17 de uni_goettingen informatik dbis osm NodeHandler 25 des entsprechenden Data Primitives zust ndig org xml sax helpers DefaultHandler gt lt lt realize gt gt lt lt interface gt gt tl py ContentHandler de uni_goettingen informatik dbis osm OSMHandler IN RelationHandler WayHandler NodeHandler Abbildung 3 1 SAX Handler Klassendiagramm Neben dem Standardkonstruktor erben die drei Handler zus tzlich einen weiteren Kon strukter des OSMHandlers welcher die bergabe von way und node IDs erm glicht So k nnen die Handler ber Primitives informiert werden die von bereits identifizierten Fea tures referenziert werden Diese sollen auch dann gefiltert werden wenn sie nicht direkt als einer der Feature Types identifiziert werden In der Main Klassd wird der ben tigte Stream zum Lesen der komprimierten osm Datei der SAX Parser und die drei Handler initialisiert Um die Referenzen der Data Primitives untereinander aufl sen zu k nnen muss der Parser die Daten dreimal durch laufen Zun chst kommt der RelationHandler dann der WayHandler und schlie lich der NodeHandler zum Einsat
54. rpr fung dar Unter Verwendung der Regeln des zweiten Fal les wird hierbei sogar nur auf das Enthaltensein des Begriffes berpr ft Um bei extrem kurzen Begriffen nicht zu ungenaue Ergebnisse zu liefern werden nur Begriffe die aus mindestens vier Zeichen bestehen ber cksichtigt siehe type dtd 20 de uni_goettingen informatik dbis osm GetFeature 27 Das Ergebnis der Suchanfrage setzt sich aus den Data Primitives mit der h chsten Re levanz zusammen wobei bei relation und way Primitives die Referenzen entsprechend aufgel st werden Die Suche bietet zus tzlich die M glichkeit nach mehreren Features desselben Feature Types gleichzeitig zu suchen So muss die entsprechende Feature Type Datei nicht f r jedes gesuchte Feature erneut durchlaufen werden sondern es reicht ein einziger Durchlauf aus 3 6 Anmerkungen 3 6 1 Probleme Bei der Verarbeitung von Daten des OSM Projektes stellt besonders die fehlende Standar disierung eine gro e H rde dar Da die Schl ssel Wert Paare beim Auszeichnen von Data Primitives keiner Restriktion unterliegen und frei gew hlt werden k nnen ist es oft schwer die einzelnen Feature Types zu identifizieren H ufig sind viele Probel ufe und Anpassun gen n tig um einen bestimmten Feature Type herauszufiltern Der gro e Datenumfang von ber 100 GB f hrt zu zwei weiteren Nachteilen Zum einen beansprucht das Parsen derartiger Datenmengen extrem lange Laufzeiten zum anderen wird der Einsatz von s
55. rung in World Wind bereit Features f r die keine geografische Lage spezifiziert ist werden f r die Darstellung durch 12 Daten aus OSM erg nzt Werden Daten aus Mondial Visualisiert so dient diese Quelle der Validierung Im Folgenden wird die Visualisierung und Validierung der Features Berlin und Bran denburg dargestellt F r den Feature Type Province sieht Mondial keine Beschreibung der geografischen Lage vor so dass die Koordinaten der Grenzen aus OSM importiert wer den F r den Feature Type City hingegen enth lt der Datenbestand von Mondial h ufig die ben tigten Informationen So k nnen diese im Fall von Berlin dargestellt und mit den Angaben aus OSM validiert werden File Conifguration Layers O Stars _ Atmosphere _ NASA Blue Marble Imat R Blue Marble WMS 206 i cubed Landsat USDA NAIP MS Virtual Earth Aerial USGS Urban Area Orth Political Boundaries Place Names World Map O Scale bar Compass Mondial Mountain Province branden Bourgogne F Boyaca CO Boyer Ahmad e Kohkiluyeh Brabant B Braga P Braganca P Braila RO Brandenburg D 4 H I Berlin Berlin D Brandenburg D A Ir y Validate Rek Tiefe o Le Ready Altitude 272km Lat 53 0369 Lon 14 0596 Elev 53 meters Abbildun
56. st sich beispielsweise ber die HTTP GET Methode folgende Anfrage nach Features mit dem Namen london stellen http ws geonames org search name london 2 2 2 OpenStreetMaps OpenStreetMaps 17 OSM ist ein Projekt mit dem Ziel frei nutzbare Weltkarten zu er zeugen Hierzu erfassen Freiwillige mit GPS Ger ten Stra en Fl sse Berge und andere Objekte die auf den Karten dargestellt werden sollen Anschlie end m ssen die gesam melten Daten als eben diese Objekte ausgezeichnet werden Hierzu werden zum Beispiel einzelne GPS Koordinaten zu einer Stra e verbunden und mit entsprechenden Attribu ten wie dem Stra ennamen ausgezeichnet F r diesen Schritt steht der im Rahmen des Projektes entwickelte Java OpenStreetMap Editor zur Verfiigung Neben den von Frei willigen gesammelten Daten werden auch externe Quellen einbezogen Unter anderem wurden dem Projekt Materialien wie Satellitenbilder von Yahoo und Datenbest nde von US Bundesbeh rden berlassen Schlie lich werden alle Daten an das OSM Projekt ber tragen und dort in einer Datenbank verwaltet Auf Grundlage dieser Datenbasis erzeugen Anwendungen so genannte Renderer die Kartengrafiken Neben dem im Rahmen des OSM Projektes entwickeltem Osmarendei kommt vor allem der Renderer Mapnik 11 zum Einsatz Die erstellten Grafiken finden in Darstellungsprogrammen wie OpenLayers Verwendung http creativecommons org licenses by 3 0 http josm openstreetmap de Unttp wiki
57. t Um einen m glichen Datenverlust zu vermeiden speichert das Objekt alle Koordinaten ab und zeigt diese bei Bedarf an Wie bereits erw hnt h lt das GeoObject die M glichkeit bereit die Daten aus Mondial und dem OSM Import zu speichern Um diese drei Arten der Datenherkunft besser abzu grenzen sieht das Objekt drei verschiedene Farben vor Die Erste markiert Objekte deren Daten aus Mondial stammen Die Zweite zeichnet alles aus was in Mondial keine Daten f r die Darstellung besitzt und mit OSM Informationen vervollst ndigt wird Die Drit te markiert Objekte die zus tzlich aus OSM stammen und mit Mondial validiert werden k nnen Die nat rliche Ordnung der Objekte in den Listen geschieht nach dem Namen weil dieser in den meisten F llen den Prim rschl ssel repr sentiert Es gibt Ausnahmen wie z B Country die nach anderen Kriterien sortiert werden m ssen Dazu muss die Methode public int compareTo GeoObject 0 berschrieben werden 37 Feature Types In Mondial befinden sich die Feature Types Continent Country Province City Sea River Lake Desert Island Mountain Andere Entit ten die nur der Abbildung verschiedener Beziehungen zwischen den oben genannten Feature Types dienen sind als Referenzen in die Objekte integriert Im n chsten Abschnitt folgen die Feature Types mit ihrem referenziellen Abh ngigkeiten Continent Country 0 Country Continent 0 Province 0 Province City 0 Sea 0
58. t daf r dass er sich als Koreferent zur Verf gung gestellt hat so wie Dipl Ing FH Gunnar Krull und Dipl Ing FH Udo Burghardt f r ihre technische Unterst tzung Abschlie end bedanken wir uns f r die zahlreiche R ckmeldung und Un terst tzung diverser Freunde und Familienmitglieder Inhaltsverzeichnis 1 1 Thema 4 8 5 22644 644625484485 64 465 4442545 248524 1 2 Aufbaul 3 2 Ba a ee Bk oe A ea er Be we Be week da 2 berblick verf gbarer Techniken 2 1 Techniken zur Visualisierung 2 1 2 Google Earth 2 1 4 NASA World Wmd AAC SEET EE EEN KR WESTER TE EENEG EE 22 3 SEET A E a a a e a e a a 2 3 Interaktion der Visualisierung und Datenquellen 3 Datenquelle OpenStreetMaps 3 2 Erweiterung der Apache Commons Compress Bibliothek 3 3 oem Daten 3 3 1 Data Primitive node a 2 46 2b 40H 2 wu RSE Saas EE REESE 3 4 2 Technische Umsetzung 3 5 Abfrage von Features 3 6 1 Probleme 3 6 2 Verbesserung des Laufzeitverhaltens 3 6 3 Ausblick 4 Visualisierung 41 World Widd 4 1 1 OpenGL und JOGL 22 0 KE ew x 4 1 2 S3TC DXTn 4 1 3 Technische Grundlagen 4 2 Technische Umsetzung 4 2 1 Verwendete Komponenten aus World Wind 4 2 2 Verwendete Klassenstruktur 4 2 3 MondialLayer 5 1 Apache Ant 5 3 World Wind 5 3 1 Systemanforderungen 5 3 2 System Einstellungen 5 3 3 Ausf hru
59. tag Elemente wie das Auszeichnen eines Einbahnstra en Abschnittes einer Stra e Diese Teilabschnitte k nnen im Data Primitive relation zusammengefasst und dadurch die gesamte Stra e aus Teilabschnitten modelliert werden Aber auch abstrakte Dinge wie Buslinien lassen sich darstellen Hierbei wird die Busstre cke aus way Primitives der entsprechenden Stra enabschnitte modelliert Einzelne node Primitives zeichnen die Haltestellen aus lt relation id 54072 18 user mmertens uid 18369 visible true version 90 changeset 4751114 timestamp 2010 05 19T19 48 12Z gt member type node ref 316813487 role gt lt member type node ref 316922160 role gt lt member type way ref 8093142 role gt lt member type way ref 38074073 role gt lt tag k network v VSN gt lt tag k note v Nikolausberg Ellershausen gt lt tag k operator v GoeVB gt lt tag k ref v 5 gt lt tag k route v bus gt lt tag k type v route gt lt relation gt Wie die anderen Data Primitives enth lt auch das relation Primitive beliebige tag Elemente Die Referenzen auf andere Data Primitive werden ber das member Element realisiert Die type und ref Attribute stellen Verweise auf Primitives des angegebenen Typus mit der referenzierten id her Das Attribut role erm glicht zus tzlich noch die Rolle des referenzierten Primitives zu spezifizieren In dem Beispiel der Buslinie k
60. true version 62 changeset 5452880 http wiki openstreetmap org wiki Map_Features Unttp wiki openstreetmap org wiki Key admin_level admin_level 20 timestamp 2010 08 10T11 08 54Z gt lt member type node ref 13707878 role capital gt lt member type way ref 48921087 role gt lt member type way ref 48925554 role gt lt tag k admin_level v 2 gt lt tag k boundary v administrative gt lt tag k ISO3166 1 v dk gt lt tag k name v Danmark gt lt tag k name en v Denmark gt lt tag k name es v Dinamarca gt lt tag k type v boundary gt lt relation gt Feature Type Province Die Auszeichnung von Provinzen ahnelt stark dem Feature Type Country Sie unterschei det sich lediglich in den Werten fiir den Schliissel k admin_level bzw k border_type Der Schl ssel k admin_level hat den Wert v 4 Der Schl ssel k border_type den Wert v region oder v state lt relation id 454192 user mikes uid 6270 visible true version 60 changeset 5431931 timestamp 2010 08 08T11 21 34Z gt lt member type way ref 29413021 role outer gt lt member type way ref 29413247 role outer gt lt tag k admin_level v 4 gt lt tag k boundary v administrative gt lt tag k de amtlicher_gemeindeschluessel v 03 gt lt tag k name v Niedersachsen gt lt tag k type v multipolygon gt lt relation gt 2
61. ung der Grafiken zu gro wird Jedes Mal wenn Objekte entfernt oder hinzugef gt werden wird die Grafik neu erstellt Der n chste Ansatz w rde vorsehen dass f r jedes Feature eine eigene Grafik vorge halten wird Der gro e Nachteil dabei w re der immense Speicherverbrauch f r die ver schiedenen Grafiken Daf r spricht aber dass die Grafiken sofort zur Verf gung stehen und kein Aufwand betrieben wird um die Grafiken zu erzeugen Je nach Herkunft lokal oder aus dem Internet ist der Geschwindigkeitsvorteil f r die Zulieferung der Grafiken 43 hervorzuheben Gegen dieses Verfahren w rde allerdings sprechen dass mehr Grafiken verarbeitet werden m ssten Daraus k nnten wiederum Laufzeiteinbu en bei der Darstel lung resultieren Es m sste also erst einmal berpr ft werden ob dieses Verfahren der aktuellen Implementierung berlegen ist Der dritte Ansatz ist eine Kombination aus den zwei vorhergehenden Wie im zweiten werden die Grafiken f r jedes Feature vorgehalten Anschlie end w rden die Grafiken je nach Anfrage miteinander kombiniert werden um wieder nur eine bzw nur wenige Grafi ken f r das Rendern bereitzustellen Je nach verwendetem Format k nnten so die Vorteile beider Techniken sehr gut miteinander kombiniert und die Nachteile weitestgehend mini miert werden Das zweite und damit auch das dritte Verfahren k nnten gleichzeitig das Problem mit der fehlerhaften Auszeichnung von Features beheben Denkbar w re die
62. wird unter ei ner BSD artigen Lizenz ver ffentlicht ber eine Reihe von Schnittstellen k nnen diverse Geodaten bezogen und eingebunden werden Neben standardisierten Diensten wie Web Feature Services und Web Map Services k nnen auch geschlossene Formate wie Google Maps und Yahoo Maps genutzt werden Zus tzlich stellt die OpenLayers Bibliothek einige Steuerelemente bereit Hierzu z hlen beispielsweise Elemente zum Zoomen und Navigie ren der Karte So lassen sich mit Hilfe dieser Bibliothek sowohl auf einfachem Weg Karten in Webseiten integrieren als auch gro e kartenbasierte Dienste realisieren 2 1 2 Google Earth Google Earth 8 ist eines der bekanntesten Programme f r die 3D Visualisierung der Erde des Mondes und des Mars Google stellt das Produkt unter einer eigenen Lizenz zur Verf gung die eine kostenlose Verwendung f r die nicht kommerzielle Nutzung erlaubt Google Earth gibt es in verschieden Varianten die auf allen g ngigen Betriebssystemen lauff hig sind Die Implementierung eigener Erweiterungen 4 f r Google Earth steht je doch nur den Anwendern von Microsoft Windows Betriebssystemen zur Verf gung ber Ihttp svn openlayers org trunk openlayers license txt http earth google com intl de DE license html die Component Object Model 6 COM Schnittstelle hat der Entwickler die M glichkeit eigene Objekte in Google Earth darzustellen Das Component Object Model wurde von Microsoft als plattformunabh
63. z Jeder Handler parst die entsprechenden Primitives pr ft sie auf relevante Feature Types und schreibt sie gegebenenfalls in die Ausgabedateien Wird ein relation Primitive als relevantes Feature Type identifiziert so werden alle ent haltenen Referenzen auf weitere Data Primitives gespeichert Bei way Primitives hingegen wird nur jede drei igste nd Referenz gespeichert Dadurch wird der Detaillierungsgrad der linearen Objekte reduziert So wird die Gr e der Ausgabedateien minimiert und ein 18 de uni _goettingen informatik dbis osm Main 26 besseres Laufzeitverhalten erzielt Die gespeicherten Referenzen werden dem darauf fol gendem Handler mit Hilfe des parametrisierten Konstruktors bergeben Dies stellt sicher dass alle referenzierten Primitives in den Ausgabedateien enthalten sind Die gefilterten Daten werden auf mehrere Ausgabedateien aufgeteilt so dass f r jeden Feature Type eine eigene Datei entsteht Um Laufzeitvorteile bei der Abfrage von Features zu erzielen kommt ein leicht abgewandeltes osm XML Schemq zum Einsatz Es werden alle Bezeichner von Strukturelementen und Attributen auf eine minimale Lange reduziert Zus tzlich wird ein Gro teil der Attribute welche f r die weitere Verarbeitung irrelevant sind gel scht 3 5 Abfrage von Features Die Visualisierung und Validierung geografischer Objekte setzt die Suche nach den ent sprechenden Features voraus Daher ist in der Klasse GetFeaturd die Suche nach F
64. zun chst zwei potentielle Datenquellen kurz vorgestellt und schlie lich eine Wahl getroffen werden Im Folgenden wie auch in der gesamten Arbeit soll der Begriff Feature als Abstraktion eines geografischen Objekts verstanden werden Ein Feature repr sentiert das eigentliche Objekt durch eine Menge von Eigenschaften und wird einer dem Objekt entsprechende Klasse dem sogenannten Feature Type zugeordnet Beispielsweise kann ein Feature eine http worldwindcentral com wiki Main_Page 7http worldwind arc nasa gov java Shttp forum worldwindcentral com 10 Stadt durch ihren Namen ihre Population und ihre geografische Lage beschreiben wobei es dem Feature Type Stadt zugeordnet werden w rde 2 2 1 GeoNames GeoNames 7 ist eine geografische Datenbank die ber acht Millionen Features enth lt Das Projekt steht unter der Creative Commons Attribution 3 0 License und kann somit frei genutzt werden Neben einem Datenbankexport steht ein Web Feature Service zur Ver f gung Bei einem Web Feature Service WFS handelt es sich nach der Spezifikation 15 des Open Geospatial Consortiums 14 OGC einer gemeinn tzigen Organisation zur Defini tion allgemeing ltiger Standards f r die Verarbeitung von geografischen Daten um einen Dienst der den Zugriff auf geografische Daten erm glicht Hierzu ist eine Reihe von Ope rationen definiert die zum Zweck der Interoperabilit t ber das HTTP Protokoll abgewi ckelt werden So l s
Download Pdf Manuals
Related Search
Related Contents
Samsung Blue Earth Εγχειρίδιο χρήσης(Extended Usage Guide) Roper 3405639A Clothes Dryer User Manual GE 169088 Slow Cooker User Manual GRAND`O evo (35316.A), page 6 @ Preflight Copyright © All rights reserved.
Failed to retrieve file