Hi Curt,

Curtis Olson wrote:

> So really, much of the terragear code itself is there to create a
> topologically clean data set from a plethora of inputs from a wide variety
> of sources.
> 
> The problem is that the terragear mechanism uses the GPC polygon clipping
> library -- and real world GIS data imposes every nasty degenerate case you
> can imagine -- and does it at the limits of floating point resolution.  In
> some ways you can think of this as inconsistencies that are too small for
> the GPC library to detect so that leads to non-topologically consistent
> results.

Yup, we've discussed this a lot in the past.  But the GPC lib is not
the sole cause of trouble.  There are more items in the processing
chain which, while trying to sanitize the "slivers" for example, are
adding even more topological inconsistencies to the picture (centroids
ending up sitting in the neighbour polygon).

That's why I chose GRASS GIS as the preferred tool, simply because it's
known to be topologically robust.  I suspect GRASS probably wasn't an
option back in these days when you've been working on TerraGear, but a
lot has changed in the meantime.  Anyhow, GRASS doesn't work wonders,
the garbage-in - garbage-out principle still applies.  That's why I've
been working on creating clean datasets ....  which has the neat
side-effect that you don't need to have a "landmass" any more.

> And you could create a topologically clean land cover database which is a
> good thing.  But then try to mix this with some other dataset (airports
> from Robin for instance) and be right back to having topological problems
> again.

No  :-)

What I was having in mind - and what I actually did - is converting the
airport holes (the work directories written by "genapts") into shapes
and cutting these out of the land cover.  Voila, topologically clean
airport hole boundaries (I admit you have to dabble with the Z axis a
bit).
I've done the same with OSM road data - look at this sample, these
roads are real polygons and I've been cutting these out _before_
feeding the result to TerraGear:

  
http://mapserver.flightgear.org/map/?lon=6.5045&lat=51.23036&zoom=14&layers=0000000BTFFFFTFFTFFFFFFF

That's how the result looks like (a screenshot I made for a
presentation at PGConf.DE last year):

  http://foxtrot.mgras.net/bitmap/FGFS/EDLN-OpenLayers-RoadCutout.png

Cheers,
        Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--------------------------------------------------------------------------

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to