oracle spatial goes standard - doag deutsche oracle … · oracle spatial goes standard karin...
TRANSCRIPT
<Insert Picture Here><Insert Picture Here>
Oracle Spatial Goes StandardKarin PatengeORACLE Deutschland B.V. & Co. KG
Agenda
• Oracle Spatial –Standards und Interoperabilität
• Datentypen, Operatoren und Funktionen• Datentypen, Operatoren und Funktionen
• Geo Web Services im Überblick
• Web Map Service (WMS): Oracle MapViewer
• Web Feature Service (WFS): Oracle Spatial 11g
• ISO Standards für Oracle Datenbank und Oracle Spatial• ISO 13249-3 SQL Multimedia and Application Packages - Part 3: Spatial.• ISO 19101: Geographic information - Reference model• ISO 19109: Geographic information - Rules for application schema• ISO 19111: Geographic information - Spatial referencing by coordinates• ISO 19118: Geographic information - Encoding (GML 2.1 and GML 3.1.1)• ISO 19107: Geographic information - Spatial schema
• OpenGeospatial Consortium (OGC) Standards für Oracle Datenbank,
StandardsGeographic Information and Geomatics
• OpenGeospatial Consortium (OGC) Standards für Oracle Datenbank, Oracle Spatial und Oracle Application Servers• Oracle Application Server MapViewer, 10g Release 2 (10.1.3.1) Web Map Service 1.1.1
(compliant) Server and Client• Oracle FMW MapViewer, 11g Release 1 (11.1.1) Web Map Service 1.1.1 und 1.3.0
(compliant) Server and Client• Oracle 10g R1 (10.1.0.4) Simple Features Implementation Spec 1.1 (compliant) Server
and Client • Oracle Spatial 11g R1 Simple Features Implementation Spec(TF) 1.1.1 (compliant)
Server and Client, OGC Web Feature Service 1.0.0, OGC Catalog Services 2.0.0, OGC Open LS 1.1
http://www.oracle.com/technetwork/database/enterprise-edition/spatial-stds-support-094078.html
• SQL/MM Typen und Operatoren konform mit ISO 13249-3
• Umwandlung Well-Known Text (WKT) / Well-Known Binary (WKB) � SDO_GEOMETRY
• Umwandlung Geography Markup Language (GML) �SDO_GEOMETRY
• Umwandlung Keyhole Markup
Interoperabilität
CS 31467 gedreht um 180°
• Umwandlung Keyhole Markup Language (KML) � SDO_GEOMETRY
• EPSG Koordinatensysteme
• Registrierung zusätzlicher Koordinatensysteme
• „Out-of-the-box" Unterstützung für ...• ESRI World Files
• JPEG, GIF, TIF/GeoTiff, BMP
Wrapper
DatentypenVektordaten
• SDO_GEOMETRY
• Beispiel
• ST_GEOMETRY
• Beispiel
create type SDO_GEOMETRY as object ( SDO_GTYPE NUMBER,SDO_SRID NUMBER,SDO_POINT SDO_POINT_TYPE,SDO_ELEM_INFO SDO_ELEM_INFO_ARRAY,SDO_ORDINATES SDO_ORDINATE_ARRAY)
create type ST_GEOMETRY as object ( GEOM SDO_GEOMETRY)
/* Erweiterung des ISO Standards um zusätzliche Konstruktormethode */
• Metadaten • Metadaten
create table GEMEINDE_SDO (NAME VARCHAR2(30),POPULATION NUMBER(9),GEOM SDO_GEOMETRY);
create table GEMEINDE_ST (NAME VARCHAR2(30),POPULATION NUMBER(9),GEOM ST_GEOMETRY);
insert into user_sdo_geom_metadata(table_name, column_name, diminfo,srid)
values ('GEMEINDE_SDO','GEOM',sdo_dim_array(sdo_dim_element('Longitude',5,15,0.005),sdo_dim_element('Latitude',45,55,0.005)),8307)
insert into user_sdo_geom_metadata(table_name, column_name, diminfo,srid)
values ('GEMEINDE_ST','GEOM',sdo_dim_array(sdo_dim_element('Longitude',5,15,0.005),sdo_dim_element('Latitude',45,55,0.005)),8307)
InteroperabilitätST_GEOMETRY und SDO_GEOMETRY
• ST_GEOMETRY Subtypes
Erzeugen von ST_GEOMETRY aus SDO_GEOMETRY und umgekehrt !
• SQL/MM Type ST_GEOMETRY und Subtypes interoperabil mit SDO_GEOMETRY
• ST_GEOMETRY Subtypes• ST_CIRCULARSTRING
• ST_COMPOUNDCURVE
• ST_CURVE
• ST_CURVEPOLYGON
• ST_GEOMCOLLECTION
• ST_LINESTRING
• ST_MULTICURVE
• ST_MULTILINESTRING
• ST_MULTIPOINT
• ST_MULTIPOLYGON
• ST_POINT
• ST_POLYGON
• ST_SURFACE
Räumliche Abfragen SDO_-Operatoren
• Spatial Operators
Abfragen auf ST_GEOMETRY Objekten mit SDO_ -Operatoren
Räumliche Abfragen und Methoden ST_ -Member Functions
• ST_INTERSECTS
• ST_CROSS
• ST_DISJOINT
• ST_TOUCH
• ST_WITHIN
• ST_ISSIMPLE
• ST_ISEMPTY
• ST_CENTROID
• ST_CONVEXHULL
• ST_OVERLAP
• ST_CONTAINS
• ST_DIFFERENCE
• ST_SYMMETRICDIFFERENCE
• ST_UNION
• ...
Well-Known Binary / Well-Known TextOGC und ISO
• SDO_GEOMETRY� Package SDO_UTIL• FROM_WKTGEOMETRY
• FROM_WKB_GEOMETRY
• TO_WKTGEOMETRY
• TO_WKB_GEOMETRY
• VALIDATE_WKBGEOMETRY
• VALIDATE_WKTGEOMETRY
• ST_GEOMETRY• GET_WKT
• GET_WKB
Keyhole Markup Language (KML)OGC
• SDO_GEOMETRY� Package SDO_UTIL• FROM_KMLGEOMETRY
• TO_KMLGEOMETRY
Geographic Markup Language (GML)OGC
• SDO_GEOMETRY� Package SDO_UTIL• TO_GML311GEOMETRY
• geometry.xsd konform• geometry.xsd konform
Koordinatensysteme: EPSG
• Datenmodell für CS-Parameter
• SRID ist standardisiert
• 11gR2:> 4400 Koordinatensysteme
Oracle FMW MapViewerWMS
• WMS Dienst zum Visualisieren von Geodaten als rechteckige 2-dimensionale Karten(ausschnitte)
• WMS Server• Unterstützung für WMS 1.1.1 und 1.3.0 (ISO 19128)
• WMS Client
WMS-Request
Oracle MapViewer
WMS Server
WMS-Response
Datenbank
• WMS Client• WMS Theme als Teil einer Karte
• Oracle MAPS: "External Map Tile Layer"
Oracle FMW MapViewerWeb Map Service
• WMS ist per default installiert und bereit• WMS-Anfragen funktionieren sofort
• ABER: Oracle-Parameter DATASOURCE nötig
• Daher: Einrichten einer Data Source "WMS" • Parameter DATASOURCE fällt damit weg• Parameter DATASOURCE fällt damit weg
• {...}/WEB-INF/conf/mapViewerConfig.xml
• WMS Methoden• getCapabilities
• getMap
• getFeatureInfo
External Map Tile Layer
• WMS-Server als externen MapCache einrichten
(Datenquelle: DOP WMS der Landes-vermessung Brandenburg)
http://www.oracle.com/global/de/community/tipps/geo-osm2/index.html
External Map Tile Layer
• WMS-Server als externen MapCache einrichten
(Datenquelle: DOP WMS der Landes-vermessung Brandenburg)
http://www.oracle.com/global/de/community/tipps/geo-osm2/index.html
getMap Request
• MapViewer-URL:http://[host]:[port]/mapviewer/wms?...
• Parameter:• REQUEST getMap• VERSION 1.1.1 oder 1.3.0• SERVICE WMS• SERVICE WMS• LAYERS Theme, Theme• WIDTH, HEIGHT Breite und Höhe des Bildes• BBOX Xmin,Ymin,Xmax,Ymax• SRS Koordinatensystem für Karte• FORMAT Bildformat, z.B. image/png• DATASOURCE MapViewer-spezifisch
Beispiel: getMap Request
http://localhost:8888/ ����
mapviewer/wms? ����
REQUEST=GetMap& ����
VERSION=1.1.1& ����
BASEMAP=GFK_ADMIN_PP& ����
LAYERS=GFK_ADMIN_01_PP& ����
WIDTH=600&HEIGHT=800& ����
SRS=EPSG:4326& ����
http://localhost:8888/ ����
mapviewer/wms? ����
REQUEST=GetMap& ����
VERSION=1.3.0& ����
BASEMAP=GFK_ADMIN_PP& ����
LAYERS=GFK_ADMIN_01_PP& ����
WIDTH=600&HEIGHT=800& ����
CRS=EPSG:4326& ����SRS=EPSG:4326& ����
BBOX=9,47,10,48& ����
FORMAT=image/png& ����
DATASOURCE=GFK_SAMPLE
CRS=EPSG:4326& ����
BBOX=9,47,10,48& ����
FORMAT=image/png& ����
DATASOURCE=GFK_SAMPLE
(Datenquelle: Beispieldatenset GfK Geomarketing *)
* http://www.oracle.com/technetwork/database/options/spatial/spatial-partners-data-087203.html
WMS-Metadaten in der Datenbank
• WMS-Layer = MapViewer Themes• Alle in einem Schema definierten Themes werden publiziert (USER_SDO_THEMES)
• Karten können in beliebigen Projektionen angefordert • Karten können in beliebigen Projektionen angefordert werden• Präfixe SDO und EPSGBeispiele
• WGS 84 � SRS=EPSG:4326 (SDO:8307)
• UTM 32 � SRS=EPSG:25832
• getCapabilities zeigt SRID der Tabellendaten an(USER_SDO_GEOM_METADATA)
Oracle SpatialWeb Feature Service
• Teil der Spatial Option ab 11g• Web Feature Service (WFS und WFS-T)
• Catalog Services for the Web
• OpenLS
• Datenbankverbindung
RequestResponse
• Datenbankverbindung• Direkte JDBC-Verbindung
• Proxy Authentication
• Schnittstellen• XML Interface
• Web Service (SOAP)-Schnittstelle
J2EE-Container
Datenbank
Web Feature ServiceÜberblick
• Oracle DB 11gR1 Spatial implementiertWFS 1.0.0
• Einheitlicher Zugriff auf vektorielle Geodaten über HTTP
• Auffinden/Ändern von Features• WFS Requests
• GetCapabilties• GetFeature• DescribeFeatureType
• 2 Typen von Services• Standard WFS• Transactional WFS-T
• Insert, Delete, Update, Get und Query features
Web Feature ServiceSetup
• Installationsdateien in $ORACLE_HOME/md/jlib• Deployment im J2EE-Server: sdows.ear
• Benötigte Bibliotheken:• JAR-Dateien in $ORACLE_HOME/md/jlib• JAR-Dateien in $ORACLE_HOME/md/jlib
• Oracle JDBC-Treiber
• Oracle XML (xmlparserv2.jar, xdb.jar)
• WFS_USR_ROLE auf NOT IDENTIFIED setzen
SDO_WFS_PROCESS.publishFeatureType(
datasrc => 'GEOWS.M_ADMIN_AREA2',
ftnsurl => 'http://www.oracle.com/navteq-demo-data/german-states',
ftname => 'STATES',
ftnsalias => 'sts',
featuredesc => xmltype(
'<FeatureType xmlns:sts="..." xmlns="http://www.opengis.net/wfs">'||
' <Name>sts:STATES</Name>' ||
' <Title>STATES</Title>' ||
WFS-Features einrichtenTabelle publizieren ...
' <Title>STATES</Title>' ||
' <SRS>EPSG:4326</SRS>' ||
'</FeatureType>'),
schemalocation => null,
pkeycol => 'FEATURE_ID',
columninfo => MDSYS.StringList('AbstractGeometryType'),
pspatialcol => 'GEOMETRY',
featurememberns => null,
featuremembername => null,
srsns => null,
srsnsalias => null );
[...]/wfsservlet?REQUEST=GetCapabilities&SERVICE=WFS&VERSION=1.0.0
Beispiel: getCapabilities Request
Wer hat Interesse ...
• ... an einem Hands-On Workshop?• Z.B. „Implementieren von Oracle Spatial Web Services“
Dokumentation und BlogsOracle Spatial und Oracle MapViewer
• Oracle Spatial User's Guide and Referencehttp://download.oracle.com/docs/cd/B28359_01/����appdev.111/b28400/toc.htm
• Oracle Application Server MapViewer User´s Guidehttp://download.oracle.com/docs/cd/B14099_19/����web.1012/b14036.pdf
• Spatial Informationen auf Deutsch http://www.oracle.com/global/de/community/����http://www.oracle.com/global/de/community/����spatial/index.html
• Database � Location Servicesauf Oracle Technology Network (OTN) http://www.oracle.com/technology/products/����spatial/index.html
• Deutscher Oracle Spatial Blog http://oracle-spatial.blogspot.com
• Deutscher Oracle MapViewer/MAPS Blog http://oracle-maps.blogspot.com
Öffentliche WMS Dienste
• Deutschland-Viewerhttp://deutschlandviewer.bayern.de/����deutschlandviewer/D_Viewer_Hilfe/����Hilfe_D_Viewer.htm#Internetadressen
• OpenStreetMap über die Wheregroup GmbH&Co. KG• OpenStreetMap über die Wheregroup GmbH&Co. KGhttp://www.wheregroup.com/de/����freier_wms_mit_openstreetmap_daten
• elocation.oracle.comhttp://elocation.oracle.com/mapviewer
Oracle Spatial TechnologieLizensierung
• Oracle Locator• Alle DB Editionen (XE, SE-1, PE, SE, EE)
• Oracle Spatial• Lizenzpflichtige Option zur DB EE
• Oracle MapViewer• Oracle Application Server (SE-1, SE, EE)• Oracle Application Server (SE-1, SE, EE)
• Weblogic Server (SE, EE), Weblogic Suite
• TopLink/ADF
• Welche Funktionen enthält der "Locator"?Oracle Spatial Developers' Guide, App. Bhttp://download.oracle.com/docs/cd/B28359_01/����appdev.111/b28400/sdo_locator.htm#g632308