mapsme / omim

🗺️ MAPS.ME — Offline OpenStreetMap maps for iOS and Android
Apache License 2.0
4.57k stars 1.15k forks source link

WorldCoasts.geom #11994

Open dew54 opened 4 years ago

dew54 commented 4 years ago

Hello every one, i'm trying to generate maps with map generator tool, but the problem is that i don't know where to find the WorldCoasts.geom file, needed if i would like to render coastlines and sea. Where can i find that file? I've found that Issue: https://github.com/mapsme/omim/issues/8564 I've tried the link that @Zverik passed to the guy but it's no more active. Please i've digged the web for days! Thanks a lot, Davide

maksimandrianov commented 4 years ago

Hello, which maps do you want to generate? Can you send config and command with the options you run? I suppose there was broken coastlines in your osm.pbf and maps_generator could not generate WorldCoasts.geom.

dew54 commented 4 years ago

Hello, the osm.pbf is the original one from geofabrik.de. Are you telling me that maps_generator should get the worldcoast.geom from the osm.pbf by itself? the maps_generator.ini file i'm using is that: ` [Main] MAIN_OUT_PATH: /maps_build DEBUG: 0

[Developer] BUILD_PATH: /home/ubuntu/omim-build-release OMIM_PATH: /home/ubuntu/omim

[Generator tool] USER_RESOURCE_PATH: ${Developer:OMIM_PATH}/data auto detection NODE_STORAGE: map

[Osm tools] OSM_TOOLS_SRC_PATH: ${Developer:OMIM_PATH}/tools/osmctools OSM_TOOLS_PATH: /home/ubuntu/osmctools

[Logging] LOG_FILE_PATH: generation.log

[External] PLANET_URL: file:///var/www/osm/OSM_official/nord-est-latest.osm.pbf PLANET_MD5_URL: PLANET_COASTS_URL: SUBWAY_URL: file:///home/ubuntu/maps.me/JSON/latest.json

[Stats] STATS_TYPES_CONFIG: ${Developer:OMIM_PATH}/tools/python/maps_generator/var/etc/stats_types_config.txt

And i run the following command: python3.6 -m maps_generator --countries="Italy_Basilicata" `

And i get the following error: `[2019-10-30 18:16:30,679] INFO maps_generator Build costs failed. Try to download the costs... [2019-10-30 18:16:30,679] INFO file Trying to download /maps_build/2019_10_30__18_16_01/intermediate_data/coasts/WorldCoasts.geom from latest_coasts.geom. [2019-10-30 18:16:30,679] ERROR env Uncaught exception: unknown url type: 'latest_coasts.geom' Traceback (most recent call last): File "/home/ubuntu/omim/tools/python/maps_generator/maps_generator.py", line 102, in stage_coastline coastline.make_coastline(env) File "/home/ubuntu/omim/tools/python/maps_generator/generator/coastline.py", line 41, in make_coastline fail_on_coasts=True) File "/home/ubuntu/omim/tools/python/maps_generator/generator/gen_tool.py", line 147, in run_gen_tool GenTool(*args, **kwargs).run() File "/home/ubuntu/omim/tools/python/maps_generator/generator/gen_tool.py", line 125, in run wait_and_raise_if_fail(self) File "/home/ubuntu/omim/tools/python/maps_generator/generator/exceptions.py", line 34, in wait_and_raise_if_fail raise BadExitStatusError(f"The launch of {' '.join(p.args)} failed.") maps_generator.generator.exceptions.BadExitStatusError: The launch of /home/ubuntu/omim-build-release/generator_tool --intermediate_data_path=/maps_build/2019_10_3018_16_01/intermediate_data/coasts --osm_file_type=o5m --osm_file_name=/maps_build/2019_10_3018_16_01/intermediate_data/coasts/coastline.o5m --node_storage=map --user_resource_path=/home/ubuntu/omim/data --make_coasts=true --fail_on_coasts=true failed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/usr/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/ubuntu/omim/tools/python/maps_generator/main.py", line 246, in main() File "/home/ubuntu/omim/tools/python/maps_generator/main.py", line 242, in main generate_maps(env) File "/home/ubuntu/omim/tools/python/maps_generator/maps_generator.py", line 392, in generate_maps stage_coastline(env) File "/home/ubuntu/omim/tools/python/maps_generator/generator/decorators.py", line 36, in wrap func(env, *args, **kwargs) File "/home/ubuntu/omim/tools/python/maps_generator/maps_generator.py", line 109, in stage_coastline os.path.join(env.coastline_path, coasts_rawgeom) File "/home/ubuntu/omim/tools/python/maps_generator/maps_generator.py", line 36, in download_external download_file(k, v) File "/home/ubuntu/omim/tools/python/maps_generator/utils/file.py", line 34, in download_file urllib.request.urlretrieve(url, name) File "/usr/lib/python3.6/urllib/request.py", line 248, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "/usr/lib/python3.6/urllib/request.py", line 223, in urlopen return opener.open(url, data, timeout) File "/usr/lib/python3.6/urllib/request.py", line 511, in open req = Request(fullurl, data) File "/usr/lib/python3.6/urllib/request.py", line 329, in init self.full_url = url File "/usr/lib/python3.6/urllib/request.py", line 355, in full_url self._parse() File "/usr/lib/python3.6/urllib/request.py", line 384, in _parse raise ValueError("unknown url type: %r" % self.full_url) ValueError: unknown url type: 'latest_coasts.geom'` ==> looking for this.

maksimandrianov commented 4 years ago

You can generate maps without coastlines:

python3.6 -m maps_generator --countries="Italy_Basilicata" --skip="coastlines"

or with coaslines:

You can generate coastlines from planet.osm.pbf:

# PLANET_URL: file:///var/www/osm/OSM_official/nord-est-latest.osm.pbf
# PLANET_MD5_URL:

and

python3.6 -m maps_generator --coasts

then you may save to /path/to/coasts WorldCoasts.geom as latest_coasts.geom and WorldCoasts.rawgeom latest_coasts.rawgeom

[External]
PLANET_URL: file:///var/www/osm/OSM_official/nord-est-latest.osm.pbf
PLANET_MD5_URL:
PLANET_COASTS_URL: file:///path/to/coasts 
SUBWAY_URL: file:///home/ubuntu/maps.me/JSON/latest.json

and run:

python3.6 -m maps_generator --countries="Italy_Basilicata"
dew54 commented 4 years ago

Hello @maksimandrianov , thanks for your reply i tried to run: python3.6 -m maps_generator --coasts but in the end it fails, asserting that i'm omitting the/path/to/latest_coasts.geom Please, any suggestion?

FabianInostroza commented 4 years ago

I have the same problem as @dew54, did you solve it?

I can generate maps without coastlines just fine.

FabianInostroza commented 4 years ago

@dew54 Here are the files I was able to generate: https://drive.google.com/file/d/1ZqHbGbkmpxwDjZPrwb33c5YeILCK_NRr/view?usp=sharing

To generate the coasts you need to use the whole planet file (>40GB) and it took about 10 hour to finish.

devdan commented 4 years ago

What happens if you generate the maps without coast files? Will they still be usable? Aren't the coast lines part of the world map?

@FabianInostroza How did you find out that you need the whole planet file to generate the coasts? Just tried?

FabianInostroza commented 4 years ago

@devdan You can generate the maps without the coast lines and it is usable. The only difference I noticed is that without using coastlines the sea isn't blue.

I found that I needed the whole planet by trial and error, first I tried using the data for south america and didn't work, then tried using data for the whole continent (north, central and south america) and also didn't work, finally downloaded the whole planet it worked. I don't remember the error that was generated when not using whole planet.

devdan commented 4 years ago

@FabianInostroza Thanks a lot for your clarification and for providing the coast files!

Tobey16 commented 10 months ago

@dew54 Here are the files I was able to generate: https://drive.google.com/file/d/1ZqHbGbkmpxwDjZPrwb33c5YeILCK_NRr/view?usp=sharing

To generate the coasts you need to use the whole planet file (>40GB) and it took about 10 hour to finish.

Hi Fabian,

the link is not working anymore. Could you reupload the coast files?

Cheers, Tobias