tilemaker icon indicating copy to clipboard operation
tilemaker copied to clipboard

feat: export and render building:part

Open c84c opened this issue 1 year ago • 5 comments

First of all, thanks for this great project!

With this PR, I add the ability to export and render building:part relations (thanks to Multipolygon relations are supported natively by tilemaker).

For the 3D building render style, credits to @tgdbepe4 and his great style!

Resolve #458.

The result is shown below for 2 monuments in Rome (Italy).

Building Before PR After PR
"name:it": "Castel Sant'Angelo" CastelSantAngelo_before CastelSantAngelo_after
"name:it": "Piazza San Pietro" PiazzaSanPietro_before PiazzaSanPietro_after

c84c avatar Mar 01 '24 00:03 c84c

I change formatting minimizing code changes

c84c avatar Mar 01 '24 12:03 c84c

OpenMapTiles says it just uses building=*, but later on goes to talk about the height of the building or building:part. I assume it's contradicting itself and in practice and the most common implementation includes building:part?

pnorman avatar Mar 04 '24 15:03 pnorman

Exploring implementation they use also building:part to insert buildings in mbtiles.

c84c avatar Mar 04 '24 16:03 c84c

Thanks a lot for your work @c84c ! Taken as-is, it's going to bring some nice 3D buildings to cartes.app.

https://codeberg.org/cartes/web/issues/1118#issuecomment-7143739

https://bsky.app/profile/did:plc:eypg6v3q62jkpoxbgicirvjs/post/3lyo5qe7shs2v

laem avatar Sep 12 '25 21:09 laem

Hi Thanks for the work !

cartes.app users noticed an issue with this PR. It is discussed here in French.

It is coming from this recommandation in the wiki:

Where a building has been split into parts, a building outline has still to be drawn of the whole building way and should have the tags building:levels=* and height=*. These values should be the maximum of all the building parts.

Therefore the building outline way/90195611 "hide" the building:part(s) because it is higher.

https://pmtiles.io/#url=https%3A%2F%2Fserveur.cartes.app%2Fpmtiles%2Fplanet.pmtiles&map=17.81/48.71687/2.191008 image

https://cartes.app/?allez=H%C3%B4pital+Paris+Saclay%7Cw1291813385%7C2.1915%7C48.7172#17.33/48.717586/2.190552/-59.2/75 image

The model in OSM is fine : https://beakerboy.github.io/OSMBuilding/?id=901956113 image

@c84c How can we modify the code to identify the building outline and set its height at 0 ? (we don't want to remove it since tags are on it)

etienneJr avatar Sep 29 '25 12:09 etienneJr