-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support type=boundary in addition to type=multipolygon #284
Comments
Does tilemaker give any output the geometries are invalid ? And does it try to correct them ? |
Note: I overlooked a warning during the test with the shape file. The shape file geometries are processed as expected. Tilemaker failed to find the shape file and warned me. :-( The .mbtiles files can be found here:
The output is:
It claims that the two exclaves which were written to the output file have the wrong orientation. However, there is no good or bad orientation for closed ways in OSM. |
I digged a bit deeper w.r.t. to this issue. Invalid geometries or geometry issues in general are not the problem. However, Tilemaker does not build polygon geometries for relations with Therefore, building their polygon geometries during loading of the OSM input file would solve this issue. If there are doubts about performance (some boundaries are huge and complex), a new Lua callback function can make it possible to select which relations to build polygons from. |
Yep. The current approach (v2.1 onwards) taken by the OMT-compatible schema is that tilemaker notes which ways are members of boundary relations ( With your own schema, you could follow this approach. Alternatively, rather than writing each member way into the boundary layer, you could use https://github.com/systemed/tilemaker/blob/master/docs/RELATIONS.md explains how this works. In the example given, |
EDIT: See my comment below. It's not about broken geometries but Tilemaker not using boundary relations to build polygon geometries.
I observed that large administrative polygons are missing from the output. For a tileset of the whole world, most countries miss from zoom level 0 to 2. Only small exclaves (islands on sea) are in the output. This is independent from using the raw .osm.pbf as input for boundaries or a shape file of simplified polygons.
Here is a test case:
Tilemaker is called this way:
tilemaker --bbox -180,-85,180,85 --input germany.osm.pbf --output polygon-test.mbtiles --config config-polygon-test-shapefile.json --process process-polygon-test.lua --verbose
(using the bbox branch)The following tiles are produced:
On zoom level 6, only two polygons are in the file: the exclave "Tiefwasserreede" (OSM way 177629938) and another exclave along the German-Belgian border (OSM way 24718735). Exclaves which are no closed rings do not appear in the output file (e.g. Büsingen).
Configuration for test based on .osm.pbf file:
Configuration for test based on shape file:
Lua processing file:
The text was updated successfully, but these errors were encountered: