Hi Stephen,

I have been involved with Oracle Spatial + MapInfo development and deployment in several different projects and contexts, from the earliest days of 8i through to the current version 9.2. And from all of that, I think the best short answer to your question is: "It depends".

It depends on your intended use, the amount of data you're working with, your security requirements - basically every aspect of your work environment. Depending on where you land on the various spectra (big data - small data; dynamic data - static data; open access - restricted access, etc) some of the pros and cons of Oracle Spatial will not apply to your situation.

So, with that disclaimer in place, here's a longer (and highly opinionated) answer with observations I have made over the years. Rather than list them as pros versus cons, I have made some comments about each issue on its own - whether or not it counts as a pro or a con is up to you.

MapInfo Live Access versus MapInfo Linked Tables
==================================================
MapInfo "live" access to Oracle Spatial data has always suffered from extremely poor performance. There is database tuning that you can do to try to help, but at this stage of the MapInfo / Oracle alliance, I think it's fair to say that "live" access is a misnoma and should only be considered under rare situations of small, highly dynamic data sets. And if you're using MapInfo at the moment with native TAB files, then this doesn't include you!


The alternative - linked TAB files - works very well within the MapInfo application environment, because they are virtually "native" MapInfo files, so zooming, panning etc (activities that would make "live" access tables really grunt) work very well. The downside of these tables is that they represent copies of the actual database data. If the Oracle data changes, then the linked table "caches" need to be refreshed. If the data changes a lot, then refreshing linked tables becomes a nuisance.

As an aside, I am currently working in an environment where Oracle Spatial data is being accessed (viewed mostly) using both MapInfo and GeoMedia clients. The data is largely static, so linked MapInfo TAB files work well, and MapInfo can open a workspace quick smart. By contrast, GeoMedia has no concept of "linked" tables, so it opens and reads ALL of the data from the database every time. It is not unusual for a GeoMedia workspace to take up to 2 minutes to open, whereas the MapInfo equivalent takes barely a second. (I mention this not as a GeoMedia vs MapInfo thing, but to highlight the benefits of linked TAB files in some circumstances.)

Open GIS Standards
======================
Oracle Spatial implements an OGC compliant spatial data model. Therefore the data can be accessed by any OGC compliant GIS application. It takes a bit of careful design - making sure to use "lowest common denominator" specifications - but I can vouch for the fact that MapInfo, GeoMedia and Genamap can all happily access and work with the same central GIS data stored in Oracle Spatial.


(I know your question related specifically to MapInfo, but you never know when the first Open Source application might find a niche amongst the multitude of sins which GIS purports to cover. And when that happens, it's a fair bet that data in an OGC compliant database will work straight out of the box.)

Data Security
=================
Oracle database security is second to none - provided you can be bothered to implement and maintain it. If you work in an environment where you have good DBA support, you can get quite sophisticated with which GIS data you make available to which people, etc.


Central Data Storage
=======================
Related to the above, put your data into Oracle Spatial and you do it once. Thereafter it can be viewed, edited, updated - even copied to a local TAB file (god forbid!) - safe in the knowledge that it is THE current version of the data. There are other tools and utilities around for managing deployment of TAB files across networks, etc, but having a single database repository is a good thing. (And if your DBA people are doing their jobs, you get it backed up, too!)


Replication - With Oracle 9i came spatial data replication. So it's possible to have distributed databases all replicating their data and their updates amongst themselves as required. Very useful for distributed organisations. But again, get the DBAs onside. Oracle replication is not for the faint-hearted!

Conflict Resolution - Concurrent edits on the same item of data are managed. "Live" access record locking prevents conflicts. "Linked" TAB file conflicts are handled by MapInfo presenting a (somewhat awkward!) dialog to the user, allerting them to the fact that there has been an edit conflict, and enabling them to choose which edit "wins".

Stored Procedures - You can get extremely creative with the use of database triggers to help maintain your GIS data in good order. Prevent users from violating data constraints by intercepting their edits with "before update" triggers, for example.

User Paradigm
==================
Something to be wary of with the move to a central shared database environment - your current MapInfo users will need some training and/or demonstration of the new system.


I've mentioned a couple of things about refreshing linked TAB files, and data edit conflicts, etc. For the most part, the MapInfo user experience is unchanged from the native TAB file scenario. But there are enough quirks and differences to warrant some comprehensive training and user documentation.

For example, MapInfo does not handle Oracle exceptions well at all. Oracle error messages are often nested and MapInfo currently only reports the "outermost" error condition, rather than "unwinding" the error stack to provide all the gorey details. In some cases the outermost error message is entirely unhelpful when trying to address the problem. As a result, a simple exception during commit (e.g. duplicate key) can often mean that all pending edits need to be rolled back ("Revert Table") and then reapplied and committed one-by-one.

Also, I have little faith in MapInfo's ability to recover Oracle exceptions in general. A "permission denied" error from the database is often sufficient to crash MapInfo shortly thereafter. And restarting MapInfo with remnant pending edits in temporary files can be very confusing for users.

Server-side Processing
=========================
If you're going to go the distance and implement Oracle Spatial, I would advise that you don't just use it as a "bit bucket". There are a number of inherently useful server-side things which you should consider, depending on your requirements.


Linear Referencing - Road networks, railway networks, utility networks, pipelines... Any environment which describes locations in terms of a distance or chainage along a linear feature. If this is you, then Oracle Spatial has some very useful functionality which can help you (for example) to dynamically segment linear data and present MapInfo with a pre-cooked spatial table for display, interrogation, etc. Since MapInfo has no client-side linear referencing functionality (3rd party products notwithstanding) this can be very empowering functionality.

Spatial Queries - Don't open ALL your data in MapInfo and then do your spatial querying. Instead feed a spatial query to Oracle and have the server-side processing serve up the filtered data for you. Obvious, but extremely powerful.

Server-side Processing - Promised in Oracle Spatial 10g (due soon?)
========================================================
Topology - Often touted as the functionality which separates the "power tools" from the "toys" in GIS. I have only sketchy understanding of how it will work, but it means that this is another area where Oracle Spatial can fill a gap in MapInfo's armoury. If you *need* topology, you're using something other than MapInfo already. But if you could *use* topology, check this out.


Network Functionality (e.g. routing, shortest path etc.) - A special case of topology management. If you use traffic flow models, or vehicle routing software etc, this is another case of something worth checking out.


I seem to have rambled on a bit. Hope you find at least part of it useful. (And I'll keep a copy to include in some doco for my current project!)


Cheers,
David Jerrard



Stephen Dew wrote:
Do those of you using Oracle Spatial with MapInfo have any comments, advice or opinions for those thinking about moving that way?

Stephen E. Dew
GIS Manager IS Department
Guilford County
201 S. Eugene St., Room L-21
Greensboro, NC 27401
(336) 641-7583
[EMAIL PROTECTED]


--------------------------------------------------------------------- List hosting provided by Directions Magazine | www.directionsmag.com | To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] Message number: 10225



---------------------------------------------------------------------
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Message number: 10246



Reply via email to