Comments (13)
From the readme:
To include sea tiles, create a directory called coastline in the same place you're running tilemaker from, and then save the files from https://osmdata.openstreetmap.de/download/water-polygons-split-4326.zip in it, such that tilemaker can find a file at coastline/water_polygons.shp.
The error you are getting shows that you don't have a file at the location where tilemaker is expecting to find it. Make sure that you don't have any extra levels of directory in there.
(Please use Github discussions, not issues, for help questions. Thank you :) )
from tilemaker.
Ah, you're using Docker. Sorry, I don't know how the filesystem works there, hopefully someone else will.
from tilemaker.
i saw that and i had created the folder as shown in the image and downloaded the data from https://osmdata.openstreetmap.de.
and done several trials by changing the location, rebuilding the docker image and extracting the file. It still shows the same error.
from tilemaker.
Run container without --rm option.
docker run -it --name=tilemaker -v $(pwd):/data ghcr.io/systemed/tilemaker:master /data/monaco-latest.osm.pbf /data/monaco-latest.mbtiles
Wait for the container to stop. Copy folders into container and restart the container:
docker cp landcover tilemaker:/usr/src/app/
docker cp coastline tilemaker:/usr/src/app/
docker start tilemaker
from tilemaker.
it still shows the same problem. after following the instructions i tried to run
docker run -v $(pwd):/data tilemaker /data/southern-zone-latest.osm.pbf /data/india.mbtiles
It also doesn't work
from tilemaker.
@daniel-j-h Could I trouble you for any thoughts on this?
from tilemaker.
I believe this has to do with absolute vs relative paths; in your config.json
can you check if you have relative paths such as
coastline/water_polygons.shp
andlandcover/ne_10m_urban_areas/ne_10m_urban_areas.shp
and turn them into absolute paths such as
/data/coastline/water_polygons.shp
and/data/landcover/ne_10m_urban_areas/ne_10m_urban_areas.shp
Then run it like
docker run -it --rm --pull always -v $(pwd):/data ghcr.io/systemed/tilemaker:master /data/monaco-latest.osm.pbf --output /data/monaco-latest.pmtiles --config /data/config-coastline.json --process /data/process-coastline.lua
I'm not sure where exactly tilemaker looks for those files otherwise - is it relative to the tilemaker binary by chance @systemed?
Two learnings here
- Should we have a script users can run to download this data, unzip it, put it in the right place; I have something like that already for my own experimentation and can upstream it if I have a bit more time throughout the week, and
- Should tilemaker get flags for coastline and landcover directories; I believe it's okay to have it in the config like this but maybe we need to put it into the documentation
from tilemaker.
I'm not sure where exactly tilemaker looks for those files otherwise - is it relative to the tilemaker binary by chance @systemed?
Everything is relative to the current working directory.
As far as tilemaker is concerned, coastline and landcover are just another datasource - there's no special handling. The config for a particular set of vector tiles might have both, or none, or lots more! So I don't think we'd want to add special handling for these paths.
Would something like a --base-dir
option, which specifies the root path for the source data, be helpful? That way you could invoke it with something like
tilemaker input.osm.pbf output.mbtiles --base-dir /data
and it would then look for /data/input.osm.pbf, /data/coastline/water_polygons.shp, etc. etc.
from tilemaker.
Not sure we need an extra option for tilemaker when you can change the paths in the config file and use both absolute and relative paths there. In addition there is a -w
option (docs) for docker to change the current workdir, so we can just pass -w /data
and make sure tilemaker sees the mounted data dir as the current working dir.
With relative paths in the configs and changing the workdir the command looks as follows
docker run -it --rm --pull always -v $(pwd):/data -w /data ghcr.io/systemed/tilemaker:master /data/monaco-latest.osm.pbf --output /data/monaco-latest.pmtiles --config /data/config-coastline.json --process /data/process-coastline.lua
from tilemaker.
it still shows the same problem. after following the instructions i tried to run
docker run -v $(pwd):/data tilemaker /data/southern-zone-latest.osm.pbf /data/india.mbtiles
It also doesn't work
"docker run" creates new container. In my instructions you shouldn't create new container. Just restart existing container. After docker restart tilemaker
run docker logs -f tilemaker
to see output
from tilemaker.
Updated instructions.
- Create container:
docker create -i -t --name=tilemaker -v $(pwd):/data ghcr.io/systemed/tilemaker:master /data/monaco-latest.osm.pbf /data/monaco-latest.mbtiles
- Copy folders into container:
docker cp landcover tilemaker:/usr/src/app/
docker cp coastline tilemaker:/usr/src/app/
- Start container
docker start tilemaker && docker logs -f tilemaker
from tilemaker.
I'm capturing learnings from here and #720 (comment) in
from tilemaker.
It works, Thank you for the support
from tilemaker.
Related Issues (20)
- Trying to install on Mac HOT 2
- Zoom level simplification HOT 1
- lua error: table is not a function HOT 1
- lua missing, ubuntu 23.04 HOT 1
- STL Vector assertion failed when running maptiles HOT 9
- Assertion failed: (has_wire_type(pbf_wire_type::varint) && "not a varint"), function get_sint64, file pbf_reader.hpp, line 570 HOT 2
- Invalid polygons after clipping at tile boundaries HOT 15
- terminate called after throwing an instance of 'std::out_of_range' HOT 1
- tilemaker-server terminated by signal SIGKILL (Forced quit) HOT 9
- build problems HOT 1
- Planet generation issues on hardware-constrained machine HOT 5
- Tilemaker does not support maritime boundaries HOT 2
- Huge file for simple map. HOT 1
- Roundabouts missing if the first node reference is the same as the last one HOT 2
- Making Tiles With Zoom 15 Removes Place Names HOT 4
- terminate called after throwing an instance of 'boost::interprocess::interprocess_exception'
- CI is broken
- Support writing MultiPoint into vector tiles HOT 1
- Possible issue with multipoint processing HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tilemaker.