- issue is caused by very long edges. osm_coastline has lots of them.
- split_long_edges info was getting lost in many cases, as clipper
'optimizes' the output. To work around this, I would gather the
nodes before a clip, then add them back after. Unfortunately, I was
only getting one of the polygons nodes
( sometimes, just a bucket - 4 nodes )
sometimes, sgBucketSpan returned an extra row ( a sliver )
chop would pick this and save it as the landclass output - instead of the full bucket poly.
construct wouldn't have any poly for the area, and mark it as ocean
- Use new SimGear API in construct to gather all tiles within a bounding box
- Bring in new clipper lib, which seems to fix more orientation issues
- Various debug cleanup
- Fix Find/Merge slivers - but leave it turned off
- New OffsetPoints for small speedup in GenApts - currently disabled
- reworked priorities.hxx/.cxx to make valgrind happy. It also allows us to add more features per area (like smoothing).
- remove TG_MAX_AREA_TYPES - we had a merge request for this, but this does essentially the same thing with the refactoring.
- fixed some edge matching introduced in multithreaded construct.
- tgconstruct objects now live for an entire stage. 1 for each thread - this introduced the memory leaks, and some issues.
interesting side effect is that we do less alloc / free, since we use std::vectors which when cleared, don't actually free
memory, so by the end, we've allocated enough entries for the largest tile.
- fixed linear feature issue in genapts850 - the refactor caused some of the old clean functions to remove too many polys!
with cgal, we need far less cleaning - just do what construct does, and we can still parse all airports, and lines are back.
results of OGRDecode, instead of ascii, completely different format
- move Utility functions to generate polys from line data into tgPolygon
( use this for both GenApts850 linear features, and OGRDecode )
- kill off old superpoly, and texparams
- add tgChopper which queues chopped polygons per bucket.
When saved, result is less files (each tile has 1 file per shapefile decoded)
Both genapt and ogrdecode now use tgChopper instead of Geometry/Util.cxx functions
- tgChooper acquires a global file name lock, so we can safely run genapts in
paralell with ogrdecode.
(this was dangerous before, as both could try to open the index file as write,
the loser would segfault, later )