10 February 2014

Mitschnitt eines Web-Seminars zum MapViewer 11.1.1.7 mit HTML5 API

Unter dem Titel "Oracle MapViewer 11.1.1.7: Building HTML5 Maps for Web and Mobile Apps"
gibt es den Mitschnitt einer MapViewer Training Session.

http://oukc.oracle.com/static12/opn/login/?t=checkusercookies%7Cr=-1%7Cc=1453384237


Vorausgesetzt wird ein Oracle Technology Network (OTN) Account. Für diesen können Sie sich jederzeit kostenlos registrieren.

Vorgestellt wird darin auch der neue Map Data Editor.
Was ist das?
  • Web-based spatial data editing tool (Java applet)
  • Supports versioned, concurrent editing through editing sessions
  • Supports Oracle Workspace Manager (long transactions)
  • Supports geometry model 
  • Supports WFS-T 
  • All aspects of an editing session are saved in database
(Abb.: MapViewer 11.1.1.7 -Gitter-Darstellung mehrerer voll interaktiver Karten)

14 November 2013

Architektur von MapViewer 11.1.1.7

Ergänzend zu meinem Posting eben will ich hier noch einen Überblick zur Architektur des MapViewers geben.


HTML 5 API von MapViewer 11.1.1.7. nutzen für coole Karten

Im Blogpost vom 25. April 2013 wurde auf die neue Version von Oracle Fusion Middleware MapViewers (und Maps) verwiesen.
Diese kommt mit einer neuen Javascript API daher, welche HTML 5 unterstützt.

Wie für die bisherige API auch, stehen Javascript Reference und jede Menge Tutorials mit Codebeispielen bereit. Darüberhinaus gibt es online verfügbar Beispielanwendungen, welche die neuen HTML 5 Features einsetzen.
Zu finden ist das alles auf dieser extern verfügbaren Seite: http://slc02okf.oracle.com/mvdemo/

Im Detail:

06 September 2013

Mapviewer Update Webcast September 12, 2013 - 11:00AM ET - 17:00h German Time

The Oracle Mapviewer team of Oracle Spatial & Graph will host a webcast with an update of the new MV features on September 12th, 2013:
This webcast will concentrate on the following new MapViewer 11.1.1.7 enhancements:

Join the MapViewer team and learn how these new features  can help you to quickly integrate and visualize business data with maps.  Live Q & A will follow the presentation. 
  • Web-based editor (Java applet) that edits spatial data with workspace and versioning support
  • Templates:  prepackaged map data files that are readily consumed by the new API
  • Support for OGR/GDAL to access 3rd party spatial data sources
Duration: 1 hour

Telephone conference details:
US/Canada Dial-In Number: (855) 227-3163
International Dial-In Number: (213) 784-8014

Toll-Free International Dial-In Numbers
German dial in # 0800 1815 287 
Session Number: 256 954 725
Password: Oracle123


Webcast Details:
Date: September 12, 2013
Time: 11:00am ET -->  17:00h German Time (CEST)
Conference ID: 47402540

Good luck !

25 April 2013

MapViewer 11.1.1.7.0 has been shipped

You might have noticed: MapViewer 11.1.1.7.0 has shipped (as part of FMW PS6).

It's available on support.oracle as Patch # 16589883 https://support.oracle.com/epmos/faces/ui/patch/PatchDetail.jspx?patchId=16589883 

Notable enhancements include:
- V2 of oraclemaps javascript API which depends on, and uses, HTML5 Canvas and SVG for client side rendering of interactive map content.
Requires HTML5 Canvas support in the browser and hence won't work with IE8.
- A web-based spatial data editor (Java applet)
- Support for 3rd party spatial data sources via GDAL/OGR

I haven't had time to test this all.
I am extremely interested in the Java applet for editing...
Have fun ! (oh, sorry, english)

NB: A new site has been launch for Oracle Maps recently -
with a Test Drive for Oracle Maps with the new look and feel.

04 September 2012

Oracle Spatial Conference - Collateral

Eine ganze Reihe interessanter Dokumentationen wurde nach der Oracle Spatial User Conference (im Mai 2012)  veröffentlicht und sind über diese Seite erreichbar.

Speziell die Integration mit OBI EE (Oracle Business Intelligence) wurde in einem umfassenden Vortrag von PM Jayant Sharma (pdf, 14 MB) erläutert und mag für weitere Anwendungsentwicklung nützlich sein. Auch ein sehr ausführlicher Vortrag (106 slides) von Peak Indicators Ltd. hilft weiter bei der Umsetzung.

Hier Screenshot einer Heatmap basierend auf einem WMS in OBI EE:


oder die Kombination von Karte und Liste inkl. "Verschneide"-Möglichkeit...:


und ein gutes Video von KPI Partners, was alles möglich ist (Oracle Maps ab 8:37 min) und wie ein Dashboard erstellt wird (ab 10:00 min):


und  noch beeindruckender mit Hilfe der Oracle Exalytics Lösung am Beispiel einer Airline:

in obigem Video ab 2:00 min diese Routen Analyse


oder "mobile" auf einem iPad:


19 March 2012

ADF: use custom image (eigene Bilder) in MapPointTheme

Ein kurzer Tipp zur Nutzung von "eigenen" Bildern als POI in ADF... dieses Beispiel basiert auf JDeveloper 11.1.2.1.
Als alter Schifffahrtskaufmann hatte ich die Herausforderung, auf einer (Welt-) Karte die Schiffspositionen "meiner" Reederei darzustellen. Ich wollte diese nun nicht mittels "Fähnchen" oder den default "Bubbles" markieren, sondern mit einem "richtigen" Schiff.
Hier zunächst das Ergebnis:


Dazu habe ich eine dvt:mapPointTheme verwendet, welches die Schiffspositionen aus der Datenbank ließt. Standardmäßig wird im dvt:mapPointTheme als "Image"  (wie bei den Oracle Offices in DE zu sehen) der rosa Bubble als InBuilt Image genutzt (es stehen da auch noch weitere 20 zur Auswahl wie Flaggen, Zeichen, usw.).
Dann habe ich mir ein "Containershiff" besorgt... und es in mein Images-Verzeichnis meiner Anwendung hochgeladen (C:\...\JDEV11121\mywork\ADF-GEO\ViewController\public_html\images
Im JDeveloper: ..ViewController - Application Sources - Web-Content - images (evtl. neu zu erstellen).
Für den POI gibt es jetzt unter den DVT Komponenten einen: "dvt:PointStyleItem".



Diese Komponente ziehe ich jetzt auf mein dvt:MapPointTheme;

und setze im Point Style Item IsDefault: auf true and selektiere mein Image aus der Liste.
Fertig !


Dies Beispiel beruht übrigens auf der kleinen Übung in meiner ADF News Session und kommt ebenfalls ohne eigene "Geodaten-Infrastruktur" aus...

16 March 2012

ADF News Session - Geodaten Integration - Recap

Eine kurze Zusammenfassung zur ADF News Session vom Freitag, 16.3.2012:

Wir erstellen eine .jspx mit Karte und Point-Layer/Theme ohne eigene Geodaten Infrastruktur... - wir nutzen lediglich den JDeveloper 11g, ADF und die ADF Data Visualizations.
Die Karte kommt vom Oracle "Elocation Server" - die POI (Points of Interest) entstammen einer eigenen .csv Datei.

Das Ergebnis vorweg: Oracle Niederlassungen auf der Deutschland/Europa Karte













Die Steps dahin:
1. Neue "ADF_GEO.jspx"  anlegen
2. Component Palette: ADF Data Visualizations:



die Komponente "map" auf die .jspx ziehen...

der "Create Geographic Map" Wizard startet.













3. Bei "Map Configuration" die Mapviewer url eingeben. In unserem Beispiel war es der
Oracle Mapviewer auf dem "elocation-server":

Mapviewer url: http://elocation.oracle.com/mapviewer

Als Geocoder url verwenden wir ebenfalls die Oracle Instanz:

Geocoder url: http://elocation.oracle.com/geocoder/gcserver

- der "Geocoder" wird unsere Adressdaten aus der .csv Datei in "POI"s auf der Karte umrechnen...

4. Karte zentrieren (Klick auf das Zentrum der Karte) - Zoom-Level über den Slider auf 5 setzen --> OK
 Im Property Window können nachträglich Länge und Breite sowie Zoomlevel angepasst werden.

5.Layer hinzufügen. Hier über Placeholder Data Control zur Nutzung einer CSV Datei.
Die Datei hatte die Struktur:  1. Zeile: Name,strasse,land,plz,ort,umsatz - ab 2. zeile die Adressen..
File --> New --> Data Control --> Placeholder Data Control --> Name vergeben: Oracle_NDL --> OK
wechseln zu: Data Controls: rechte Maustaste: "Create Place Holder Data Type"
Name des Placeholders vergeben -->
--> Sample Data --> Import... - csv Datei im Dateisystem suchen... - OK --> evtl. Spaltenüberschriften anpassen --> OK
Jetzt Layer/Theme hinzufügen: Das Placeholder Data Control auf die Karte ziehen und der Create Theme Wizard started --> PointTheme selektieren:

Der CreatePoint Theme Wizard startet - Namen vergeben (erscheint im UI des Users!) - Location: Address Type: "International Address" (mit unserem Format) auswählen und "mappings" mit unserer Datenstruktur herstellen. street = Strasse, city = ort, usw. 
Bei Point Data könnten wir "Umsatz" nehmen und als Label "Umsatz" eintragen (Category kann leer bleiben) --> OK - speichern... (;-) --> recht Maustaste auf die Karte und: "Run" ... und unsere Karte sollte im Browser erscheinen.


Viel Spaß und Erfolg weiterhin mit ADF und Geodaten....!!


13 March 2012

ADF DVT Visualisation Components - Map mit Colortheme, Pie- und Bar-Graph

In Vorbereitung auf eine ADF Java News Session am Freitag, 16.3.2012 08:30h habe ich wieder mal in die DVT Komponenten geschaut und coole Grafiken erstellt:

Zoom Level 2:  Pie-Graphs
 Weiter "Rein-Zoomen" und ...
Zoom Level 4: Color Theme plus Bar-Graphs


Zoom Level 5: Color Theme plus Bar-Graphs

29 November 2011

ADF mit Karte und Tabelle selektierter FOIs

Ein weiterer Schritt des typischen GIS "Verschneidens" soll hier dokumentiert werden -
mit dem aktuellen Mapviewer 11g PS3 bzw. Oracle Maps und JDeveloper 11.2.
Ich nutze dazu die ADF DVT (Data Visualisation Technology) im JDeveloper
Abb. 3 - "Verschneiden" (in Oracle Spatial: SDO_Relate) - Karte und Ergebnistabelle

Im Gegensatz zu meinem letzten BLOG Eintrag wollen wir jetzt die Getränkemärkte mit dem Redline Tool "Circle" oder "Rectangle" selektieren/verschneiden und entsprechend rechts daneben in der Tabelle die Namen und Umsätze darstellen....

Hier die Variante ohne lokale/eigene Mapviewer Installation und ohne Oracle Spatial... (;-) - ich nutze Addressdaten aus einer Tabelle und lasse den Oracle-Geocoder die Geokoordinaten "on-the-fly" berechnen.

Neben dem ausführlichen Viewlet (folgt) hier die Kurzform:

1. New "Fusion Web Application"
2. model -- New "ADF Business Components for tables"
3. Connection zur DB, Tabelle mit Addressdaten ist ausreichend... - Query - Tabelle selektieren
4. Seite: ViewController -- New Webtier - JSF Page - Format 2-spaltig / verticale Anordnung
5. Karte: Von rechts "Compoment Pallette" und ADF Data Visualisations -- Map -- Geographic map auf das linke (first) facelet ziehen
6. Connection zum Mapviewer definieren
6.1 Mapviewer url: http://elocation.oracle.com/mapviewer und zum
6.2 Geocoder url: Geocoder url: http://elocation.oracle.com/geocoder/gcserver
Info: der Geocoder auf dem Oracle elocation server errechnet uns "on the fly" die Geokoordinaten..!! cool !
7. In Karte reinzoomen und Zentrum auf Deutschland setzen (Doppelklick in DE)
8. Toolbar: Aus Component Palette und "Map" den Toolbar über die Karte ziehen - optional im "Structure Pane" (links) oberhalb der "map"  loslassen - Map ID bestätigen (default ist m1, falls nicht umbenannt).
9. PointTheme/Layer erstellen: Aus "DataControls" das ViewObjekt anklicken und auf die Karte ziehen - PointMapTheme selektieren und im Wizard bei Location: "Address" anklicken und Variante "international address" mit "Street, city, location, zip" auswählen und folgend die Spalten aus der Tabelle (ViewObject) zuweisen. Bei "Point Data" den z.B. numerischen Umsatz-Wert selektieren und einen Namen wie "Umsatz" benennen. Wichtig: Checkbox "Enable Row Selection" LEER lassen! Ja !!! Dies muss jetzt ausprogrammiert werden über eine Managed Bean (s.u.)   
9. Tabelle: neben die Karte in das 2. Facelet eine "leere" Tabelle aus ADF Faces Components - Data Views - Table - ziehen
10. Im Table Wizard nur eine Column stehen lassen und "row.col1" in "row" in den geschweiften Klammern umbennnen. OK
11. Finetuning, Binding, SelctionListener, PartialTrigger
MapPointTheme im Structure Pane selektieren und im Properties Window bei "Behaviour" -- Selection Listener -- edit (ganz rechts) - New: Managed Bean erstellen namens "ShopSelectionBean" und Class (Neu) - Name egal - und jeweils anpassen
12. Managed Bean ausprogrammieren: d.h.: vorgenerierten Code mit Beispiel Code (siehe unten) per copy und Paste ersetzen. Wie ? Im Application explorer "ShopSelectionBean.java" öffnen...
13. Table anpassen in Properties Window: Value: Edit - Binding: managedBean -- Session -- ProcessSelection
14. Behaviours: PartialTriggers "::m1" setzen bzw. über Edit selektieren
... das sollte es sein...

Hier der Code für die Managed Bean: ShopSelectionBean: 
 
package view;

import java.io.Serializable;

import java.util.Iterator;

import java.util.LinkedList;

import java.util.List;

import oracle.adf.view.faces.bi.component.geoMap.DataContent;
import oracle.adf.view.faces.bi.event.MapSelectionEvent;

public class ShopSelectionBean implements Serializable {
    List m_collection = null;
    
    public ShopSelectionBean() {
    }

    public void ProcessSelection(MapSelectionEvent mapSelectionEvent) {
     Iterator iter;
     iter = mapSelectionEvent.getIterator();
      if (m_collection == null)
             m_collection = new LinkedList();
             m_collection.clear();
                
          while (iter.hasNext())
               {
                  DataContent dt = (DataContent) iter.next();
                  String locationName = dt.getLocationName();
                  Double[] values = dt.getValues();
                         
                  if (mapSelectionEvent.getSelectionMode().equals(MapSelectionEvent.SELECTIONMODE_SELECTED))
                   {
                     String displayData = locationName;
            if (values == null || values.length <= 0) {
              } else 
      {
        displayData = displayData + ":" + values[0].toString();
                                }
        m_collection.add(displayData);           
                 
        System.out.println(locationName);
          }
             } 
                }      
       public List getData(){
              return m_collection;
       }
    }