A recent press release highlighted the use of Oracle XE in a variety of fields, including geospatial. Directions Magazine contacted Dennis Wuthrich, CEO of Farallon Geographics
, to learn more about the platform that the company is using to serve geospatial clients.
Directions Magazine (DM): What is Oracle XE?
Dennis Wuthrich (DW): Oracle XE is the free version of Oracles 10g database. It is licensed for both production and development use, and is basically the same database that you can buy from Oracle, with the following exceptions:
Total data stored in XE is limited to 4GB
XE is limited to 1GB of RAM
XE is limited to 1 processor
But from our perspective, the big deal about Oracle XE
is that it is a free geospatial database, a relational database management system (RDBMS) that can natively store geometry features without the use of middleware such as ArcSDE.
What project/client/need prompted you to use Oracle XE?
We have a client that manages and mitigates landslides in Geologic Hazard Abatement Districts (GHADs) in the Bay Area [San Francisco, California]. Tracking rainfall and groundwater levels is a critical step in reducing the economic impact of landslides. Over the years, our client had amassed several thousand water level measurements from hundreds of wells in landslide-prone areas (stored in an Excel spreadsheet), but had no easy way to map well locations or identify areas experiencing adverse groundwater levels.
Traditionally, people turn to GIS to solve this basic mapping need. But our client has a small and busy staff, very tight budgets and a need for a very specific set of maps. Instead of asking our client to buy several licenses of GIS software, budget for software maintenance, train its staff, and acquire and manage basemap data, we suggested using Oracle XE to store the water level data and well location information (as geometries), and using Google Maps high quality basemaps and aerial photographs to show the location and current water level conditions. We felt that a mashup showing the location of water wells and historic water levels at each well would meet the technical needs and business constraints much more effectively than a traditional GIS deployment.
When we suggested this approach, our client loved that fact that it wouldnt need to buy any software to solve its problem. The client was even more excited to hear that staffers would be able to see the well locations on Google Maps. In addition, with XE, we can be sure that our client can immediately access its critical data with any GIS or CAD tools it might require in the future.
Details and images can be found at:
Do you use the spatial capabilities of Oracle XE? How?
Yes, we use XEs spatial capabilities in several ways.
We take advantage of Oracles openly published geometry format to automate the creation of GIS features directly within XE. Heres one example: mapping the location of water wells using surveyed coordinates. Using a simple SQL statement, we create a point geometry from the coordinate pair of any well. This task can be triggered every time a new well is added to the database, effectively using the database to automate the digitizing of a well location.
XE doesnt come close to the spatial analysis horsepower of Oracle Spatial, but it does support some basic and useful spatial operators. For example, we frequently use XEs nearest neighbor and spatial intersection operators to support basic spatial processing tasks.
XE can natively return query results encoded as the Open Geospatial Consortiums (OGC) Geography Markup Language (GML). Clearly, this is one very important method for supporting system interoperability. In fact, weve found that GML can be an extremely effective way to power Google Maps and Virtual Earth mashups.
Is Oracle XE the only geospatial database you use?
No. Farallon has used Oracle Spatial since the 8i release. But we also successfully use PostGIS and MySQL, two open source geospatial databases. Weve been impressed with the capabilities of DB2 and are also very excited about the next release of SQL Server, which is expected to include some spatial processing.
What are the key benefits of using XE in a geospatial application from a developer perspective?
From the perspective of a geospatial application developer, XE provides some unique and compelling benefits. Most important is that every major GIS vendor supports Oracles ability to store geometry. So if we use Oracle 10g or XE as our core geospatial data repository, we can be certain that ESRI, Autodesk, Intergraph, MapInfo, GE and many other GIS applications can all simultaneously take advantage of a single spatial data asset. Until PostGIS or another geospatial database attains this level of GIS vendor support, we see this as a key advantage of XE and Oracle 10g.
In addition, any data or code that we develop within XE can be readily ported to Oracle 10g or Oracle Spatial. This makes XE an extremely attractive platform upon which to pilot and prove a geospatial workflow or application, because we and our clients can be confident that our efforts will easily integrate with enterprise technology. Since Oracle databases are everywhere, this is a big deal to our developers.
Like Oracle 10g, XE can play a powerful role in developing geospatial Web services. We see XE as a very lightweight geospatial server. Because it plugs into Oracles application server technology, we can build fast and efficient geospatial Web applications that take advantage of Oracle Maps, an application much like Google Maps or Microsoft Virtual Earth.
Over the years Oracle has earned a reputation for being difficult to manage. However, XE comes with a very simple and Web-based management console, making it significantly easier to set up and administer an XE instance.
What are its benefits for an end user?
Most end users define the success of an application based on whether it solves a nagging problem, its ease of use, and its ability to save them time (or money!). In our experience, most end users show remarkably little interest in the technology; they are quite rightly focused on the applications ability to simplify their lives.
Nonetheless, I believe that end users benefit directly from geospatial databases, in general, and XE, in particular. At Farallon, wed say giving a business person access to spatial data and analysis without having to learn the specialized language of GIS is a good thing. And then theres the fact that its free. The world is filled with use cases that boil down to point-in-polygon analysis, and getting a database that can do this for you for free seems pretty powerful. From the perspective of the end user, spending money on solutions, as opposed to software, is always good.
And while were big believers in the power of open source geospatial databases as well, for many end users there is comfort in using a technology built by the worlds second largest software company.
What are Oracle XEs competitors in the geospatial arena? Open source? Other proprietary ones?
Of course Oracle competes with other vendors database offerings, and increasingly with high quality open source alternatives to its 10g database. In the geospatial world, its fair to say that a developer might evaluate Oracle XE (or Oracle 10g) against PostGIS when selecting a geospatial database.
Farallon is increasingly seeing our clients ready to evaluate how Oracle 10g and open source geospatial databases such as PostGIS can augment ESRIs array of ArcGIS Server options. Although some geospatial databases can do many of the things a GIS can, I dont see geospatial databases as necessarily competing against a traditional GIS. At Farallon, we believe it often makes good sense to incorporate a geospatial database such as XE into a GIS as a smart way to build flexibility and cost effectiveness into our clients geospatial technology stack.
Building flexibility into your geospatial strategy makes sense when you consider the extremely rapid rate of innovation that Google (Google Earth, Google Maps), Microsoft (Virtual Earth), and the open source community (PostGIS, NASA World Wind and many others) are bringing to the geospatial community. By building a geospatial database such as XE into our solutions, were finding that we can take advantage of opportunities these new technologies offer.
Its clear that some organizations need the full power of a GIS system, and its worth the investment of software, people and data. Governments, utilities and resource companies have recognized this for the past decade or two, and many have built very productive GISs. Its equally clear that almost every organization can benefit from integrating relevant geospatial data or services into business workflows. If a geospatial database like XE (not to mention Oracle Spatial or PostGIS) can deliver the required geospatial services more cost effectively or efficiently, why not use them, especially if they integrate with your current GIS and CAD platforms? After all, not every spatial query results in a map.
What types of roles does XE play in an implementation? Is it on each desktop? Act as an enterprise server?
So far weve deployed XE primarily as a server. However, were also considering implementing it on desktops as the database component in applications that we develop. Because several low cost and open source GIS desktop applications support XE, we see it playing a very important role on the desktop for some of our clients.
What enhancements would you offer to Oracle to add to the XE version, specifically for geospatial users?
Well, its always easy to ask for more functionality! But Id rather see Oracle (and other geospatial database developers) help organizations understand how to take advantage of the capabilities that geospatial databases such as XE offer.