Changes in This Release for Oracle Spatial and Graph Developer's Guide

This preface contains:

Changes in Oracle Database Release 18.1

The following are changes in Oracle Spatial and Graph Developer's Guide for Oracle Database Release 18.1.

Spatial Index No Longer Required

Creating and using a spatial index is no longer required for the use of any Oracle Spatial and Graph features. However, spatial indexes are highly recommended, and not using them can negatively affect performance in some cases.

However, you can require that a spatial index be used by specifying event 54700, as explained in Using Event 54700 to Require a Spatial Index for Spatial Queries.

JSON Support

Spatial and Graph supports the use of JSON objects to store, index, and manage geographic data that is in JSON (JavaScript Object Notation) format. You can convert data from JSON objects to Oracle Spatial SDO_GEOMETRY objects, and from SDO_GEOMETRY objects to JSON objects.

JSON support, introduced in Release 18.1, substantially expands the limited GeoJSON support available in the previous release, in that it supports a larger range of geometries, including 2D and 3D, solid, surface, and LRS geometries. While the Spatial and Graph GeoJSON-specific APIs are still supported, you are encouraged to use the more comprehensive JSON support.

SDO_UTIL.FROM_JSON, which converts a JSON object to an SDO_GEOMETRY object, can also read and convert GeoJSON objects.

SDO_UTIL.TO_JSON and SDO_UTIL.TO_JSON_VARCHAR, which convert an SDO_GEOMETRY object to a JSON object (CLOB or VARCHAR2, respectively), can convert any geometry supported by Spatial and Graph.

For more information, see JSON and GeoJSON Support in Oracle Spatial and Graph.

Support for CSW 2.0.2 - ISO Metadata Application Profile

The OpenGIS Catalogue Services Specification (CSW) 2.0.2 - ISO Metadata Application Profile is supported. XQFT (XML Search-XPath Query Full Text) index is also implemented on the catalog of this ISO metadata type, which improves CSW query performance significantly.

Information about ISO profile support is included throughout Catalog Services for the Web (CSW) Support.

New Routing Engine Servlet for Location-Based Queries

WSServlet is a new routing engine servlet for performing lightweight location based queries related to speed limit and traffic speed. For information, see Location-Based Query Using the WSServlet XML API.

Support for WebLogic Server Multitenant

For WCS and CSW, multiple data sources can be configured in one or many WebLogic server instances. For WFS, one data source can be configured in one WebLogic server instance. The data source name is added into the web service URL, and each web service has its own configuration and logging system. The caching of WFS is removed.

Spatial Web Services Administration Console Enhancements

The Spatial Web Services administration console for WFS, WCS, and CSW is enhanced with standard user interfaces, as well as multiple data sources management capabilities.

Support for R-Tree Spatial Indexes in Distributed and Oracle XA Transactions

The use of R-tree spatial indexes is supported in distributed and Oracle XA transactions, as explained in Distributed and Oracle XA Transactions Supported with R-Tree Spatial Indexes.

Support for Sharded Databases by Oracle Spatial and Graph

Oracle Spatial and Graph supports the use of sharded database technology, with some restrictions. See Sharded Database Support by Oracle Spatial and Graph.

New Utility Functions: SDO_UTIL.GETFIRSTVERTEX and SDO_UTIL.GETLASTVERTEX

SDO_UTIL.GETFIRSTVERTEX and SDO_UTIL.GETLASTVERTEX return the first and last coordinates, respectively, of the vertices of the input geometry.

Enhanced Concave Hull Support

The SDO_GEOM.SDO_CONCAVEHULL function now supports returning the concave hull of an array of geometry objects, in addition to that of an individual geometry object.

The SDO_AGGR_CONCAVEHULL spatial aggregate function is new.

Changes in Oracle Database 12c Release 2 (12.2)

The following are changes in Oracle Spatial and Graph Developer's Guide for Oracle Database 12c Release 2 (12.2).

GeoJSON Support

Spatial and Graph supports the use of GeoJSON objects to store, index, and manage geographic data that is in JSON (JavaScript Object Notation) format. You can convert data from JSON objects to Oracle Spatial SDO_GEOMETRY objects, and from SDO_GEOMETRY objects to JSON objects. You can use spatial operators, functions, and a special SDO_GEOMETRY method to work with GeoJSON data.

For the JSON_VALUE Oracle SQL function, SDO_GEOMETRY is now available as an option for the RETURNING keyword (JSON_VALUE( ... RETURNING SDO_GEOMETRY)).

For more information, see GeoJSON Support in Oracle Spatial and Graph.

Web Coverage Service (WCS) 2.0.1 Support

Spatial and Graph provides an implementation of the Open GIS Consortium (OGC) standard for Web Coverage Service Interface Standard (WCS), which, supports retrieval of “coverages” (according to the OGC, “electronic encoding of geospatial data, that is, digital geospatial information representing space and time-varying phenomena”). Version 2.0.1 of WCS and many of its extensions are supported.

For information, see:

Catalog Services for the Web (CSW) 2.0.2 Supported

Version 2.0.2 of Catalog Services for the Web is now supported. The DCMI record type is supported in this release. The old implementation of CSW is deprecated.

For information, see:

New Spatial Web Services Administration Console for WFS, WCS, and CSW

This Spatial web services administration console, which consists of WFS, WCS, and CSW consoles, lets you configure the WFS, WCS and CSW web service engines, test each service by creating and sending requests and displaying responses, and show error logs for diagnosing the services. For information, see Spatial Web Services Administration Console.

Unified WFS, WCS, and CSW Framework and Architecture

Besides having a unified administration console, WFS, WCS, and CSW are packaged together for easy deployment. The number of data sources is reduced to one for each service. Each service has its own configuration file and log file(s), but they have the same format for ease of use and diagnosis.

The log files can be split into multiple files, and they can rotate to take new error messages. You can configure the number and the size of the log files.

The web service HTTP requests are simplified to the same format and are configurable.

For more information, see Deploying and Configuring Spatial Web Services and related sections in the WFS, WCS and CSW chapters.

Location Tracking Server Added

The new Oracle Spatial and Graph location tracking server enables you to define regions of interest, track the movement of objects into or out of those regions, and receive notifications when certain movements occur.

For conceptual and usage information, see Location Tracking Server. For PL/SQL API reference information, see SDO_TRKR Package (Location Tracking).

Location Data Enrichment Support

Oracle Spatial and Graph now includes a place name data set, with hierarchical geographical data from HERE, that you can load into the database and then search using the new SDO_UTIL.GEO_SEARCH function. The data set includes commonly used textual location data such as place names, addresses and partial addresses, and latitude and longitude information.

For more information, see Location Data Enrichment.

Routing Engine Can Incorporate Start Date and Time in Computations

The routing engine can now incorporate a start date and time in its computations. For example, in an urban area, the estimated total driving time from your home to the airport on a weekday can be very different if you start at 8 am as opposed to 7 pm. The time computations are based on historical traffic pattern data, not on any real-time data gathering (for example, they do not factor in any current accidents or severe weather).

To include this optional feature, in the route request specify start_time and (optionally, for other than the current date) start_date values, set return_route_time to true (that is, include the total estimated route time in the response), and make time zone user data available. If return_route_time is true but a start date or time is not specified, it is assumed to be when the route request is issued.

This feature does not apply to batched route requests and batch mode requests.

Information about this feature is integrated throughout Routing Engine and Routing Engine Administration.

Support for System-Managed Spatial Indexes

Spatial indexes can be system-managed by specifying INDEXTYPE=MDSYS.SPATIAL_INDEX_V2 at index creation. You are strongly encouraged to use this index type for all new spatial indexes you create, regardless of whether the spatial table or the spatial index is partitioned, and you may also want to use it if you decide to re-create legacy spatial indexes.

The main benefit is simplified spatial index management. This is most beneficial in cases of partitioning, because this new index type eliminates the need for most, if not all, index partitioning management operations. Full support is provided for almost all Oracle Database base table partitioning models.

For more information, see Using System-Managed Spatial Indexes.

Composite B-tree Spatial Index on Points

You can create a composite B-tree spatial index, as opposed to an R-tree spatial index, on point data by specifying the cbtree_index=true keyword in the PARAMETERS clause of the CREATE INDEX statement. Using this feature can improve the performance of spatial index creation, but degrade the performance of spatial queries that use the index.

For more information, see Creating a Composite B-tree Spatial Index on Points.

Option to Use Ellipsoidal Distance with All Geodetic Data

With previous releases, with geodetic data, Spatial and Graph always used ellipsoidal distance for points and multipoints, but spherical distance for other geometry types. However, you now have the option to specify ellipsoidal distance regardless of geometry type for spatial operators and functions that determine the distance between geometries, the “nearest neighbor” geometries, or whether geometries are within a given distance.

For more information, see Distance: Spherical versus Ellipsoidal with Geodetic Data.

Changes in Oracle Database 12c Release 1 (12.1.0.2)

The following are changes in Oracle Spatial and Graph Developer's Guide for Oracle Database 12c Release 1 (12.1.0.2).

Routing Engine Information Revised

The information for the Spatial and Graph routing engine (often referred to as the routing engine) has been substantially updated and reorganized. It appears in the following locations:

  • Routing Engine describes concepts and techniques relevant to all users of the routing engine.

  • Routing Engine Administration is for advanced users who need to administer the routing engine. It is not intended for most routing users. (It assumes that you are already familiar with the material in Routing Engine.)

Change in Behavior for SDO_GEOM.SDO_CLOSEST_POINTS

For SDO_GEOM.SDO_CLOSEST_POINTS, if the distance between the two points is 0 (zero), the output geometries (geoma and geomb) was null in the previous release. Now, the output geometries depend on whether the input geometries are two-dimensional or three-dimensional, as explained in the Usage Notes for that procedure.

New and Changed SDO_GEOM Subprograms

Effective with Oracle Database Release 12.1.0.2, the following new subprograms have been added to the SDO_GEOM package, which is documented in SDO_GEOM Package (Geometry):

GeoRaster Not Enabled by Default

By default the GeoRaster feature is disabled after the Oracle Spatial and Graph is initially installed. To enable GeoRaster, follow these steps:

  1. Connect to the database as SYS AS SYSDBA.

  2. Enter the following statement:

    EXECUTE MDSYS.enableGeoRaster;
    

For more information, see Ensuring That GeoRaster Works Properly After an Installation or Upgrade

Changes in Oracle Database 12c Release 1 (12.1.0.1)

The following are changes in Oracle Spatial and Graph Developer's Guide for Oracle Database 12c Release 1 (12.1.0.1).

New Features

The following features are new in this release:

NURBS Curve Support

Support for non-uniform rational B-spline (NURBS) curve geometries is included in this release. NURBS curves allow representation of free-form shapes with arbitrary shapes. NURBS representation allows control over the shape of the curve because control points and knots guide the shape of the curve, and they allow complex shapes to be represented with little data.

For more information, see NURBS Curve Support in Oracle Spatial and Graph.

Height Information Approximated for Certain 3D Geodetic Operations

In the previous release, height information was ignored for certain operations on three-dimensional geodetic geometries. With this release, the height is approximated and included in calculations for these operations.

For more information, see Three-Dimensional Spatial Objects, including Table 1-2.

New Spatial Metadata Views (3D Themes, Scenes, Viewframes)

ALL_SDO_xxx and USER_SDO_xxx metadata views have been added for 3D themes, scenes, and viewframes. For descriptions of these views, see Other Spatial Metadata Views.

These views are relevant to several new functions listed under "New and Changed SDO_UTIL Subprograms".

New and Changed Aggregate Functions

The following new spatial aggregate function has been added (spatial aggregate functions are documented in Spatial Aggregate Functions):

New and Changed SDO_CS Subprograms

The following new subprograms have been added to the SDO_CS package, which is documented in SDO_CS Package (Coordinate System Transformation) :

New and Changed SDO_GEOM Subprograms

The following new subprogram has been added to the SDO_GEOM package, which is documented in SDO_GEOM Package (Geometry):

New and Changed SDO_PC_PKG Subprograms

The following new subprograms have been added to the SDO_PC_PKG package, which is documented in SDO_PC_PKG Package (Point Clouds):

The following significant changes have also been made:

  • For SDO_PC_PKG.CLIP_PC, the include_custom_dims parameter can be used to return point cloud blocks that contain custom dimensions in addition to regular dimensions.

  • For SDO_PC_PKG.INIT, the pc_other_attrs parameter can be used to specify metadata for point cloud pyramiding.

New and Changed SDO_TIN_PKG Subprograms

The following new subprograms have been added to the SDO_TIN_PKG package, which is documented in SDO_TIN_PKG Package (TINs):

The following significant changes have also been made:

  • For SDO_TIN_PKG.INIT, the tin_other_attrs parameter can be used to specify metadata for TIN pyramiding.

New and Changed SDO_UTIL Subprograms

The following new subprograms have been added to the SDO_UTIL package, which is documented in SDO_UTIL Package (Utility):

The following significant changes have also been made:

  • SDO_UTIL.AFFINETRANSFORMS has default values for all parameters except the first (geometry). This can simplify coding when you need to specify nondefault values for only a few parameters.

  • SDO_UTIL.CIRCLE_POLYGON has an additional format that includes the start_azimuth and end_azimuth parameters.

  • SDO_UTIL.SIMPLIFY has the new optional parameter remove_loops, which enables you to ensure that a simplified line string geometry does not contain any self-crossing loops in the middle. (SDO_UTIL.SIMPLIFYVW also has the remove_loops parameter.)

New SDO_GEOM_MBR Operator

SDO_GEOM_MBR is a SQL operator that is functionally identical to the SDO_GEOM.SDO_MBR function, but provides better performance.

For SDO_GEOM_MBR operator usage information and an example, see the SDO_GEOM.SDO_MBR function reference section.

New SDO_POINTINPOLYGON Operator

The new SDO_POINTINPOLYGON operator (technically a table function takes a set of rows whose first column is a point's x-coordinate value and the second column is a point's y-coordinate value, and returns those rows that are within a specified polygon geometry.

SPATIAL_VECTOR_ACCELERATION System Parameter (VPA)

To accelerate the performance of spatial operators, it is recommended that you enable the Vector Performance Accelerator (VPA) feature by setting the SPATIAL_VECTOR_ACCELERATION database system parameter to the value TRUE. (This feature and associated system parameter are authorized for use only by licensed Oracle Spatial and Graph users, and the default value for the parameter is FALSE.) You can set this parameter for the whole system or for a single session.

For more information, see SPATIAL_VECTOR_ACCELERATION System Parameter.

Other Changes

The following other changes have been made in this book:

  • The product name has been changed from Oracle Spatial to Oracle Spatial and Graph, also referred to as Spatial and Graph.

  • The section previously titled "SDO_AGGR_UNION Example" in Complex Spatial Queries: Examples has been deleted. That section had recommended: "For better performance when aggregating many rows, break your aggregation into groupings so that each is always 50 geometries or fewer." However, because of enhancements to SDO_AGGR_UNION effective with Release 12.1, if you are using Spatial and Graph with SPATIAL_VECTOR_ACCELERATION=TRUE (see SPATIAL_VECTOR_ACCELERATION System Parameter), that statement and the example using nested aggregates are no longer recommended, and nested aggregates can actually be slower than a single aggregate.

    However, if you are using Oracle Locator, nested aggregates or SDO_AGGR_SET_UNION are recommended. For more information, see Section C.4 ("SDO_AGGR_UNION Example") in the Release 11.2 version of Oracle Spatial Developer's Guide.