I didnt go to the Canberra meeting, which was attended by 45 people, but I was able to attend the Melbourne event, which attracted 65 people almost all of whom were users. The audience ranged from people with little or no experience with GIS (but lots of Oracle experience), to GIS people with no Oracle Spatial experience curious to see and hear what all the fuss was about, through to people with large amounts of experience in both. Lively discussion ensued after the meeting, indicating that the attendees found the talks interesting and stimulating.
Oracle Spatial Technologies (In a Nutshell)
The first talk was by given by Geringer and was aimed at non-Spatial users. It gave an overview of what Spatial is about and where it is going. Geringer started with a discussion of the evolution from the hybrid approach to GIS (past) to current practices. This discussion encompassed monolithic stovepipe standalone systems; through proprietary middleware approaches (proprietary database storage requiring proprietary middleware to understand internal structures); to a fully integrated (N-tier) Internet-enabled technology stack that is based on a full-featured database (full SQL-compliant spatial data and services, open to all clients), open APIs (for flexible deployment options) and packaged applications (e.g. MapViewer).
Geringers talk covered the standard features of database-based Spatial. Full data definition language (DDL) and data manipulation language (DML) support, spatial indexing (his slides and commentary on how spatial search and retrieval occurs were lucid and informative), geo-processing and validation (union, intersect, difference, XOR (eXclusive OR), buffer, shape validation etc.), various data modeling options (vector, network, imagery, etc.) and use of standard database services (replication, function-based indexes, views, materialized views, etc.).
He outlined the main geographic capabilities of the product (for a full discussion, visit the Oracle Spatial page:
- Whole earth (geodetic) and projected coordinate system support (the European Petroleum Survey Group now supported at 10gR2);
- Linear referencing system and dynamic segmentation capabilities (well illustrated via the US Airspace Boundary Crossing application);
- Spatial aggregate functionality (functions applied to sets of rows defined by the GROUP BY clause in SQL SELECT DML);
- GeoRaster capabilities (highlighting their scalability, features such as image pyramids and analysis capabilities);
- Persistent topology;
- Spatial analysis and mining (implementing some aspects of Toblers first law of geography: Everything is related to everything else, but nearby things are more related than distance things) through capabilities such as binning;
- Geocoder and router (driving directions, fastest, shortest route, etc.), and;
- A generic Network data model for generalized graph analysis (of which road network routing is a specific case).
He covered the contentious MapViewer. (I mention its contentious because for a lot of GIS vendors MapViewer started to cloud the positioning of Oracle Spatial as a database technology by introducing an application that was/is seen as being the domain of the GIS vendors.) This product is shipped with Oracle Application Server and provides XML, Java, JSP and OGC WMS (and W3C SVG) interfaces to visualize spatial data stored in the database and to expose its database-level geographic analytical capabilities such as network analysis.
For those people who believe Oracle Spatial is proprietary and therefore bad for the industry, Geringer pointed out (via corporate logos on a slide) that all major GIS and image processing vendors support Oracle Spatial Sdo_Geometry (GIS vendors) and Sdo_GeoRaster (image processing vendors). No GIS vendor can claim that level of openness for their proprietary data management capabilities. Geringer also highlighted how Oracle Spatial 10g supports OpenGIS (WKT/WKB) and SQL/MM standards (St_Polygon etc) and will continue to do so.
Geringer kept emphasizing the differences between Oracle Spatial and partner products: what is core business (appropriate to the data model, structures and methods) and what are the areas in which Oracle does not compete. For example, Oracle teams with companies like NAVTEQ and Tele Atlas to provide geocoder-ready data (though he would have been better to mention Australian partners) - Oracle hasnt entered the data provisioning market itself. Oracle does not provide capabilities in the area of digital image, correction and preparation. Nor does the company provide high-end client GIS or CAD products. These differentiators also apply to other database-spatial vendors such as IBM and open source database products such as PostGIS and MySQL.
The database vendor vs. GIS vendor data management war is now, effectively, finished. What we have moved to is vendor-to-vendor competition in the database market (IBM vs. Oracle vs. MySQL vs Refractions Research (PostGIS) product) and GIS (Manifold GIS vs. ESRI vs. MapInfo vs. Intergraph vs. Autodesk vs. CadCorp etc.) markets
Public Transport Data
Ross Caldow from Geomatic Technologies in Australia presented the second talk, Oracle Network Data Model and Victorian Public Transport Data. I have written about a technology Spatial Smart Tag which Caldows company developed. In case our readers dont know, Melbourne, Victoria, Australia is hosting the Commonwealth Games next month (March 10-26). I suspect that Caldows company is involved in projects related to the Games even though little was said about the connection between his talk and those Games
Geomatic Technologies spent the past four or five months developing an application based on Oracles Network Data Model and were part of the 10g Release 2 (10gR2) beta program. This development work came about as part of a routing application that they were asked to prototype for the Victorian State Government. The requirements were simple (arent they all!): integrate a collection of State Government transportation datasets and then demonstrate their use by generating point-to-point routes which would be displayed via maps (images) and meaningful travel instructions (text). The application had to deliver its products via WebServices. Pretty standard stuff.
The transportation data consisted of the VicMap (the authoritative spatial database for the State of Victoria) transport (node/links) and rail data and the Metlink/Department Infrastructure Tram and Bus data. The Transport and Rail data were clean and capable of out of the box routing, but the Tram and Bus data were neither clean nor routable.
Because of this, a large scale data cleansing exercise was undertaken. The data contains 29 Tram and 289 Bus routes and 23,000 stops. The positional accuracy of a lot of this data was poor. Custom processing scripts were designed to clean, match and code the data. Nodes, links and route metadata were also created.
This reconciliation and validation included:
- Stop reconciliation
- Stop sequencing
- Removal of duplicate routes and nodes
- Integration of all modes of transportation (which required addition of a new foot mode of transportation via pedestrian links).
Having done lots of this kind of work myself, I felt myself nodding as Caldow highlighted how much work was required (with the usual tight deadline) and how this is always the unsung part of a successful project.
Geomatic Technologies first looked at Oracles RouteServer as the engine for route calculation. While the engine happily processed the VicMap Transport data (even outputting its results to Google Earth via KML), they discovered that RouteServer could only run in single-transport mode (e.g. roads) and not in a multi-transport mode (e.g. train, tram, bus, pedestrian). Luckily Geomatic Technologies then tried the more generic Network Data Model, which they successfully used to conduct multi-transport mode network routing.
In order to build the appropriate network, they used the out of the box Network Data Editor tool supplied with the product. For map/image production, they chose Oracles MapViewer (which they ran inside Oracles Application Server 10g Release 2).
Because MapViewer can only work with Oracle Spatial stored spatial data, background datasets had to be loaded and styled. For this they used a pre-release version of Oracles recently announced MapBuilder product. MapBuilder is a map authoring tool rather like ESRIs ArcIMS Author.
Finally, Microsofts .NET 2.0 technology was used to develop a PDA-based application which will be used to deploy the maps and directions to the masses (another example of openness of the technology).
How it works. An Open LS XML request is sent to a getRoute Web service, which then uses a getCoords service to find start and end points of the desired route (for example, via address geocoding). The getRoute service then conducts the routing (taking less than 25 milliseconds). A getInstructions Web service is then used to create the textual travel instructions. Finally, a PNG image is requested from MapViewer. The image and the directions are then sent back to the calling client (total time around 1-2 seconds including rendering).
Travel cost is mainly travel time but distance is supported as well (multiple costs on links). However, routing does not take into account published timetables. Thus, while the cost to travel a particular route is reasonably accurate, because they do not take into account whether a transportation vehicle (e.g. a train) is available at a transition from one mode of transportation to another (e.g. train to tram) at a node such as a railway station (a waiting cost), the produced travel times are a theoretical optimum and would not reflect normal travel time unless the traveler was incredibly lucky! Perhaps in the future
First deployment is expected in time for the Commonwealth Games in March and will be deployed on Windows-enabled (.NET 2.0) mobile devices. Web-based deployments will follow in April.
Reading between the lines, I predict that these mobile devices will be given to distinctively uniformed volunteer Commonwealth Games guides who will assist visitors with travel questions. Perhaps the service will also be made available directly to visitors with the appropriate technology. Time will tell.
LogicaCMG Applications Using Oracle Locator
Brian Marwick, from LogicaCMG Pty Ltd (based in Melbourne) gave the final talk, in which he discussed some projects undertaken by his company using Oracle Locator. One of LogicaCMGs main clients is the Public Sector Mapping Authority (PSMA). The PSMA is an unlisted public company that represents all the Australian State Government Mapping Authorities. While the PSMA produces many datasets, LogicaCMG currently manages their G-NAF (Geocoded National Address File) and Transport datasets.
LogicaCMG manages the updates to these datasets by sourcing, and then integrating, data from the supplying government agencies and authorities. (Data is supplied in many different GIS formats.) For this talk, Marwick highlighted the role Oracle Locator has in the construction of the G-NAF dataset.
G-NAF is Australias first authoritative database of street address and locality data. It includes geographic coordinates for locality, street name and number for the whole of Australia. It was first released in March 2004, with seven updates (three month cycle) having been provided since that release. G-NAF contains around 12.6 million addresses, 87% of which have been geocoded correctly down to (within) the property boundary level. Each address is also geocoded to other levels such as the street and locality. The creation of G-NAF involves over 15 government agencies and authorities.
Technology. LogicaCMG uses FME (Safe Software), Autodesk Map and a custom-Java application (Geometry Pty. Ltd) to import, clean and manipulate the G-NAF data. Storage is via an Oracle Locator database running on a Windows 2003 Server.
Processing the address to determine a geocode is sophisticated. Difficulties arise when matching datasets. For example, the determination of the locality in which a road centerline falls is difficult where the locality boundary does not align with the street centerline when it should. Marwick indicated that batch processing of the G-NAF data is computationally expensive, taking days to run. Because of this, and the amount of custom coding and extensive FME scripting involved, LogicaCMG and the PSMA are considering using Laser-Scans Radius Topology to speed this processing.
In summary, the processing methodology for a G-NAF address is:
- Initial validation (address completeness, consistency);
- Locality checking (does it match against the 4,646 gazetted localities?) and geocoding;
- Checking to confirm the street name matches the PSMA Transport data (street geocode calculated but processing computes multiple geocodes where street crosses multiple localities); and
- Street number checks (if theres a match, then a property level geocode calculated).
This involved LogicaCMG modeling complex Smallworld objects inside Oracle Locator. For example, Smallworld points were modeled as Oracle Locator points with additional metadata being stored as attributes. The Open Spatial Enterprise (including Autodesk, Intergraph, Laser-Scan, MapInfo and Oracle) proposed new oriented point and cartographic text features to the OGC which have been accepted Oracle has implemented one of these Oriented Point in 10g Release 2. These new standard representations will help in such mappings in the future.
Speed of screen refresh in GIS a challenge for all of us was a key requirement for the project. The target was for their existing Smallworld GIS clients to be able to re-draw their screens from the new Oracle Locator based database at a rate comparable to when they were running against the original Smallworld database. Marwick was particularly pleased to explain that they not only managed to achieve their performance requirements, but that in some situations the replacement was even faster. Standard Oracle features like Materialized Views helped them meet the required benchmarks.
In summary, while there were many data modeling challenges to overcome, they were able to achieve them in a fairly straightforward manner. The resulting database has given them cross-GIS vendor access to core corporate data via the data-level interoperability I highlighted in my last report.
All three presentations were by vendors or consulting companies speaking as users. The first is understandable as it is an Oracle Spatial User Group! There is nothing particularly wrong with consultants and vendors giving talks as long as they dont become blatant marketing pitches which, in this case, they werent. Caldows and Marwicks talks were there because they were influential in organizing this first forum and, after all, someone has to put their hand up and give a talk to get the ball rolling! All at the User Group were clear that other forums need to be organized on a regular basis and that it is hoped that the stories presented will focus on how the technology is being used to solve real business problems (as Caldows and Marwicks talks demonstrated).
Well done, one and all.