Spatial
or location-based data are increasingly viewed as integral
elements of many core business applications including some
advanced business intelligence and decision support applications
such as supply chain logistics and enterprise asset management.
These types of mission-critical business applications are
different from, or in some cases an extension of more
traditional applications in planning, natural resource
management, agriculture, and others that have long been
associated with these types of location-based data and a range
of geospatial technologies. As location-based information
becomes more of an integral component of mainstream business
applications, the need to effectively manage these
"special" data with core enterprise information
becomes more pressing. This in turn has driven changes in the
way business technologies such as database management software
are engineered to meet those needs.
Historically,
vendors of GIS solutions and providers of image processing and
photogrammetric mapping software needed to deliver the tools
required for analysis and visualization, as well as the basic
data management capabilities for storing, indexing, and
retrieving spatial data. The burden of providing this basic data
management infrastructure was required because commercial
database vendors had not yet extended their products to support
basic spatial data types such as points, lines, polygons, and
the more complex raster data that enable image-based
applications.
Over
the past decade this requirement has been alleviated as the data
management infrastructure for geographic data and the basic
operations to support it (i.e., indexing, retrieval, ability to
analyze topologic relationships) have been introduced into
commercial database products. As a result today nearly all GIS
software vendors and a growing number of remote sensing
applications rely on a commercial database solution to provide
the basic support infrastructure for the effective use of those
analytical toolsets.
Oracle
Spatial
Spatial
data can be complex, and many of the important location
relationships between business data need to be presented in map
form to be understood and appreciated. One vendor of commercial
DBMS software has been working toward the goal of managing
spatial data along with other business data in a common
environment. Oracle Corporation hopes to change the geospatial
landscape by offering a suite of spatial database management
capabilities with every Oracle database that is delivered. For
example, Oracle Spatial and Oracle Locator provide native data
management in the Oracle9i (and soon, in the new 10g) database
for location information such as road networks, wireless service
boundaries, and geocoded customer addresses.
Even
though all the major GIS software solutions (e.g., those offered
by Autodesk, ESRI, GE Smallworld, Intergraph, and Mapinfo)
currently "play well" with Oracle database technology,
some of the new offerings might be perceived as competitive. On
the other hand, Oracle databases are used in a myriad of
industries and may very well open up new markets for geospatial
information technology.
Oracle
Spatial serves as a foundation for deploying enterprise-wide
spatial information systems, and Web-based and wireless
location-based applications. Since location data are fully
integrated with the database, Oracle Spatial allows end users to
easily incorporate location information directly in their
applications and services.
Internally
to Oracle Spatial, location data are modeled in layers, located
in a common database, or a single table, sharing a common
coordinate system. The basic data types include points, lines,
and polygons (as with many standard GIS packages), and also
support arc strings, circles, and compound polygons. Geographic
data are manipulated using the same semantics applied to the
standard Oracle data types (e.g., CHAR, DATE, INTEGER) that are
familiar to all users of SQL.
Seeing
the Forest Through the Trees
An
important component of data retrieval that is unique to spatial
data is the concept of spatial indexing. Oracle Spatial includes
R-tree indexing (see Figure 1), in addition to quadtree indexing
capability. R-tree indexes can be used in place of quadtree
indexes, or in conjunction with them. Quadtree indexes, which
subdivide (or "tessellate") the geometry into tiles to
preserve the spatial organization of the data, used to be the
only method of indexing geographic data in Oracle Spatial.
Unfortunately, quadtree indexes were labor intensive to set up
and required monitoring of changes to the data to keep the
database properly tuned.
R-tree
indexes have been introduced to alleviate those problems by
providing a faster, more efficient indexing scheme for spatial
data that requires less time to set up initially, and which also
requires less administration as the data get updated. For a
layer of geometries, an R-tree index consists of a hierarchical
index on the minimum bounding rectangles (MBRs) of the
geometries in the layer. As new data get added, or existing data
layers are removed from the database, the R-tree index
essentially updates itself.
Geocoding-Where
Is My House?
The
process of geocoding, or address matching, assigns an X, Y
location in the spatial database according to a street address
or other geographic reference such as a ZIP code or telephone
area code. Oracle Spatial can integrate with any third party
geocoding tools and services to match these records with an X, Y
(longitude/latitude) point that is then stored in the database.
Users can choose the best geocoding service to fit their needs
(for example, one that provides international address support).
This capability supports the analysis of spatial relationships,
such as the proximity of store locations to customers within a
given distance, or projected sales revenues by demographic
territories.
Oracle
Locator
The
Oracle Locator product is designed specifically for business
applications that use location-based services, including
functionality typically required to support Internet-based and
wireless service based applications. Some of the capabilities
provided by this database option include:
-
Query
nearest neighbor and other spatial relationships between
geometries
-
Perform
location queries on relational information not stored in
Oracle Spatial geometry type
-
Support
long transactions
-
Store
and index vector geometries in the database
Using
Oracle Locator, e-business applications such as call centers,
and marketing and sales applications can incorporate mapping and
spatial analysis capabilities. It also provides a foundation for
a new class of location-based services such as concierge
services (for example, to provide information on the location of
service outlets, hotels, restaurants, etc.); emergency services;
and other consumer-oriented services that are both Web-based and
wireless.
Oracle
Locator provides a subset of the functions included in Oracle
Spatial, and provides data management for location information,
including an Oracle native spatial data type (SDO_GEOMETRY) for
points, lines, and polygons; some spatial operators; spatial
indexing; and simple location analysis.
Oracle
Application Server MapViewer
The
latest offering for spatial data management from Oracle is the
Application Server MapViewer extension (http://
otn.oracle.com/products/mapviewer/index.html). MapViewer is
a Java-based (J2EE) service for rendering maps using spatial
data managed by Oracle Spatial and/or Oracle Locator. MapViewer
provides services and tools that hide the complexity of spatial
data queries and cartographic rendering, while providing
customizable options for more advanced users.
MapViewer
users can control a map's appearance through mapping metadata
that defines base maps, map themes, map symbols, styling rules,
and other methods for displaying data managed in the Oracle
database (see Figure 2) without altering the actual spatial
data.
MapViewer
is a simple rendering engine that builds a GIF or PNG format
image for a user specified map defined in the Oracle dictionary.
A user first defines a map by picking spatial layers (i.e.,
SDO_GEOMETRY column names) they would like to associate with a
map. A user defines these maps by populating information into
Oracle dictionary tables (see Figure 3).
Also
included in MapViewer is a set of methods for querying
non-spatial attributes based on locations (see Figure 4).
Oracle
Database 10g
The
latest release of Oracle DBMS technology is named 10g-the
"g" stands for grid computing. Other new features
relating to geospatial data that will be offered in the Oracle
database 10g release include:
-
Network
Data Model. To support applications such as routing and
identifying optimal travel paths.
-
Topology.
For analyzing spatial relationships in the data.
-
Geocoding.
-
GeoRaster
support. This is a new data type for geo-referenced raster
imagery such as remotely sensed data from satellites or
airplanes. An XML schema is used to define metadata and for
raster data management functions such as pyramiding, tiling,
and interleaving.
-
Spatial
Analysis functions. New capabilities including
classification, spatial correlation, and other operators
that support spatially-enabled data mining will be offered
in the 10g release.
One
new application that has already been developed to take
advantage of the new capabilities in Oracle 10g is the iSMART
application from eSpatial (Dublin, Ireland). This application
was specifically designed to embed spatial data and capabilities
in business applications using standard enterprise technologies.
It also supports some of the new Open GIS Consortium (OGC)
standards including Web Mapping Services (WMS), and the
Geography Markup Language (GML), thereby enabling access to
existing GIS applications over the Internet or an Intranet.
Yes,
we've come a long way, baby. Now that spatial data are so
prevalent in businesses, government agencies, and other
enterprise-wide organizations, the time has arrived to apply
tools that can seamlessly integrate special data in a spatial
way.