Geodaten und Application Express: Darstellung als Karte

Kennen Sie Google Maps? Wahrscheinlich schon.

Dann stellt sich die Frage, ob geografische Informationen auch in Ihren Anwendungen einen Nutzen stiften können.

Der geografische Ort wird meist nur indirekt verwendet, etwa als postalische Adresse oder als Kennziffer für das Vertriebsgebiet - was für viele Aufgabenstellungen völlig ausreichend ist. Der erfolgreiche Einsatz von Navigationssystemen oder Diensten wie Google Maps zeigt deutlich, welchen Stellenwert Anwendungen mit Ortsbezug erreichen können. Auf die gleiche Weise kann die Verwendung geografischer Informationen in Ihren Application Express-Anwendungen deutlich zur Wertschöpfung beitragen.

In der letzten Ausgabe haben Sie erfahren ...

  • ... wo Sie Kartendaten von NAVTEQ im Oracle-Format kostenlos herunterladen
  • ... wie Sie diese Kartendaten in die Datenbank importieren
  • ... wie Sie geometrische Berechnungen auf diesen Daten durchführen können

In dieser Ausgabe lernen Sie, wie Sie die Daten als Karte darstellen und diese Karte in Ihre Anwendung integrieren.

Aufsetzen des MapViewer

Zum Erzeugen der Karte wird in diesem Tipp der Oracle Fusion Middleware MapViewer verwendet. Um den MapViewer auf Ihrem System bereitzustellen und mit Ihrer Application Express-Anwendung zu integrieren sind einige Vorbereitungen erforderlich. Lesen Sie in diesem Dokument, wie Sie die MapViewer Software herunterladen, installieren und konfigurieren. Beachten Sie für diesen Tipp darin vor allem die Schritte 1, 2 und 6.

Eine Karte anfordern: Map Requests aus Application Express

Jetzt ist es endlich soweit: Mit dem soeben eingerichteten MapViewer und den Geodaten, welche Sie in der letzten Ausgabe kennengelernt haben, eine Karte zu erzeugen in die erstellte Application Express-Anwendung zu integrieren. Fügen Sie der Anwendung als erstes eine neue Seite hinzu. Nennen Sie die Seite Karte (Abbildung 2).

Ausgangspunkt: Die Karte wird in eine (noch) leere Seite eingebaut

Abbildung 1: Die Karte wird in eine (noch) leere Seite eingebaut

Fügen Sie dieser Seite eine neue Region vom Typ PL/SQL dynamic Content hinzu. Der hier hinterlegte PL/SQL-Code wird eine Karte vom MapViewer anfordern und als PNG-Bild in die Anwendungsseite integrieren.

declare
  v_result    varchar2(1000);
  v_image_url varchar2(1000);
begin
  sdo_mvclient.createMapViewerClient('http://[MapViewer-Host]:8888/mapviewer/omserver');

  sdo_mvclient.setDataSourceName('world');
  sdo_mvclient.setImageFormat('PNG_URL');
  sdo_mvclient.setAntiAliasing('true');
  sdo_mvclient.setBaseMapName('WORLD_SAMPLE');
  sdo_mvclient.setCenterAndSize(10,50,2);
  sdo_mvclient.setDeviceSize(500,400);
  v_result := sdo_mvclient.run();
  v_image_url := sdo_mvclient.getGeneratedMapImageUrl();
  htp.p('<img src="'||v_image_url||'" alt="Karte" title="Karte">');
end;

Die Bedienung des MapViewer ist, wie Sie an diesem Code sehen, denkbar einfach. Zunächst wird mit der Prozedur createMapViewerClient eine Intialisierung vorgenommen. Achten Sie darauf, hier Ihren Hostnamen einzutragen. Der hintere Teil der URL /mapviewer/omserver ist stets gleich.

Anschließend wird der Name der Datenquelle gesetzt. Achten Sie darauf, dass Sie die hier verwendete Datenquelle während der Einrichtung des MapViewers (weiter oben) in der Datei mapViewerConfig.xml definiert haben.

  • Der MapViewer soll die Karte als PNG-Bild generieren und eine URL auf das Bild zurückliefern (PNG_URL). Mit dieser URL wird abschließend ein <img src="..."> Tag erzeugt, womit die Karte in Ihre Anwendung eingebunden ist.
  • Für dieses Beispiel verwenden Sie eine bereits vordefinierte Karte (WORLD_SAMPLE)
  • Das Kartenzentrum liegt bei 10° östl. Länge und 50° nördl. Breite. Die Karte soll sich (vertikal) über 2 Breitengrade erstrecken.
  • Die Karte soll 500 mal 400 Pixel groß sein.

Das reicht als einfaches Beispiel bereits aus. Starten Sie die Seite und betrachten Sie das Ergebnis (Achtung: Der allererste Aufruf kann auf Grund von Initialisierungen einige Sekunden dauern).

Das Ergebnis: Eine Karte in Ihrer Application Express-Anwendung

Abbildung 2: Das Ergebnis: Eine Karte in Ihrer Application Express-Anwendung

In der nächsten Ausgabe werden Sie das neue PL/SQL-Paket SDO_MVCLIENT näher kennenlernen. Unter anderem werden Sie erfahren, wie Sie in der erzeugten Karte navigieren und ihr dynamisch neue Elemente hinzufügen können.

Wenn Sie mehr über die Geodaten-Technologie erfahren möchten, finden Sie hier weitere Informationen:

Zurück zur Community-Seite