Innogistic have released their latest GIS, Cartology DSI, with a truly distributed alternative to the Oracle Spatial
Data Cartridge and MapInfo’s SpatialWare.
Innogistic Software have been developing GIS since 1991. In 1995 Cartology for Windows was released as a 16 bit
Windows application. In 1997 we started development of a completely new GIS, Cartology DSI. This new product
was designed and written from the ground up as a fully 32 bit ActiveX based application with future proofing in mind.
In addition to the rich functionality normally associated with Cartology, its successor Cartology DSI, being
component based, allows us to integrate it with many other applications Innogistic Software offer. This article
however is looking specifically at how Cartology DSI handles spatial data held in third party databases such as SQL
Server 7 and Oracle.
Firstly though why is it important to store data in such a way? The reasons are relatively straightforward. Relational
databases provide a true client server environment that allows multiple user edit/update facilities to the same data
set. They keep (if required) spatial data and other attribute data together. This makes it possible to use RDBMS
technology where appropriate to efficiently handle data around a network and it allows very large quantities of data
to be handled efficiently.
Cartology DSI has at its core Cartology 32, the latest mainstream GIS from Innogistic Software, and has been
written using the latest software techniques, primarily ActiveX, OLEDB and DCOM. These technologies are the
reason behind the name Cartology DSI, which stands for Distributed Spatial Indexing. It has also been designed with
Intranets and the Internet in mind.
For the uninitiated what is the Oracle spatial data cartridge? It is an add-in option for storing and indexing
geometrical data and it allows a spatial querying to be carried out using an extended (non-standard) form of SQL.
Other vendors, like MapInfo SpatialWare and Informix have similar proprietary ways of dealing with spatial data.
Cartology DSI allows spatial data to be stored in a database and uses a highly efficient indexing system to retrieve it.
Cartology DSI is targeted at SQL Server7, but it uses OLEDB technology to interact with databases, so it is not
restricted to any database vendor. It can even use data that is stored in different database products. In addition it
fully supports the underlying database security avoiding the need for dual administration.
Cartology DSI stores geometrical vector data as blobs (binary large objects – these are not intrinsically recognisable
by the underlying database). It also creates indexes outside of the database based on the well-known 'quad tree'
idea. The index data is stored in b-tree structures and is accessed by DCOM middleware services.
This architecture allows for the processing to be fully distributed between the client and server. As well as
maximising the resources on a network, the DCOM servers are specially designed for scanning spatial indexes (as
opposed to generic indexes), this makes them highly efficient for spatial queries.
A major difference is the way that Cartology DSI caches geometric data. Cartology DSI generates local caches of
geometric data either by initial pre processing or on the fly. The caches are kept synchronised with the database by
the DCOM servers. These caches of geometrical data are essential for efficient rendering of maps and spatial
analysis, especially on very thin clients. This means that during a render or query process it is common for a
substantial element of the processing to take place on the local client thus reducing the network and server load. The
DCOM index services ensure that the caches are up to date by providing information on the object versions which
are compared to the cache versions. This allows all valid geometry to be retrieved from the cache as opposed to the
database, this is especially efficient with large geometry containing several thousand vertices and complex
structures.
Another important difference is the way that spatial queries are created. Whilst Cartology DSI allows the use of
extended SQL to generate queries it also provides a fully graphical interface. This graphical interface allows the user
to graphically create the regions, buffer zones etc. for visual inspection prior to analysis. This clearly provides the
user with significantly more confidence in the query they are performing. Cartology DSI recognises the need for
combining spatial and normal attribute data into a query in an extended form of SQL and does allow this, however it
is a more complex process for the average user.
The graphical interface supports drafted regions, paths, points and selection of existing objects. Boolean
combinations (e.g. union, intersection, difference) of the created regions/paths/points can then be easily queried. A
powerful aspect of Cartology DSI is the way it treats complex geometric structures. Any geometry whether it is
complex containing many parts and holes or a simple point is treated in the same way. This makes life simpler for the
end user because they do not need to concern themselves with the structure of the data they are analysing, all
operations on any data type are carried out in the same way.
Clearly, the heavy commitment made to Cartology DSI has been done with both Intranets and Internets in mind.
Cartology DSI is a modern architecture, designed especially for large concurrent scalable internet GIS applications.
A GIS will typically request vast amounts of data for analysis and display, when in an intranet/internet environment
this problem is compounded. The Cartology DSI approach to this problem uses middle-tier services to provide true
distributed caches. Its spatial indexes enable data to be very selectively retrieved from the back-end database, so
that no more data is active than is necessary and the service can be as efficient as possible. Geometry is cached in
middle tier processes especially for fast access and to reduce the continual load on database servers. For very large
systems, this means that the same data can be serviced from many caches, so that we can leverage parallelism and
failover in multi-computer or cluster-based servers.
Being an ActiveX based GIS, Cartology DSI has two very important advantages to Innogistic Software. Firstly it will
allow us licence the use of the DSI components to other software vendors for use in their own applications. Secondly
Innogistic Software produces a whole range of software for local government including solutions for Planning,
Building Control, Land Charges, Grounds Maintenance and Vehicle Tracking. The selective use of the ActiveX
controls that make up Cartology DSI allow Innogistic to truly integrate GIS within these applications with only the
functionality that the solution requires. This makes a cost effective GIS that is easy for ‘casual’ users to work with.
In general, caching, spatial indexing and distributed computing are very critical requirements for GIS applications,
and it is still an issue for GIS vendors despite purely server-side GIS solutions like the Oracle SDC. Cartology DSI
provides an efficient solution without being tied into any particular database vendor.