Oracle®
Spatial serves as a foundation for deploying enterprise-wide
spatial information systems, and web-based
and wireless location-based applications.
It provides data management for location information such as road networks,
wireless service boundaries, and geocoded customer addresses that are
driving innovative product development in the emerging online, wireless,
and in-vehicle telematics markets. These location-based services in
Oracle9i� extend existing Oracle-based applications by allowing
users to easily incorporate location information directly in their applications
and services.
Oracle Spatial,
an option to Oracle9i Enterprise Edition, serves as a foundation
for enterprise-wide
spatial information systems and either web-based or wireless location-based
applications. It provides data management
for location information such as road networks, wireless service boundaries,
and geocoded customer addresses that are driving innovative product development
in the emerging mobile and in-vehicle telematics markets. These location-based
services capabilities in Oracle9i extend existing Oracle-based applications
by allowing users to easily incorporate location information directly in
their applications and services. This is possible because location data
is fully integrated in the Oracle server itself. Geographic and location
data are manipulated using the same semantics applied to the CHAR, DATE
or INTEGER types that are familiar to all users of SQL. Specific features
delivered by Oracle9i and Oracle Spatial include:
- Open, standard
SQL access to all functions and operations
- Spatial object
type storage accommodating geometry-type and linear referencing
- Spatial operators
and functions including aggregate functions (e.g. unions and user defined
aggregates)
- Layer geometry
type constraints
- Fast R-tree
and quadtree indexing
- Whole earth
geometry model providing comprehensive storage, management and use of
geodetic data
- Partitioning
support for spatial indexes
- Powerful
linear referencing system
- Tools supporting
seamless integration of heterogeneous data (fusion) including projection
management and coordinate transformation
- NEW!
Support for
parallel index builds for R-tree and quadtree indexes
- Integration
with Oracle9i Application Server
- NEW!
Integration with Oracle9i Application
Server MapViewer tool
Oracle9i
enables e-business applications, portals and wireless service providers
to easily integrate location data into their corporate information systems.
This means that e-business applications like call centers, marketing and
sales applications can readily incorporate mapping and spatial analysis.
In addition, a new class of location applications is emerging to take advantage
of these capabilities. These applications include concierge services (e.g.
location queries on geocoded yellow page databases that provide information
on the location of service outlets, hotels, restaurants etc.); emergency
services (E911, 511); and a range of other consumer-oriented location-enhanced
services which are both wire-based and wireless.
Spatial Geometry,
Layers
Oracle9i
supports three basic geometric forms that represent geographic and location
data:
- Points: Points
can represent locations such as buildings, fire hydrants, utility poles,
oil rigs, boxcars, or roaming vehicles.
- Lines: Lines
can represent things like roads, railroad lines, utility lines, or fault
lines.
- Polygons
and complex polygons with holes: Polygons can represent things like
outlines of cities, districts, flood plains, or oil and gas fields.
A polygon with a hole might geographically represent a parcel of land
surrounding a patch of wetlands.
Internally, location
data is modeled in layers, located in a common database or a single table,
sharing a common coordinate system. For example, the representation of a
city might include separate layers for outlines of political districts or
socioeconomic neighborhoods, every business and domestic location, and the
maze of water, gas, sewer, and electrical lines. Because all these layers
share a common database and notion of the earth�s geometry (coordinate,
geoid and projection), they can be related through their respective (common)
locations.
In addition to
the geometric elements noted above, Oracle9i supports the following
geometry types:
- Arc strings
- Compound
polygons
- Circles
Spatial Indexing:
R-trees and Quadtrees
Oracle9i
applies spatial indexes to any data in relational databases. Oracle
Spatial includes R-tree indexing, in addition to quadtree indexing
capability. R-tree indexes can be used in place of quadtree indexes, or
in conjunction with them. In addition, R-tree indexing can be used for any
3D and 4D indexing of data � critical to solving problems in oil exploration,
architecture, engineering, and many other scientific applications.
Typical queries
specify a window of interest and retrieve all data intersecting or contained
in the specified query window.
An R-tree index
approximates each geometry with the smallest single rectangle that encloses
the geometry (called the minimum bounding rectangle, or MBR).
For a layer of
geometries, an R-tree index consists of a hierarchical index on the minimum
bounding rectangles of the geometries in the layer. Because R-tree indexes
are fast and work directly on geodetic data they are the preferred indexing
mechanism for working with spatial data. Geodetic data is data consisting
of angular coordinates (longitude and latitude) that are defined relative
to a particular representation of the figure of Earth, or datum.
With quadtree
indexing, a mosaic of covering tiles for the geometrically represented
data is created for each layer. A binary representation of the tile is
then stored in the spatial index. The covering tiles can be quickly examined
for any interaction between the layers. As location data is added to a
database, a spatial quadtree index subdivides (or "tessellates") the geometry
into tiles, preserving the spatial organization of the data. Database
designers can specify the number of times a geometry should be subdivided
to optimize the coverage with smaller and smaller uniformly sized tiles.
Database designers
may choose whether to use R-tree or quadtree indexing. Each index type
is appropriate in different situations, although R-tree indexing will
often be the best choice because of its capacity to operate directly against
geodetic data. In general, quadtrees are preferable when data sets
require frequent updates and update performance is critical. Quadtrees
are also generally preferred for concurrent updates.
Considerations
in selecting which index to use include
- Geodetic
or non-geodetic
- The type
and range of queries submitted to the database
- Frequency
of updates and the need for re-indexing
- Available
disk storage space
- Concurrent
updates
- Number of
dimensions in the spatial data
The spatial index
uses the Oracle9i extensible indexing mechanism, providing maintenance
of the index on insert, update, and delete. This results in increased ease
of use.
Spatial Operators,
Functions
The interaction
of various geometric features can be determined through the use of comparison
operators (such as SDO_RELATE), with masks such as contains, covers,
and anyinteract (any interaction) and others. This permits answers
to such requests as "list all the school zones crossed by this railroad
line," or "find all pizza parlors within this area of interest."
Spatial functions
can be used to perform computations of distances between geometries, and
lengths and areas of geometries. This is useful for location-based services
queries such as "return the 10 hotels which are closest to the airport,
and distance to each in miles." Other advanced spatial functions perform
geometry manipulations and return new geometries such as buffers, centroids,
unions, intersections, and spatial aggregates of certain functions.
Fast Access
With Two-Tiered Queries
Until now, database
performance has largely been a factor of database size and index efficiency.
But with Oracle9i and Oracle Spatial, performance is a function
of the amount of data actually retrieved. Performance is optimized through
the use of a spatial index and a two-tiered query model. This model significantly
reduces load and query processing overhead and provides excellent scalability
as the spatial data volume grows. The first tier, or primary filter, permits
fast selection of a small number of candidate records to pass along to
the secondary filter. The primary filter uses approximations stored in
the spatial index to reduce computational complexity.
The secondary
filter applies exact computational geometry to the result set of the primary
filter. These exact computations yield the final answer to a query. The
secondary filter operations are more computationally intense, but they
are only applied to the relatively small result set from the primary filter.
Queries can be
spatially constrained, as defined by an "area of interest" chosen by the
user. Eliminating data outside the area of interest from consideration
during queries ensures optimum performance levels.
Location queries,
using standard SQL, can be made in a number of ways. For example, two-dimensional
window extracts are possible as range searches, proximity searches, and
polygon searches.
Projections
and Coordinate Systems
Oracle Spatial
supports over 950 commonly used mapping coordinate systems and also will
support user-defined coordinate systems. It enables explicit map
projection transformations of vector objects from one coordinate system
to another. These transformations can be on a geometry-level basis or
an entire layer (table) at a time.
Linear Referencing
Support
Oracle Spatial
now supports the storage of "measurement" information associated with
a linear geometry. This feature is key to supporting linear networking
applications such as Internet street routing, transportation, utility,
telecommunications networks and pipeline management.
Geocoding
Geocoding is the
process which associates geographic references, such as addresses, phone
numbers, and postal codes, with location coordinates (e.g. longitude/latitude).
Oracle9i can integrate with any third party geocoding tools and
services to match these records with a longitude/latitude point that is
then stored in the database. Users can choose the best geocoder to fit
their needs (for example, a geocoding service which provides international
address support). This facilitates analysis based on the spatial relationships
of the associated data, like the proximity of store locations to customers
within a given distance and sales revenue per territory.
NEW LOCATION-BASED
SERVICES FEATURES FOR ORACLE9i
Oracle9i
supports new location-based services features which extend the range and
productivity of application developers, enabling a broader range of applications
and improving performance.
Spatial Aggregates
SQL has long had
aggregate functions, which are used to aggregate the results of a SQL
query. Oracle9i adds aggregate functions which operate on a set
of geometries rather than just one or two geometries. An aggregate function
performs a specified aggregate operation on a set of input geometries,
and returns a single geometry object. For example, the following statement
returns the minimum bounding rectangle of all the geometries in a table:
SELECT SDO_AGGR_MBR(c.shape)
FROM cola_markets c;
Other supported
aggregate functions include union, centroid, and convex hull; users can
also define other aggregate functions. The use of spatial aggregates improves
performance and simplifies coding.
Function-Based
Index Support
A function-based
index enables Oracle Spatial queries and analysis on any relational data
associated with a location attribute without creating and preloading an
Oracle Spatial column of type SDO_GEOMETRY.
Users can create
spatial indexes on spatial data stored in relational columns (for example
in columns of longitude and latitude). Spatial operators can search function-based
indexes as well as traditional spatial indexes. This spatial index
will make it possible to invoke spatial operators on these relational
columns without the need to create an SDO_GEOMETRY column.
This is useful
for business geographic applications which have a schema for storing location
data but cannot change their current schema to move the location data
to a column of type SDO_GEOMETRY.
Geodetic Coordinate
Support
With Oracle9i,
Oracle Spatial functions return accurate lengths, areas, and distances
for both projected and geodetic data (i.e., angular coordinates defined
relative to a particular model of the shape of the earth). In previous
versions of Oracle Spatial, length, area, and distance calculations were
accurate only for nongeodetic data. With release 9i, Oracle Spatial
provides a whole earth geometry model which takes into account the curvature
of the Earth�s surface when performing length, area, and distance calculations
on geodetic data. Oracle Spatial supports over 30 of the most commonly
used distance and area units which are useful for both geodetic and projected
data, e.g. foot/square foot, meter/square meter, kilometer/square kilometer,
and so on.
Partitioning
Support for Spatial Indexes
Another new feature
of Oracle9i is the ability to partition spatial indexes in association
with partitioned tables (range partitioning is supported). Partitioned
spatial indexes can provide the following benefits:
- Reduced response
times for long-running queries; partitioning can reduce disk I/O operations
- Reduced response
times for concurrent queries; I/O operations run concurrently on each
partition
- Easier index
maintenance, because of partition-level create and rebuild operations
- Indexes on
partitions can be rebuilt without affecting the queries on other partitions
- Storage parameters
for each local index can be changed independent of other partitions.
With Oracle9i
Release 2, additional partitioning enhancements are supported, including
splitting, merging, and exchanging partitions.
Note: This feature
requires the Partitioning Option to Enterprise Edition.
Parallel Spatial
Index Creation (New with Oracle9i Release 2)
Parallel creation
of spatial indexes and index partitions is supported with Oracle9i
Release 2. R-tree and quadtree index creation can be subdivided into smaller
tasks that can be performed in parallel, making use of unused hardware
(CPU) resources. For certain spatial data sets and index types and parameters,
parallel index creation can substantially increase index build performance
and provide a significant time savings. Large non-point datasets (commonly
used in many standard GIS applications) and datasets with quadtree indexes
with high tiling levels on large geometries can show dramatic performance
improvements.
Performance
Enhancements
Oracle9i
provides significant improvements to spatial data storage and indexing
performance over previous releases:
- R-tree indexes
can now be created up to 20% faster than with the previous release.
- Partitioning
spatial data and using partitioned local indexes can provide additional
performance gains for queries on large datasets, and concurrent queries
and updates.
- Spatial aggregate
functions speed retrieval of large sets of SDO_GEOMETRY objects.
- Spatial queries
that utilize secondary filters will run significantly faster when using
all masks other than INTERACT. Gains of up to 200% can result, depending
on the complexity of the geometries.
- WITHIN_DISTANCE
queries can run up to 40% faster when using R-tree indexes, and the
VALIDATE_GEOMETRY function runs up to 200% faster depending on the complexity
of the geometries.
Performance Enhancements
for Oracle9i Release 2
With 9i Release
2, Oracle Spatial achieves even greater leaps in performance to meet the
demands of location-based services and enterprise GIS:
- R-tree indexes
can now be created up to 50% faster than with release 9i.
- R-tree update
performance -- critical to applications that frequently update and query
location data -- has been significantly increased.
Applications that will benefit include LBS asset tracking, fleet management,
telco friend finder, and GIS asset management and cadastral management.
- Building
spatial R-tree or quadtree indexes in parallel can dramatically reduce
index creation time for very large non-point spatial datasets.
- Spatial queries
that use secondary filters on geodetic data can run up to 40% faster.
- Applications
that execute WITHIN_DISTANCE queries on linear features perform up to
30% faster. (Such queries are commonly used in applications such as
wireless location-based services, transportation, utilities, and pipeline/asset
management.)
For more information
on performance characteristics, please refer to a separate performance technical
white paper on the Oracle Technology Network at /products/spatial.
Enterprise
Features Supporting Location-Based Services In Oracle9i
Oracle9i
provides powerful, reliable support for an organization�s mission-critical
applications. These enterprise features enrich Oracle9i�s location-based
services capabilities via a flexible Internet deployment architecture,
object capabilities, and robust data management utilities that ensure
data integrity, data recovery, and data security. This level of support
can only exist in the homogenous environment of an enterprise database
solution, and cannot be effectively replicated in a hybrid solution that
marries an external location-based solution with a traditional enterprise
solution, no matter how tightly integrated the two components may appear.
Oracle Spatial
takes full advantage of expanded database size limits, high-performance
VLDB maintenance utilities, replication, workspace manager (versioning),
faster backup and recovery, and partitioning. The full range of
Oracle utilities (e.g. SQL*Loader, etc.) are also available to ease
migration and help upgrade applications which use the location-based services
features. Some of these key enterprise features have been introduced in
the sections above; below are other key features.
Replication
With Oracle Spatial,
Oracle's Advanced Replication capabilities can be used for location data,
since it is stored in standard Oracle tables. For example, distributed
systems that involve geographically dispersed yet logically replicated
web sites, can take advantage of synchronized replication of spatial data
objects across multiple databases.
Database Workspaces
Oracle Workspace
Manager is a database feature in Oracle9i. It provides shareable
workspaces in which to version live data. It is fully integrated
with Oracle Spatial and supports long transactions for automated mapping/facilities
management (AM/FM) and engineering applications. As such it is ideally
suited for GIS applications that extend over long periods and/or are comprised
of many collaborators working at remote locations.
Oracle9i
Application Server MapViewer
Oracle9i
Application Server (Oracle9iAS) Release 2.0 includes a map rendering
and viewing component used for visualizing geospatial data managed by
Oracle Spatial. This viewing tool is called MapViewer, and will be included
as part of the Oracle9iAS Wireless and Portal installation. MapViewer
includes components that perform cartographic rendering, and a map definition
tool to manage map metadata and portrayal information. The Oracle9iAS
MapViewer feature enables application developers to embed a map rendering
capability directly into existing e-business applications. MapViewer will
enable maps and location services to be incorporated directly into their
solutions. Application developers using the Oracle9iAS OC4J will
have a tightly integrated map rendering and map visualization component
for location and map data stored in Oracle9i with Oracle Spatial.
Many leading third-party
Internet mapping tools that support Oracle Spatial have been developed
as GIS application software for the Internet. In contrast, MapViewer is
designed as a lightweight tool to provide general map rendering visualization
requirements of e-business and location-based service developers.
Oracle9iAS
MapViewer will be available for download from the Oracle Technology Network
(/software/products/spatial/index.html)
with the production version of Oracle9iAS release 2.0. For
more information, refer to Oracle9iAS documentation at
> Products > Oracle9i Application Server.
Wireless Solutions
In addition to
the location-based services in the Oracle9i database, Oracle9i
Application Server (Oracle9iAS) Wireless Edition has location-based
services which enhance and expose these services to wireless and mobile
devices. Oracle9iAS Wireless Edition, with Oracle9i,
allows users to create and associate data with geographical regions, enabling
queries and analysis based on all the regions associated with a particular
point or area of interest. This "region modeling" capability enables
users to filter, classify, and prioritize services. Oracle9iAS
Wireless Edition also provides Java interfaces to ingest external location
services such as geocoding, driving directions, mapping, mobile positioning,
and yellow page services, enabling wireless carriers to create pre-integrated
serivces for location queries, and seamlessly integrate applications with
existing location services.
Oracle9iAS
Wireless Edition allows companies to wireless-enable any new or existing
Internet applications or content for any Web-enabled device, including
smart phones, pagers, PDAs, etc. Oracle9iAS Wireless Edition adapts
any Internet content to XML and transforms it to any markup language supported
by any device, including HTML, WML, HDML, VoiceXML, VoxML, SMS. Oracle9iAS
Wireless Edition provides for location-based services, wireless messaging,
wireless e-commerce, and extensive personalization for users and devices,
allowing for customization of services and device display.
Open Standards
Oracle consistently
works to help shape, drive, implement and support the latest open standards,
particularly in the area of location-based services. Oracle9i continues
this commitment with the implementation of the OpenGIS Consortium Simple
Features guidelines. Oracle is also committed to supporting the new OGC
Geographic Markup Language (GML) as well as Open Location Service interfaces.
The object-relational model used for geometry storage by Oracle9i
also conforms to the specifications associated with SQL92 representation
of points, lines, and polygons.
Summary
Oracle9i,
with Oracle Spatial, provides the foundation for deploying enterprise-wide
spatial information systems and wireless location-based services.
These location-based services in Oracle9i now include fast R-tree
indexing, linear referencing, and projection and coordinate transformation
support, in addition to spatial object type storage, SQL access, spatial
operations, quadtree indexing, and the ability to work with third party
geocoding providers.
With Oracle9i,
it becomes both faster and easier to incorporate location information
into Internet and wireless applications and services. This release continues
to emphasize performance, ease of use, and an architecture that truly
scales across the enterprise.
KEY
FEATURES OF ORACLE SPATIAL
- Schema
that prescribes the storage, syntax, and semantics of supported
geometric data types
- Spatial
indexing mechanism
- Set
of spatial operators and a mechanism to perform area-of-interest
and spatial-join queries using these operators
- Set
of spatial functions which perform length, area, distance calculations
on geometries; and generate new geometries such as buffers, unions
- Set
of administrative utilities
- Linear
referencing support
- Comprehensive
projection and coordinate transformation support
- Geocoding
framework
- Long
transaction support (Oracle Workspace Manager database feature)
KEY ENHANCEMENTS
TO ORACLE9i
- Geodetic
support (Whole Earth Geometry Model)
- Function-based
spatial indexing
- Spatial
aggregates
- Secondary
filter performance enhancements
- Partitioning
support for spatial indexes
- Object
replication
KEY ENHANCEMENTS
TO ORACLE9i, RELEASE 2
- NEW!
Parallel spatial index creation
- NEW!
Enhancements to spatial partitioning support (split, merge, exchange
partitions)
- NEW!
Performance enhancements for R-tree index creation and updates
- NEW!
Additional secondary filter performance enhancements
- NEW!
Additional
geometry validation procedures
RELATED
PRODUCTS AND SERVICES
- Oracle9iAS
Wireless provides location-based services for wireless and mobile
devices
/products/iaswe/
GETTING
STARTED
- NEW!
Take
the Oracle University 3-day Instructor-Led Training course,
Oracle9i Spatial.
For developers of LBS or spatial applications,
DBAs/managers of spatial data, GIS professionals. Learn all you
need to know to develop Oracle Spatial applications, from expert
instructors. Includes hands on labs.
http://www.oracle.com/education/
- From
URL above, select country and click "go".
- At US
site, click "Search for a class", enter "Spatial".
Also listed under Instructor-Led Training > Category: Oracle9i.
- Offered
very 6-8 weeks in US; worldwide offerings also available.
- NEW!
Take
the Oracle Learning Network self-paced eStudy courses, Oracle9i
Spatial and Advanced Oracle9i
Spatial
For developers of LBS or spatial applications,
DBAs/managers of spatial data, GIS professionals. Learn
at your own pace, on your own time schedule. A great review/supplement
to in class training.
http://www.oracle.com/education/oln/
- Two courses:
Oracle9i Spatial and Advanced Oracle9i Spatial.
- Both
are included with OLN's Professional Subscription.
(Click the Professional Subscription link on OLN homepage
for more info.) Some offerings are free to Oracle Partner
Network members - see OLN site for info.
- Spatial
offerings are in the Database Administration => Oracle9i
Database Technology track.
- OLN is
subscription-based. For details see the OLN website. Subscription/course
info at the OLN site overrides anything stated here.
- NEW!
Take
the Oracle9i By Example Online Developer Training
Develop a sample application using Oracle Spatial. One module
in a series on Oracle9i
/obe/
- Left
sidebar, click on Unit 2Build App Components
- Then
click on Module 3Using Oracle Spatial to Perform Location-based
Analysis.
|
|
|
Top
of Page |Copyright and Corporate
Info
|