Spatial

From Oracle FAQ
Jump to: navigation, search

Oracle Spatial is an option of the Oracle database that allows users to store and retrieve geographical or location information. Some examples: population by county, amount of sales by state, amount of employees per site, etc.

Contents

[edit] History

Oracle Spatial was previously known as SDO and before that as MultiDimension. A brief history:

  • Spatial data capabilities as modification shipped by scientists working with the Canadian Hydrographic Service (CHS) to Oracle 4.
  • Spatial Data Option (SDO) shipped in Oracle 7.3.3.
  • Spatial introduced it's object type in Oracle 8.1.5.
  • Spatial added Java Classes, Projections, Linear Referencing and R-Tree Indexing in Oracle 8.1.7.
  • Spatial added Whole Earth Geometry Model, Function-based indexes, Object replication, Partitioning in Oracle 9i.
  • Spatial added Geocoder, GeoRaster, Network Data Model, Topology, Spatial Analytic Functions and Routing engine in Oracle 10g.
  • Spatial added 3D Support and Web Services in Oracle 11g.
  • Oracle Application Server MapViewer first shipped in AS 9.0.2
  • MapViewer current release is FMW Version 10.1.3.3 Patch 5

[edit] Licensing

Oracle Spatial is only available with Oracle Enterprise Edition as a separately licensed option.

[edit] Functionality provided

Oracle Spatial provides all the functionality that Locator provided. In addition, it also supports:

  • Linear referenced features, LRS, e.g. roads which store the distance along the road
  • Network models, NDM, such as road networks, allowing rapid calculation of shortest paths
  • Topological relationships can be stored, such as this property boundary touches this neighbouring boundary. Generally used by data producers wishing to edit high integrity spatial data
  • Coordinate system support based on the European Petroleum Survey Group (EPSG) data model
  • Explicit coordinate transformations
  • WorkSpace manager for versioning, long transaction support
  • GeoRaster Storage of images such as satellite and aerial photography
  • A geocoder that translates address data to coordinate, a routing engine for street directions
  • Some more complex spatial functions, mainly for analysis and data aggregation
  • 3D data model for storing and managing 3D vector data, Triangualted Irregular Networks, TINs and Point Cloud data
  • Web Services , WFS , CSW and OpenLS
  • Integration with Oracle Application Server 11g MapViewer map visualization development tool

[edit] Example

Create a spatial table to store GPS (Global Positioning System) coordinates:

CREATE TABLE gps (longlat MDSYS.SDO_GEOMETRY);

Register the spatial table:

INSERT INTO user_sdo_geom_metadata VALUES('GPS', 'LONGLAT',
        mdsys.sdo_dim_array(
        mdsys.sdo_dim_element('Long', -15, 25, 0.005),
        mdsys.sdo_dim_element('Lat', -35, -15, 0.005)), 8307);

Create a spatial index:

CREATE INDEX gps_ind ON gps(longlat) INDEXTYPE IS mdsys.spatial_index;

Load a record:

INSERT INTO gps VALUES (
   SDO_GEOMETRY(2003, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(
          3428099223, -3.342E+09,
          3427750794, -3.342E+09,
          3427655045, -3.342E+09,
          3427548248, -3.342E+09,
          3427542723, -3.342E+09)));

[edit] Also see

  • Spatial FAQ. frequently asked questions
  • Locator, a scaled down "free" version of Oracle Spatial.
  • Mapviewer, Oracle's map rendering solution.

[edit] External links