22 February 2007

DOAG SID/SIG Spatial 21.2.07 in Frankfurt mit 72 Teilnehmern

Auf großes Interesse stieß in Frankfurt nicht nur mein Vortrag "Oracle Maps - die Antwort auf Google Maps" (Viewlet/8 Min.) bei 72 Teilnehmern. Die Veranstaltung wurde wieder einmal exzellent von Thomas Pahl (DOAG SIG Spatial/Text Leiter und Inh. der Fa. von Codework) und seinem Team organisiert.
Auch die anderen Vorträge waren eine Bereicherung:
- Carsten Czarski zu vergessenen Spatial Features und einem Ausblick nach 11i,
- GDV (Geocoding),
- DKV-Euroservice (Projektbericht aus dem Bereich Verkehrsmanagement),
- Gemitec (Spatial in der Verkehrs- und Unfall-forschung) und Migration einer landesweiten Geodatenbank nach Oracle Spatial)
Abstrakts hier auf der DOAG Seite.

Hier ein paar weiterführende Infos und Antworten auf (offline) Fragen, die andere auch interessieren mögen:

Frage: (von Gis Consult)
Funktioniert Oracle Maps auch mit der XE ?
Antwort:
Ja - jedoch beinhaltet die XE nur den Locator - ein How To Papier mit Sourcen/Beispiel hier in dem BLOG von Andrejus Baranovskis aus Litauen.
F:
Kann ich eine Karte von Map24 oder Google als Basemap nutzen ? (von Satlog)
A: Im Prinzip ja - im Spatial Discussion Forum gibt es dieses interessante Thread dazu. Bitte weiter beobachten. Sowie es eine Lösung mit Beschreibung gibt, wird sie hier zu finden sein!
F:
Wie kann ich einen WFS in Oracle Maps intergrieren ? (vom Landesamt für Strassenbau in Erfurt)
A: folgt

INFO:
Die Firma DKV Euroservice illustruierte Ihre beeindruckende Lösung eines Vertriebs unterstützenden Systems basierend auf Oracle Technologie - hier wurden Daten aus alles Betriebsbereichen (auch SAP) herangezogen und in der Karte sichtbar gemacht; u.a. wurde zum Abschluß gezeigt, wie Kunden und Services sich entlang einer Route im Umkreis von X-km darstellen lassen.... dies geht mit Oracle Maps und der Funktion BUFFER (für einen Punkt) schon "out-of-the-box" !!! So erspart man sich viel Entwickungszeit. Hier ein Screenshot der Buffer Funktionalität:


05 February 2007

NAVTEQ Kartenmaterial schon jetzt !!

Seit ein paar Tagen gibt es das für 11i avisierte NAVTEQ Kartenmaterial bereits jetzt zum Download (255 MB) auf dem Oracle Technology Network - OTN:
Es beinhaltet:
- Ländergrenzen
- Administrative Bereiche (Bundesländer)
- "Major" Highways (die Autobahnen)
Mehr Informationen gibt das FAQ-Dokument

Die Daten liegen im Spatial-Format (SDO_GEOMETRY) vor und können mit der Data Pump direkt geladen werden. Für 11g ist das Packaging mit der Datenbank-Installation geplant.

23 January 2007

SQL-Developer 1.0.1557 mit Georaptor extension


Entwickelt für den "Raptor" - die Entwicklungsversion des SQL-Developers - gibt es den "GEORAPTOR" (daher der Name). Der GEORAPTOR läuft allerdings nur mit der SQL-Developer Version 1.0.1557 und nicht mehr mit der aktuellen Version 1.0.2093 (;-(.
[UPDATE: 13.02.07: siehe letzten Absatz/pls see last paragraph!]
Infos von Matic Petek über den "Georaptor" hier: http://mygeoraptor.googlepages.com/
Über das Update-center (bei Help) des SQL-Developers kann man die Extension installieren und hat eine recht komfortable Kartendarstellung aller "Themes" (Ebenen) , die in Oracle Spatial gespeichert sind. Speziell zum Erlernen und Prüfen der Oracle Syntax für den Datentyp SDO_GEOMETRY und auch Oracle (Abfrage-) Funktionen ist es sehr hilfreich. Man kann die Layer/Themes der Karte hinzufügen, rin-/rauszoomen, verschieben, ein Rechteck markieren und dorthin zoomen und über den "Identify-Mode" (erst auf den Name des Themes klicken, dann auf "I") ein Objekt anklicken und die Daten zum Objekt unterhalb der Karte angezeigt bekommen
A) im "Attribute Data" - Mode oder
B) Geometry Data - Mode angezeigt bekommen.

Editieren kann man mit dem GEORAPTOR nicht. Hier kannst Du die alte SQL-Developer Version 1.0.0.15.57 runterladen. Ich konnte die Oracle Projektmanagerin Sue Harper davon überzeugen, nochmal in den SourceCode einzusteigen und den Georaptor für die aktuelle Version zum Laufen zu bringen. Schaun wir mal.

Zumindest "a great Thank You" - ein großes Dankeschön - an Matic Petek für die Entwicklung dieser tollen GEORAPTOR Extension ! Matic hat scheinbar momentan keine Zeit für sein Projekt und konnte noch keine Anpassung oder neue Version für den neuen SQL-Developer bereitstellen. Ich konnte ihn auch nicht über sein (alte) E-Mail Adresse erreichen.
Schaun wir mal !!

UPDATE: Neue Version für SQL Developer 11g (28.01.2010).

10 January 2007

Mapviewer installieren und in APEX integrieren - "How To ?"

Eine Kurzanleitung

Mapviewer installieren:
(Englische Version als PDF)
Deutsche Beschreibung:
1. Du gehst auf die Oracle AS Mapviewer/Software Download Seite.
2. Downloade für die aktuelle Version 10.1.3.1 die folgende Software runter:
3. MapViewer Quickstart kit—The MapViewer Quickstart kit includes a ready-to-run standalone OC4J with MapViewer 10.1.3.1 pre-deployed and configured (Zip - 89.6MB)
4. Demo Data Set—A MapViewer demo dataset (MVDEMO) specifically prepared for this release (Zip - 4.3MB)
5 View/Download the Users Guide—An updated PDF version of the MapViewer User's Guide (4.9MB)
6. Readme (Text)
Optional: Map Builder kit—The new Map Builder desktop application (um Themes/Layer zu editieren)

Vereinfacht geht es dann so weiter:

Step 1:
Voraussetzung ist natürlich eine Oracle Datenbank (möglichst 10g oder 9i) mit der Spatial Funktionalität installiert hast. Du kannst das wie folgt überprüfen :

SQL> SELECT COMP_NAME, STATUS FROM DBA_REGISTRY
WHERE COMP_NAME = 'Spatial';

COMP_NAME STATUS
----------------------------- -----------
Spatial VALID

Zum Installieren verfahre wie folgt:
SQL> connect SYS as SYSDBA
SQL> @?/md/admin/mdinst.sql

Step 2:
Das "MVDEMO" Demo Dataset (siehe 4.) auspacken und gemäß Readme.txt über SQL-Plus in die Datenbank installieren. Es werden dann Demodaten in Form von Tabellen, Karten und Layern, Themes, Base_maps usw. angelegt und indiziert; sprich die Funktionalitäten des Spatial Schemas MDSYS für die Daten nutzbar gemacht.

Step 3:
Den Mapviewer Quickstart Kit auspacken und (man braucht dazu Java SDK 1.5 wird auch JDK 5 genannt), den Pfad in der Start.bat oder Start.sh anpassen, dass es in etwa so aussieht und
-------------------------------------
C:
cd C:\mv10131_qs\oc4j\j2ee\home
java -server -Xmx384M -jar oc4j.jar
-------------------------------------
(start.bat oder start.sh - Startdatei für den Oracle Application Server)

Step4:
den OC4J (Oracle Containers for Java, die J2EE Version des Oracle Application Servers) starten (Doppelklick auf die "start.bat" und obige Datei wird gestartet)

Step5:
Aufruf des Mapviewer mittels:
http://localhost:8888/mapviewer oder gleich:
http://localhost:8888/mapviewer/faces/home.jspx
Jetzt landest Du im "kleinen Enterprise Manager" (EM) des AS Mapviewers.
Unten auf der Seite siehst Du dann auch den Link zu Oracle Maps Tutorial.

Step6:
Schau Dir zunächst mal das 3. Kapitel Demo Setup an und gehe die Steps durch.
die 1. haben wir oben mit dem Import des Demo Datasets MVDEMO schon erledigt. In der Regel mußt Du das MVDEMO Schema nicht "droppen" , da Du es ja wahrscheinlich gerade erst eben mit den Demodaten angelegt hast.
Dann folgt 2. : Es muß über den ADMIN Teil (oben rechts Button im EM) eine Datasource angelegt werden (Verbindung vom Application Server OC4J zur Datenbank).
Das Einloggen geschieht mit (normalerweise) oc4jadmin/oc4jadmin.
Und Du mußt das Skript "mcsdefinition.sql" erwähnt in 3.) laufen lassen.
Dann kannst Du über "Running the Demos" Dir die ersten Karten ansehen. Na hoffentlich! Glückwunsch !

Step 7:
Im Oracle Maps Tutorial findest Du im Inhaltsverzeichnis oben links: Getting Started.
Hier werden die 3 Schritte zum Bau eines Oracle Maps API beschrieben:
The essential steps to building any Oracle Maps application or mashup using the JavaScript API are:
(1) Loading the Oracle Maps JavaScript library in the beginning of a web page
(2) Placing an HTML DIV component that serves as the master map container on the page
(3) Writing custom JavaScript code to set up initial map contents (base-map, FOI layers, etc) and implement application specific logic.

Wo kommt das in APEX nun hin ? Berechtigte Frage.

Oracle Maps in APEX integrieren:

Step 1 - laden der Oracle Maps Javascript library am Seitenanfang
Wir legen eine neue Anwendung in APEX mit einer leeren Seite und ohne Authentication an (empfehle ich).
Zu (1) - Wir rufen die Seite auf und gehen bei "Page Rendering"/"Seitenwiedergabe" auf Page/Seite und in dem Kasten oben rechts auf das Icon "Page Attributes/Seiten Eigenschaften.
Dort gehen wir zum HTML Header und kopieren den unter Step 1 und Step 3 (des Tutorials) erwähnten Quellcode hinein.
Also die Zeile:

'<'script language="Javascript" src="/mapviewer/fsmc/jslib/oraclemaps.js"'>'<'/script'>'

und den großen Block unter Step 3. (nur den großen Block!.)
Bei Anzeigeattribute und "Cursor Focus" muß ausgewählt sein: "Cursor nicht als Focus"
Als (vor-) letztes gehen wir auf der APEX Seite unterhalb des "HTML Header" zu "Beim Laden"/"On Load" und kopieren die untere Zeile


'<'body onLoad="javascript:showMap();"'>'
dort hinein.
Das Javascript von Oracle Maps wird nun zu Beginn der Seite immer aufgerufen.

Step 2 - Anzeige der Karte in einer Region:
Wohin soll aber die Karte kommen ?
Dafür richten wir eine Region ein vom Typ HTML und kopieren den Quellcode von Step 2 in "Quelle"/"Sources" wie folgt:

'<'div id="map" style="left:1%; top:1%; width:99%; height:99%"'>'<'/div'>'
d.h. ein sogen. DIV Container namens "map" nimmt die Ergebnisse auf und stellt sie dar, die das Javascript und der Mapviewer beim Aufbau der Seite zusammenspoolen;
die Seite ist (fast) fertig.
Eine kleine Anpassung müssen wir noch vornehmen:
Im HTML Header bei den Seitenattributen heisst es ja:


src="/mapviewer/fsmc/jslib/oraclemaps.js


und das müssen wir abändern in:


"src="#IMAGE_PREFIX#javascript/oraclemaps.js"

Das macht aber natürlich nur Sinn, wenn wir die "oraclemaps.js" auch in das Verzeichnis der APEX images unter javascript



...??\?htmldb?\images\javascript

kopiert haben.
Dazu mußt Du bitte in das Verzeichnis des ausgepackten OC4J (Application Server) gehen und nach der Datei "oraclemaps.js" suchen.
Sie sollte in:


..??\oc4j\j2ee\home\applications\mapviewer\web\fsmc\jslib

liegen und muß nach



..??\?htmldb?\images\javascript
kopiert werden.

Ein allerletzter Schritt - das war es dann auch, ehrlich! -

Da APEX ja auch Javascript benutzt, welches in APEX liegt und der Mapviewer auch Javascript nutzt und ein "Cross-Scripting" APEX und der OC4J nicht erlauben, müssen wir dem Apache/http server dies nun noch beibringen:
Wir gehen in die "httpd.conf" in:

...??\htmldb\Apache\Apache\conf

und ergänzen in der Section:


#
# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
#
ProxyRequests On
ProxyPass /mapviewer/ http://localhost:8888/mapviewer/
ProxyPassReverse /mapviewer/ http://localhost:8888/mapviewer/
NoCache *
#
#


F E R T I G ! ! ! !
Jetzt sollte es laufen. Zumindest schonmal mit einer Karte in APEX.
Wenn Du das Oracle Maps Tutorial nochmal studierst, wirst Du sehen, wie einfach es ist, die Karte um zusätzlich "Features" zu ergänzen oder eine andere als die Demo-Karte anzuzeigen.
Falls die Anleitung noch etwas holperig sein sollte, laß es mich bitte wissen, damit ich sie verbessern kann.
Viel Spaß damit - es lohnt sich.

20 December 2006

Navteq Kartenmaterial in 11g

Mit 11g soll ja Kartenmaterial von NAVTEQ bereits gebundelt mit der Oracle Datenbank ausgeliefert werden. Was wird da nun beinhaltet sein ? Dieses Papier gibt darüber Auskunft. Bereits Ende 2006 sollen die ersten Daten zur über OTN Verfügung stehen...

Ein Extrakt aus dem FAQ NAVTEQ DIGITAL MAP DATA FOR ORACLE

You can download the date from OTN here.

- - - QUOTE - - -

Oracle plans to distribute country boundaries for all countries as well as “administrative boundary data” derived from the NAVTEQ product that delineates countries, states and provinces, counties and cities as well as major highways and major roads for the following countries:

Western Europe: Andorra, Austria, Belgium, Denmark, Eire (Republic of Ireland), Faroe Islands, Finland, France, Germany, Gibraltar, Greece, Greenland, Guernsey, Iceland, Italy/Vatican City, Jersey, Liechtenstein, Luxembourg, Malta, Man, Monaco, Norway, Portugal, San Marino, Spain, Sweden, Switzerland, The Netherlands and United Kingdom

North America: United States, Canada and Mexico

Asia/Pacific: Australia, Hong Kong/Macau, Malaysia/Singapore, Taiwan.

For certain countries a subset of these data with only country boundaries and
major highways will be offered. These are:

Eastern Europe:
Bulgaria, Croatia, Estonia, Hungary, Latvia, Lithuania,
Poland, Romania and Slovenia;
and “World Markets” countries:
Saudi Arabia, Kuwait, Bahrain, Oman, Qatar, United Arab Emirates and South Africa.

- - - UNQUOTE - - -

18 December 2006

WMS in APEX

Nach dem Definieren eines MapCache im Mapviewer für eine externe Datenquelle kann man in Oracle Maps die Inhalte des WMS zur Anzeige bringen:
klick to enlarge
Dies basiert auf einem WMS von CCGIS

Der Mapviewer Cache sieht wie folgt aus:

klick to enlarge
Das oben unvollständig dargestellte Verzeichnis (jar File location) verweisst auf die "Mapviewer.jar" Datei und sieht bei mir so aus:
C:/mv10131_qs/oc4j/j2ee/home/applications/mapviewer/web/WEB-INF/mapcache/mvadapter/mvadapter.jar
Zur Erstellung der obigen Parameter muß man selbstverständlich die "getCapabilities" des jeweiliegen WMS genau studieren und die benötigten Parameter ableiten.

12 December 2006

WMS Web Map Service für Oracle Maps


Um eine Open Source Deutschlandkarte zu bekommen, kann man auf WMS Web Map Service zurückgreifen. Hier eine Karte mit schon einigen Features, sprich Layern, die man über eine API ggfls. auch ein- und ausblenden kann. Mehr demnächst hier, wie ich die Karte in Oracle Maps eingebaut habe... es bleibt spannend.
Den Link dahin liefert übrigens - mit super Bechreibung das GIS.WIKI und die Karte von www.ccgis.de - Danke dafür !!
Die Karte enthält folgende Layer:
Grenze,
Bundeslaender,
Staedte,
Postleitzahlbereiche,
Bahnlinien,
Fluesse,
Strassen,
Staedtepunkte,
Postleitzahlbereichname,
Staedtenamen,
Bundeslaendernamen

01 December 2006

Mapviewer and JAVA --> JDeveloper 10g

Habe eben per Zufall gefunden in einem Eintrag im Oracle Discussion Forum, dass das tolle How To Dokument nur mit dem JDeveloper 9 funktioniert und nicht mit JDeveloper 10g - das Development arbeitet daran... Sorry.
CORRECTION (10.01.07): Die Extension geht derzeitig nur mit JDeveloper 10.1.2 (aktuell sind wir bei 10.1.3) !

27 November 2006

Was geht schon alles mit dem Oracle Locator ?

Immer wieder werde ich obiges gefragt, denn der Locator ist ja bereits Bestandteil der Oracle Datenbank in der
- XE Express Edition (kostenlose Edition mit ein paar Einschränkungen)
- SEO Standard Editon One (1 Rechner - max 2 CPU)
- SE Standard Edition und
- Enterprise Edition (Übersicht der Oracle Server Editions hier)
Die Antwort zu "Was geht mit dem Locator?" hier in der Doku.
Dort ist auch grob (am Ende) angerissen, wofür die Spatial Option erst zusätzlich zur EE zu lizensieren ist.

Die Funktionsübersicht von Oracle zum Locator (gegenüber der Spatial Option) besagt:
+ Query nearest neighbor and other spatial relationships between geometries
+ Perform location queries on relational information not stored in Oracle Spatial geometry
+ Support long transactions
+ Store and index vector geometries in the database
+ Enhance application performance

Ein Auszug aus dem Oracle® Spatial User's Guide and Reference
10g Release 2 (10.2) - Anhang B - hier:

In general, Locator includes the data types, operators, and indexing capabilities of Oracle Spatial, along with a limited set of the functions and procedures of Spatial.

The Locator features include the following:

An object type (SDO_GEOMETRY) that describes and supports any type of geometry

A spatial indexing capability that lets you create spatial indexes on geometry data
Spatial operators (described in Chapter 11) that use the spatial index for performing spatial queries

Some geometry functions and the SDO_AGGR_MBR spatial aggregate function

Coordinate system support for explicit geometry and layer transformations (SDO_CS.TRANSFORM function and SDO_CS.TRANSFORM_LAYER procedure, described in Chapter 13)

Tuning functions and procedures (SDO_TUNE package, described in Chapter 19)

Spatial utility functions (SDO_UTIL package, described in Chapter 20)

Integration with Oracle Application Server 10g

For information about spatial concepts, the SDO_GEOMETRY object type, and indexing and loading spatial data, see Chapters 1 through 4 in this guide. For reference and usage information about features supported by Locator, see the chapter or section listed in Table B-1.

Im Zweifel bitte genau in den User Guide schauen und/oder bei Oracle zurückfragen, wenn es um die korrekt Lizensierung geht.


Hier noch die Übersicht aus dem Oracle Spatial 10g Ref.-and User Guide: