Hello!
I am thinking about various object models, libraries, frameworks, application implementations related to GIS domain.
The information is not systematized and it makes too difficult to orient in a world of GIS stuff (outlined above) for novices. I write short list of tools that are available based on experience.. So if anybody wants to correct/add/update info, you are welcome to make the picture more clear.
Geometry Object Model:
· JTS + set of useful operations and algorithms are implemented (open source)
· Oracle - proprietary object model, not very useful for the development outside of Oracle scope.
Feature Object Model
· Geotools Feature Model - OpenGIS-standard-based, quite powerful for the development GIS applications of any levels.
· JUMP Feature Model - seems it is ancestor of GT Feature Model - not really hot as the first one.
Topology Object Model
· Oracle TDM - mostly on the database side - simple object model for manipulation in Java - proprietary object model not very attractive for the development outside of Oracle scope.
· Graph plugin from GT - not really TDM, just some API for implementation stuff for graph manipulations.
· JTS - not really TDM, mostly is used for internal purposes of predicate and spatial operation implemented in JTS where geometry graph serves as internal structure and intermediate step in spatial processing.
WMS, WFS specifications
· GT plugins - seems the most advanced and hot implementations of these standards.
· Degree project - seems the active development is stopped
Spatial capabilities in RDBMS
· Oracle Spatial (there is limited edition that is free, seems to be)
· DB2
· PostGIS (the only one open source)
GIS client application
· UDIG - the most attractive open source GIS platform
· JUMP - the app with a set of very useful plugin functionality - seems most of the thing will ported to UDIG environment for the time being.
It is just entry for my issue.
There are useful sites such as freegis.org where lots of useful open source projects are listed.. My issue is more related to the development process where object models, APIs, etc are described, compared, what is the purpose, target of usage, etc.
I have faced with a problem to choose the existing (if exists) Topology Object Model (java implementation of Topology Data Model)
for the following development in some contexts (topology data store (as a data store concept for nodes, edges, faces), topology fixing of inconsistent data sets, topology layer hierarchy aligning, etc.). Related to topology seems there is no good and full implementation of TDM as open source while there are different kinds of topology (polygonal coverage, network topology, layers hierarchy), only parts of it are used in one or another project (JTS is an example where T - topology - is used locally to build geometry graph to facilitate predicate operations and spatial processing).
Doesn't it mean the open source community needs some efforts to improve "topology"-related direction of GIS development? Doesn't it mean the community needs, let's say, one powerful object model more with existing geometry object model (JTS), Feature Object Model (GT), DataStore object model - the "Topology Object Model"?
I'm crazy about not full topology framework while it takes a lot of work from the community, but to have the opportunity for simple feature model and topology data model co-exist . It means whenever some topology-based processing is needed, TDM can be build locally in the area of interest from SFM to serve as a auxiliary structure for editing operations, efficient querying with topological predicates, whatever needs some topological information. This task is reachable. The first step is to choose (or develop) object model that will state of the art in its area.
any ideas?
Vitali.