'std::runtime_error' on execution in docker container
Hello. Today I tried your tool. I downloaded a .osm.pbf file from Geofabrik, built the docker-container on OS X and started it with
docker run -v /Users/xyz/:/srv -i -t --rm tilemaker --input=/srv/kosovo-latest.osm.pbf --output=/srv/kosovo.mbtiles
But it always fails with the following output, also for other input files:
Layer waterway (z11-14)
Layer transportation (z12-14)
Layer building (z14-14)
Layer poi (z13-14)
Reading /srv/kosovo-latest.osm.pbf
Block 199 group 0 ways 0 relations 625
Stored 1369240 nodes, 85756 ways, 8 relations
Zoom level 14, writing tile 3300 of 3354
Filled the tileset with good things at /srv/kosovo.mbtiles
terminate called after throwing an instance of 'std::runtime_error'
what(): disk I/O error
I tried the following on an Ubuntu VM:
docker run -v /Users/xyz/:/srv -i -t --rm tilemaker --input=/srv/liechtenstein-latest.osm.pbf --output=/srv/liechtenstein.mbtiles
The output is without the error.
Layer waterway (z11-14)
Layer transportation (z12-14)
Layer building (z14-14)
Layer poi (z13-14)
Reading /srv/liechtenstein-latest.osm.pbf
Block 42 group 0 ways 0 relations 560
Stored 262948 nodes, 21314 ways, 19 relations
Zoom level 14, writing tile 600 of 622
Filled the tileset with good things at /srv/liechtenstein.mbtiles
After that I tried to use the output files with the Leaflet plugin Leaflet.TileLayer.MBTiles.js
<!DOCTYPE html>
<html>
<head>
<link href="https://unpkg.com/[email protected]/dist/leaflet.css" rel="stylesheet" type="text/css" />
<script src="https://unpkg.com/[email protected]/dist/leaflet-src.js"></script>
<script src="https://unpkg.com/[email protected]/js/sql.js"></script>
<script src="../javascripts/Leaflet.TileLayer.MBTiles.js"></script>
<meta charset="utf-8">
<title>Leaflet.TileLayer.MBTiles demo</title>
<style>
#map {
width:1024px;
height:768px;
}
</style>
</head>
<body>
<div id='map'></div>
<script>
var map = new L.Map('map').fitWorld();
map.setView(new L.LatLng(47.14445, 9.508), 14); //Vaduz
var mb = L.tileLayer.mbTiles('../maps/liechtenstein.mbtiles', {
minZoom: 12,
maxZoom: 14
}).addTo(map);
mb.on('databaseloaded', function(ev) {
console.info('MBTiles DB loaded', ev);
});
mb.on('databaseerror', function(ev) {
console.info('MBTiles DB error', ev);
});
</script>
</body>
</html>
In the Browser console I get
MBTiles DB loaded {type: "databaseloaded", target: NewClass}
So it looks ok.
But I do not get a map image. Is it a bug? Are there some more requirements to fulfill? Is it the wrong leaflet plugin?
Best regards
Did you get an answer or found a solution yet?