[gdal-dev] Open source vector geoprocessing libraries?

Jan Hartmann j.l.h.hartmann at uva.nl
Fri Jan 15 05:04:12 EST 2010


I was thinking along the same lines, but more in the direction of OGR as 
an archival standard.  I have been working with archives and stored maps 
all my life and am now busy with lots of digital historical maps. For 
raster maps the best storing format is Geotiff, from which all other 
formats can be derived if you want something small or quick for high 
performance purposes. For vector maps there is no such standard. Most 
vector maps are exchanged as shapefiles, but this is certainly not 
optimal. Some sort of file-based OGR format could perhaps fill this gap; 
conceptually, it certainly is the best model there is. For archival 
purposes however, there should be three additional options:

1) If a map is converted to OGR and converted back, there should be an 
option of getting it back byte-identical. Law #1 of archiving: always 
make sure that you can get back the original
2) For long term archival purposes, there should be an ascii format (XML 
or GeoJSON) associated with OGR. I have had to converted binary files 
from a 60-bits Cyber long ago, so I know what I am talking about. God 
knows what a computer word will look like in the age of quark-computers.
3) There should be some sort of lossless compression scheme associated 
with OGR

As to additional functionality, it wouldn't take first place for me, but 
it would be nice to have it, perhaps not baked into the format but as 
additional libraries and an API to be linked in:

1) Most of the time I do not need optimization for speed. I find it more 
important to create a work-flow with as few copying steps as possible 
(always a gigantic source of errors). Only at the last moment, e.g. for 
setting up a high performance server, I create the necessary production 
files, optimized for speed or memory space.
2) IMHO large vector maps are useless without indices. It would be nice 
to have an indexing scheme for these OGR maps, perhaps as standalone 
files, comparable to the OVR raster files used by gdaladdo.
3) Topology would be nice too. What to think about the way ArcGIS does 
it nowadays? It uses some sort of shapefiles as base maps, but computes 
the topology (you can choose different criteria) and puts it in separate 
files. There is work going on for topology in the PostGIS, I believe, 
but it is a horribly difficult subject, of course.
4) Regular GIS functions are already available via the GEOS library.
5) I am not a big fan of Metadata. Most maps are from governmental 
organisations, and my experience with Metadata is that those 
bureaucratic offices want to put the complete structure of their 
specific organisation into the definition of the map. It is impossible 
to get all these definitions into one overarching metadata system. The 
nice thing about maps is that every map can be combined with every 
other. The problem with (governmental) organisations is that they create 
their own small universums, which aren't compatible with other 
universums, and even don't know about each other's existence. It's like 
combining Euclidean and non-Euclidean universums, don't try it! There 
should be documentation associated with a map, of course, but that is 
different from the basic definition of a map in terms of points, lines 
polygons and projections.

Again and again, I am not asking for this functionality or even 
commenting on the ongoing work on OGR; I don't know enough about its 
internals or the way people are working on it to be in any way qualified 
for that. These are just the thoughts of a long-term (and very happy) 
GDAL/OGR user from an historical/archival point of view.

Jan

On 15-1-2010 9:10, Peter J Halls wrote:
> Dear All,
>
> Mateusz Loskot wrote:
> %< Snip
>>
>> Yes. Also, most applications I've seen using OGR do define their own
>> data models and translate OGRFeature to features of their own types.
>> Perhaps it would be interesting to know why they don't use OGRFeature
>> as a part of their data model, what's missing...
>
> Thinking about this in terms of my own programs, I think that it is 
> not necessarily that OGRFeature is missing anything but rather that my 
> program data structures (objects) are designed for some specific 
> task.  So, for example, I have a program that reads from a GPS and 
> creates OGRFeatures for storage somewhere using OGR; another uses OGR 
> to read data of some format and then builds a Green & Sibson 
> neighbourhood structure from the OGRFeatures in order to measure 
> neighbourhood characteristics and writes or updates attribute tables; 
> and so on.  These simple OGC-type features are, for me, ideal input 
> into or output from what are primarily research models.  Indeed, were 
> the data structure more complex, I should probably have to unpick it 
> into a more simple structure, like OGRFeature, in order to build 
> appropriate data structures for whatever it was I was doing.
>
> Note: I am not using OGR as a component of a GIS, rather my programs 
> are either extensions to GIS methodology (eg neighbours and cluster 
> detection) or are designed to model the behaviour of some phenomenon.  
> I use OGR for format independent spatial object IO because it is easy 
> to map OGR objects to my objects.  This means that I use my own object 
> methods for tasks like intersection detection, etc, when needed.
>
> Having said that, do I want more?  There are times when geometric 
> topology is, or could be, very useful.  Currently, if I really want 
> that, I create an ESRI 'coverage' dataset and use that as input via 
> infolib: its not necessarily ideal and I have no idea how long that 
> format will persist, but it serves my needs well.  I do not think I 
> would expect OGR to offer topology functions, though: I think I would 
> expect to use a separate but related library to build topology from 
> OGRFeatures.
>
>>
>>> There is of course some non-trivial overhead converting underlying
>>> features into OGRFeatures, and as was noted there is some performance
>>> impedance between OGR and GEOS due to the need to translate
>>> geometries frequently.
>>
>> There usually is yet another step (cost), it is translation from
>> OGRFeature to feature of application's data model.
>
> This is very true and is probably inevitable, unless one is inventing 
> the wheel yet again.  Of course, the overhead can be minimised by the 
> use of appropriate structures and avoiding repetition.
>
> Dunno how useful that is to anyone else, but if it is, then great.
>
> Best wishes,
>
> Peter
>
> -------------------------------------------------------------------------------- 
>
> Peter J Halls, GIS Advisor, University of York
> Telephone: 01904 433806     Fax: 01904 433740
> Snail mail: Computing Service, University of York, Heslington, York 
> YO10 5DD
> This message has the status of a private and personal communication
> -------------------------------------------------------------------------------- 
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev


More information about the gdal-dev mailing list