[OSGeo-Board] The stack - what is it?

Frank Warmerdam warmerdam at pobox.com
Thu Mar 9 19:08:29 PST 2006


Gary Lang wrote:
> Could you guys give me some help?
> 
>  
> 
> I believe the table below enumerates most of the pieces of software 
> people need/want throughout the GIS ecosystem. I have a couple of requests:
> 
>  
> 
> 1)    If I’m missing something (i.e. more rows needed) or have misstated 
> something please let me know.

Gary,

I wouldn't organize things on these particular break points, though they
do seem plausible.  You might want to read over the white paper refractions
prepared a bit over a year ago that tried to give a survey of open source
gis components and how they fit together.

http://www.refractions.net/white_papers/oss_briefing/2005-02-OSS-Briefing.pdf

> 2)    Could you guys help me fill out the third column with G/FOSS 
> package/project names?

I'll give my thoughts on some packages fitting these roles, though my
knowledge isn't comprehensive.  Sorry for losing your original nice
formatting.

> The discussion around build machines has me thinking about the “full 
> stack” mission of the OSGeo. I’d like to see what’s doable in delivering 
> this entire stack.
>
> Let’s discuss the stack tomorrow at our meeting, time allowing.

I will mention that I believe Arnulf was speaking partly in terms of an
SDI stack.  Basically RDBMS -> web services -> client services.  Not
necessarily trying to fulfill all traditional GIS and image processing
functions.  But it is educational to take a broader look.

> *Geographic Data Management*
> 
> Database administration tools for managing data access by users, locking 
> of data during edit and maintenance of metadata.

There are a few spatial database options, the most sophisticated and
mature of which is PostGIS on top of Postgres.  I am not familiar with
any sophisticated middle where for managing data in PostGIS or other
OS geospatial RDBMSes.  There are client applications like uDig for
editing it, but I wouldn't say they are sophisticated about locking in
a multi-user editing environment.  Perhaps GeoServer's WFS-T and it's
locking on top of PostGIS would file some of that role.

> *Tabular Attribute Data Management*
> 
> Software environment and capabilities for storing and managing database 
> attributes linked to map features in the GIS database. May involve use 
> of a vendor-proprietary system for attribute storage or a commercial 
> relational database management package.

I'm assuming this is addressed by Postgres or MySQL and the various
fronts ends available, though I'm not sure I'm clear on what middle/client
side stuff you would be looking for.

> *GIS Data Import/ Export Utilities*
> 
> Utility programs bundled with the GIS package for translation of GIS or 
> CAD data to or from another format, including common industry-standard 
> formats like DXF, SIF, DLG or SDTS.

I would claim that GDAL/OGR are the swiss army knife of data translation
in the OSGeo world.  GRASS also has a substantial number of additional
translators.

> *GIS Data Entry and Editing*
> 
> A range of interactive and batch processing functions for entry of map 
> data through such means as board digitizing, coordinate geometry entry 
> (COGO), scanning and heads-up digitizing, along with capabilities for 
> editing GIS data, performing error checking and resolution, map 
> rectification and transformation of coordinate systems and map projections.

Client applications such as uDig and QGIS fill much of this role.  GRASS
also has a variety of vector editing capabilities, though I believe QGIS
is now used as a front end for some of these GRASS editing needs.

I *think* uDig is a natural editing front end for PostGIS and WFS-T's
though I'm a bit fuzzy on what is complete and what is under development.

There are also a variety of other packages with some degree of vector
editing such as OpenEV, Thuban, JUMP (actually quite good I think but
somehow supceeded by uDig?).

> *Map Design and Composition*
> 
> Interactive capabilities for the design of map plots and displays, 
> automatic creation of thematic maps and legends, and modifying map 
> symbology and annotation for custom map displays.

I think GRASS is the most sophisticated at producing map output
suitable for printing.  I believe several of the client applications
(thuban, uDig, JUMP, QGIS) have some capability.  I have also seen
a significant number of people producing map output with GMT (the
Generic Mapping Toolkit).

> *Basic Geographic Query and*
> 
> *Analysis Functions*
> 
> Basic tools for performing attribute or map-based queries and displays, 
> basic distance and area measurements, query and access to scanned 
> documents, buffer generation, polygon overlay operations and other query 
> and analysis functions.

I believe that GRASS, uDIG, JUMP and perhaps QGIS have some of interactive
and display functions.  Underlying analysis is the vector domain is
mostly built on GEOS and it's Java parent JTS.

> *Network Analysis*
> 
> Spatial analysis operations based on linear networks (e.g., road or 
> pipeline systems), including such operations as shortest path tracing 
> and region allocation. Network analysis capabilities in GIS packages 
> often allow users to design network models based on attributes of 
> network segments.

I have read about some network analysis modules available for PostGIS.
I believe GRASS also includes network analysis capabilities.

> *Terrain and 3-D Data Processing*
> 
> *and Analysis*
>	
> 
> Capabilities for storing three-dimensional data normally in a grid or 
> triangular integrated network (TIN) format with functions for 3-D 
> analysis such as contour mapping, 3-D display, draping of map features 
> over a 3-D display, slope and aspect analysis, etc.

I think GRASS has some TIN capabilities.  Most terrain oriented
applications use gridded DEMs for terrain storage.  OpenEV includes
3D viewing capabilities.  GRASS includes a variety of terrain analysis
and the NVIS front end package for 3D visualization.

> *Raster Image Processing Capabilities*
> 
> Capabilities for the manipulation and processing of raster images (e.g., 
> digital aerial photos or orthophotography, satellite images), including 
> functions for the import and rectification of raw imagery, digital image 
> enhancement and automated classification of multi-spectral imagery.

I think OSSIM addresses serious image processing, mosaicing, rectification
and related capabilities.  GDAL utilities can also be used for some of this.
GRASS also has some of this.

> *Application Development Languages*
> 
> Programming environment for customizing applications accessing software 
> functions provided by the package, including proprietary languages 
> included with the GIS software package or industry standard tools (e.g., 
> C++, Visual Basic, Delphi) that may be used for application development.

GRASS is very scriptable (in sort of an AML'ish sense - forgive the
comparison Markus!).  Several packages provide good C/C++ APIs (GDAL/OGR,
OSSIM, GRASS).  Several packages offer good support for scripting languages
(GDAL/OGR, MapServer, GEOS).  GeoTools is the obvious base SDK for anyone
working in Java.  GeoTools itself could (I think) be best described as a
Java GIS SDK.  Of the scripting languages I think Python is best supported.
There is some degree of support for Perl, PHP, Ruby, and C#.

> *Data*
>	> 
> A GIS system is incomplete without access to large quantities of quality 
> data.

Many formats are accessible.  A variety of large free datasets can be found
at geotorrent.org.  (landsat mosaics, VMAP, TIGER/Line, etc).

The obvious missing comonent is the whole web services, web mapping and
related.  You also didn't mention geocoding - we have a couple existing
options, and SRC has indicated an interest in open sourcing their geocoder
as well.

Generally I think we (the broad open source geospatial community) is
strong in web services, basic SDKs, simple visualization.  Via  GRASS we
have a variety of esoteric GIS analysis capabilities.  Via PostGIS we
have a solid spatial RDBMS.

We are weak in data management tools, sophisticated editing (specially
for a multi user environment) and quality map production.

Some of our more interesting analysis capabilities are available in
GRASS but can seem inaccessible to new or casual users.

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | President OSGF, http://osgeo.org





More information about the Board mailing list