Hi,

about the flooded tiles: the coastline is currently really broken, but geofabrik.de doesn't show it. No idea why I don't see it in the shapefiles but mkgmap... I'm currently in discussion with the geofabrik people what could be the root cause that their tool stopped working for some kind of errors (not all, that's why nobody noticed). After fixing the coastline in that area the tiles are no longer flooded, at least when I'm using an old java-1.8.0.

Regards,
Thorsten

Am 2026-06-27 18:17, schrieb Thorsten Kukuk:
Hi,

I finally found a solution for the heap overflow errors when using the mkgmap SeaGenerator, seems a combination of several security updates including java. I have now a container with a software combination which works with old land_polygons.shp files, but not with new ones.

If I use the land_polygons.shp file from OSM mkgmap SeaGenerator seems to be stuck somewhere in an endless loop, it doesn't seem to do anything.
With my own generated ones, I get:

SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 48.867188,83.320313, index key is 2260992_3866624 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 48.164063,83.320313, index key is 2228224_3866624 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 48.164063,84.023438, index key is 2228224_3899392 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 47.460938,84.023438, index key is 2195456_3899392 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 47.460938,84.726563, index key is 2195456_3932160 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 46.757813,84.023438, index key is 2162688_3899392 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 46.757813,84.726563, index key is 2162688_3932160 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 46.054688,84.023438, index key is 2129920_3899392 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 46.054688,84.726563, index key is 2129920_3932160 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 45.351563,84.726563, index key is 2097152_3932160 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 44.648438,84.726563, index key is 2064384_3932160 SCHWERWIEGEND (SeaGenerator): Precomp sea data seems to be wrong, land-only tile is flooded around 43.945313,84.726563, index key is 2031616_3932160

If I load the land_polygons.shp file, everything is fine. This tile is land only, no sea. Same for all tiles around this tile. The OSM data does not contain any coastline in this tile and the tiles around, too.

Any ideas what's still wrong here?

AI claims this:
  Here's what's happening:

  1. PrecompSeaMerger processes your land polygons from the shapefile
2. If a tile has no land polygons intersecting it, the merger creates a sea polygon for that tile (lineĀ 159) 3. This sea polygon is returned with just one way tagged as natural=sea 4. PrecompSeaSaver receives this single sea way and writes it to the index as "sea" (lineĀ 108) 5. The reference file (sea-check.txt) expects this tile to be land ('l')
  6. This causes the mismatch error

  Why This Happens

The logic assumes that if no land polygons from the shapefile intersect a tile, the tile must be sea. This is WRONG for interior continental areas far from any coastline!

  A tile can have:
- No land polygons intersecting it (because the shapefile only contains coastal land polygons) - AND still be a land tile (because it's in the interior of a continent)

The shapefile likely only contains land polygons near coastlines, not complete continental coverage. Interior tiles (like the one at 48.867188,83.320313 in Kazakhstan) have no polygons in
  the shapefile, so the code incorrectly marks them as sea.

  Solution

The code in PrecompSeaMerger.java needs to be fixed to handle the case where a tile has no intersecting polygons.


Does this make sense to anybody?

Thanks,
Thorsten
_______________________________________________
mkgmap-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo/%(_internal_name)s

Reply via email to