Sonntag, 17. August 2008

OpenStreetMap-FOI und Oracle Maps Mashup mit externem Custom Map Tile Layer (5)

In dem Blog "OpenLayers mit Google Maps, Yahoo! Maps und OpenStreetMap" hatte ich bereits eine OpenStreetMap (OSM) gerenderte Karte vorgestellt.

OpenStreetMap - Daten sind nach der CC-BY-SA - Lizenz frei verfügbar. Es kann bei der Datenerfassung jeder mitmachen und innerhalb weniger Stunden wird eine neu erfasste Strasse, ein Fahrradweg oder eine gute Kanustrecke in der Karte dargestellt.

OpenStreetMap-Gründer Steve Coast hierzu:

"Jeder kann die Daten benutzen, die in OpenStreetMap gesammelt werden", erklärt er. "Vereine, Firmen, Kartographen, Programmierer - alle können unsere Daten benutzen, wie sie wollen, ohne dafür zu zahlen."

Die freie Verfügbarkeit der Daten setzt ein enormes, kreatives Potenzial frei: Es wird die Entwicklung neuer Software vorangetrieben und es werden Geodaten erfasst, die von Vermessungsautos nicht befahren werden können!

Empfehlen kann ich hierfür das Buch "OpenStreetMap - Die freie Weltkarte nutzen und mitgestalten" der Authoren Frederik Ramm und Jochen Topf, das dankenderweise beim Lehmanns Media Fachbuchverlag erschienen ist.

In dem nun hier vorgestelltem Mashup habe ich zunächst die OpenStreetMap Strassen-Daten von Berlin in Oracle Spatial 11g, SRID 8307, geladen.

Möchte man diese Daten in der fertig gerenderten Karte des Oracle Demos (Teil 1-4 dieser Serie) darstellen, so muß berücksichtigen werden, dass diese externe Karte im World Mercator 54004 vorliegt: Also brauchen wir die OSM- Daten auch in der 54004 Projektion. Voraussetzung ist natürlich die Definition der 54004 Projektion in Oracle Spatial!

Wir bilden also einen FOI-Layer aus den in 54004 transformierten OSM - Daten und legen diesen auf die von Oracle/NAVTEQ gerenderte, externe Base Map. Hierfür habe ich im Demo einen Theme-Filter auf nur einige wenige Strassen definiert.



Unser Mashup aus der Oracle/NAVTEQ StreetMap und den OSM- Berlin Strassen - Daten sieht nun so aus:


Dargestellt in einer anderen Zoomstufe:


Wir können somit topologische Abfrageergebnisse aus Oracle Spatial OSM-Daten als FOI - Layer auf der externen Base Map in Oracle Maps darstellen.

Viel Spaß dabei,
Friedhold

Samstag, 16. August 2008

Google Maps Street View und Oracle Maps Mashup mit externem Custom Map Tile Layer (4)

Auf Basis der Client seitigen Transformation der Koordinaten vom World Mercator 54004 in WGS84 (SRID 8307) sind wir nun in der Lage, ein Mashup mit Google Maps zu erstellen. Die Mouseclick - Koordinaten werden in Oracle Maps in WGS84 umgerechnet und als POI's an Google Maps übergeben:


Recht eindrucksvoll läßt sich dies anhand der Street Views von Google Maps demonstrieren:


Und natürlich ein Street View von Oracles Headquarter:


Fassen wir zusammen:
Unsere Oracle Maps Mashup Applikation besteht aus der Base Map, die aus den Tiles des externen Oracle GeoCoding Demos gebildet wird, und den im InfoWindow eingefügten Google Maps Street Views,
aktiviert mit der rechten Mouseclick-Position.

Abschliessend noch ein Street View am Google Standort:


Viel Spaß,
Friedhold

Freitag, 15. August 2008

Mercator 54004 Transformation und Oracle Maps Mashup mit externem Custom Map Tile Layer (3)

Oracle Maps liefert in der aktuellen Version natürlich auch Möglichkeiten zur Interaktion mit den externen Custom Map Tile Layern. Im Moment fehlt jedoch noch die Google Maps/Virtual Earth Tansformation auf der Client Seite (von OpenLayers praktiziert) bzw. in der Oracle Datenbank auf Basis einer SRID - Definition.

Oracle Maps enthält aber implizit die World Mercator 54004 Transformation. Damit lassen sich die Tiles von Google Maps oder OpenLayers leider nicht so einfach ansprechen, wie ich in einem kleinen Vergleich zeigen möchte:

- Oracle Maps 54004 Tile
- Google Maps 900913 Tile

Deutlicher wird dies am Google Maps Ausschnitt mit InfoWindow:



Es unterscheiden sich bei identischen X-Tile-Koordinaten deutlich die Y-Tile-Koordinaten !

Mit einer kleinen Erweiterung des im Teil (2) beschriebenen Demo möchten wir nun in einem InfoWindow die Koordinaten ausgeben bzw. Informationen loggen:



D.h. zunächst liefert die Mouseclick - Position die Koordinaten der 54004 Map Projektion des Oracle Demos. Anschliessend werden diese 54004 Map Koordinaten in SRID 8307 Koordinaten transformiert:



Auf Basis der SRID 8307 Koordinaten lassen sich nun Mashups mit Google Maps aufbauen, in einem weiteren Teil dieser Serie möchte ich darauf eingehen.

Friedhold