Geo whatchamacallit: All you need to know to have an understand geospatial processing and its capabilities...


Go geocode yourself...Geocoding is the process of converting tables of address data into standardized address, location, and possibly other data. The result of a geocoding operation includes the pair of longitude and latitude coordinates that correspond with the input address or location. For example, if the input address is 22 Monument Square, Concord, MA 01742, the longitude and latitude coordinates in the result of the geocoding operation may be (depending on the geocoding data provider) -71.34937 and 42.46101, respectively.

Given a geocoded address, you can perform proximity or location queries using a spatial engine, such as Oracle Spatial, or demographic analysis using tools and data from Oracle's business partners. In addition, you can use geocoded data with other spatial data such as block group, postal code, and county code for association with demographic information. Results of analyses or queries can be presented as maps, in addition to tabular formats, using third-party software integrated with Oracle Spatial.

Spatial says what... Oracle Spatial is designed to make spatial data management easier and more natural to users of location-enabled applications and geographic information system (GIS) applications. Once spatial data is stored in an Oracle database, it can be easily manipulated, retrieved, and related to all other data stored in the database.

A common example of spatial data can be seen in a road map. A road map is a two-dimensional object that contains points, lines, and polygons that can represent cities, roads, and political boundaries such as states or provinces. A road map is a visualization of geographic information. The location of cities, roads, and political boundaries that exist on the surface of the Earth are projected onto a two-dimensional display or piece of paper, preserving the relative positions and relative distances of the rendered objects.

The data that indicates the Earth location (such as longitude and latitude) of these rendered objects is the spatial data. When the map is rendered, this spatial data is used to project the locations of the objects on a two-dimensional piece of paper. A GIS is often used to store, retrieve, and render this Earth-relative spatial data.

Examples of nonspatial attributes are name, soil_type, landuse_classification, and part_number. The spatial attribute is a coordinate geometry, or vector-based representation of the shape of the feature.

Who is this mysterious Oracle Locator.... One of the most powerful but least understood features of the Oracle relational database management system (Oracle Express Edition through Oracle Enterprise Edition) is Oracle Locator. By definition, "Oracle Locator is a feature of Oracle Database 10g Standard and Enterprise Editions that provides core location functionality needed by most customer applications." However, Oracle Locator offers a lot more than this. At face value, Oracle Locator gives users the option of storing location information (geospatial or otherwise), such as longitudes and latitudes, in the same tables and rows as the rest of data. Yet Oracle Locator goes much further: using this standard feature, users can also perform location analysis on the same data, i.e. geospatial indexing.

So when you simply want to return all information about something that happens to exist within some distance of something else, why go to a map or a GIS? Oracle Locator can do this for you right in the database. And, of course, with regards to Oracle Spatial (an option of Oracle Enterprise Edition), the rabbit hole gets deeper-much deeper. Fundamentally, Oracle Locator and Oracle Spatial are really the same. They share the same core object type (SDO_GEOMETRY) as well as the same metadata and indexing scheme. In plain English this means we can do counts of the number of ice cream parlors, restaurants, hair salons, and etc. within a city's boundary or preform the counts within a certain radius however much more complex processing can be done.

However, whereas Oracle Locator provides impressive core location analysis functionality (such as the ability to find all the data that has some kind of topological relationship to other data), Oracle Spatial builds on top of this the capability to store and manage image and gridded raster data and metadata; create and analyze linear-referenced, network, and topology data models; turn text-based address information into longitude/latitude with geocoding; provide driving directions via an integrated routing engine; and perform deep, multidimensional spatial analysis and mining on location and other data. The real beautiful characteristic of both Oracle Locator and Oracle Spatial is that data and analyses are available to any user that can connect to and query from an Oracle database. This allows a user to bypass steps that in past would bottle-neck the process...

The allure.... I came across a very interesting article on the ORACLE website, it spoke about integrating Oracle Spatial with Google Earth. The article does a fantastic job of illustrating the possible usage of GeoServer to read the Oracle database and create KML that can be ingested dynamically (via a Network Link) by Google Earth. Like always the age old issue of licensing agreements may be too high of a hurdle; each of these applications has different licensing agreements. For instance, Google Earth is free for personal, non-commercial use only.

Geo who... Geoserver is an open source that seems to be a data broker (for lack of a better term) that allows you to transform “typical” GIS data (shapefile, Oracle Locator, ArcSDE, etc.) to standards-based formats that can be used by today’s “main stream” applications like Google Earth (via KML/KMZ), Google Maps/Yahoo Maps/Microsoft Virtual Earth (via GeoRSS), Flex/Flash (via WMS/WFS), GIS applications (via WMS/WFS), etc.

Image Credit: Wikipedia