Cesium3DTileStyle not working with OSM buildings

I followed the cesiumjs interactive building guide. However for step 5, hide individual buildings does not always work.

Checking OSM, the problem ones are all digitized as building:part=yes as apposed to building=yes which do hide.

Bonus question: If talking about hundreds of elementId would it be better to use an intersect function with a footprint polygon layer instead of a list?

Hi @JustAddWater,

Thanks for your post. For the elements you identified with building:part=yes, it appears they have a part#elementID attribute instead of the elementID attribute.

You can specify hiding them with a statement like this instead ['${feature["part#elementId"]} === 587844021', false]

As for your bonus question. I think the intent of this example was to demonstrate how to style parts of 3DTilesets by attributes. If you were trying to remove all parts of a 3DTileset in a larger area, the approach you suggested would be a good one.

Please let us know if you have further questions.

Thanks,
Luke