Hi Ticker,

Am 2026-07-07 13:10, schrieb Ticker Berkin via mkgmap-dev:
Hi Thorsten

I've got this running with latest/trunk mkgmap, up-to-date java system,
geotools-35.0 and land-polygons-complete-4326. I let it runs for 16 hours on my 16G machine and it went from 131072 to 122940 tiles remaining, generating 386 files in sea-latest. I had to kill it as my machine became unusable for other
work!

This sounds like most of or all of your java worker threads died (heap overflow?).

If this happens, then you will either see a heap overflow error somewhere in the output or a java core file in your working directory. If this happens, your java process will not die but continue to run.
Did you check the output for errors?

Thorsten

Assuming cd to recent mkgmap tree (say svn/trunk)

From http://sourceforge.net/projects/geotools/files download & unzip geotools-
35.0-bin.zip (assume into ..)

In lib/optional, delete or move aside:
 commons-pool-1.5.4.jar
 gt-api-2.7.5.jar
 gt-cql-2.7.5.jar
 gt-data-2.7.5.jar
 gt-main-2.7.5.jar
 gt-metadata-2.7.5.jar
 gt-opengis-2.7.5.jar
 gt-referencing-2.7.5.jar
 gt-shapefile-2.7.5.jar
 jsr-275-1.0-beta-2.jar
 jts-1.11.jar
 vecmath-1.3.2.jar

I was hoping to simply copy the following from geotools-35.0/lib into
lib/optional:
 commons-pool-1.5.4.jar  (a more recent build)
 gt-api-35.0.jar
 gt-cql-35.0.jar
 gt-main-35.0.jar
 gt-metadata-35.0.jar
 gt-referencing-35.0.jar
 gt-shapefile-35.0.jar
 jsr305-3.0.2.jar
 jts-core-1.20.0.jar

However gt-shapefile dynamically loads some other module(s) on invocation and I can't work out which out of the 250ish in geotools. Having a symbolic link
allows it to work, so it seems simpler to have all as such:

cd lib/optional
ln -s ../../../../geotools-35.0/lib/commons-pool-1.5.4.jar commons-pool.jar
ln -s ../../../../geotools-35.0/lib/gt-api-35.0.jar gt-api.jar
ln -s ../../../../geotools-35.0/lib/gt-cql-35.0.jar gt-cql.jar
ln -s ../../../../geotools-35.0/lib/gt-main-35.0.jar gt-main.jar
ln -s ../../../../geotools-35.0/lib/gt-metadata-35.0.jar gt-metadata.jar ln -s ../../../../geotools-35.0/lib/gt-referencing-35.0.jar gt-referencing.jar ln -s ../../../../geotools-35.0/lib/gt-shapefile-35.0.jar gt-shapefile.jar
ln -s ../../../../geotools-35.0/lib/jsr305-3.0.2.jar jsr.jar
ln -s ../../../../geotools-35.0/lib/jts-core-1.20.0.jar jts.jar

Note: only gt-api, gt-cql, gt-main, gt-referencing & jts-core are needed for compile, however gt-metadata & gt-shapefile and some .jar files in the same
directory as gt-shapefile are needed for running.

I've also included commons-pool and jsr - no sure if they make any difference.

cd ../..

Move the attached PrecompSeaGenerator.java into
src/uk/me/parabola/mkgmap/sea/optional/

ant clean
ant build (force to including optional components)

cd to your sea build dir, run something like following, adjusting paths/memory
required:
<<<
#! /bin/sh
set -x

mkgmap=../mkgmap/mkgmap.jar
libOptional=../svn/trunk/lib/optional
shapeDir=land-polygons-complete-4326
outDir=sea-latest
javaOpts="-Xmx15G -ea"

java ${javaOpts} -cp \
${mkgmap}:\
${libOptional}/splitter-412.jar:\
${libOptional}/commons-pool.jar:\
${libOptional}/gt-api.jar:\
${libOptional}/gt-cql.jar:\
${libOptional}/gt-main.jar:\
${libOptional}/gt-metadata.jar:\
${libOptional}/gt-referencing.jar:\
${libOptional}/gt-shapefile.jar:\
${libOptional}/jsr.jar:\
${libOptional}/jts.jar\
 uk.me.parabola.mkgmap.sea.optional.PrecompSeaGenerator\
 ${shapeDir}/land_polygons.shp\
 WGS84\
 ${outDir}

exit


I'd like to get rid of using old splitter-412.jar but the methods needed have moved elsewhere or gone and something else in "optional" uses other moved
methods

Good luck

Ticker

_______________________________________________
mkgmap-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo/%(_internal_name)s
_______________________________________________
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