Hi,
I am attempting to harvest buildings via overpass turbo. I want all buildings excluding buildings with relation
returns the parts and correctly excludes the building outline but unfortunately all other buildings. The second attempt;
includes the normal buildings, the asked 11 Feb '21, 16:16 arkriger |
Try this one:
It is probably not much efficient, so I think if it works, it does only for very small areas. Please notice:
answered 13 Feb '21, 15:01 MarcoR @InsertUser and @maxerickson I am going to accept @MarcoR 's answer as it does the necessary. The result is here. The data needs to be cleaned but its a strong foundation. It would not have been possible without you. Thank you.
(17 Feb '21, 19:56)
arkriger
|
The item with role 'outline' is a multipolygon relation. A different way to fetch the parts is to search on the
That may not work as well when searching a larger area though. My understanding is that objects should not usually have both (the answered 11 Feb '21, 22:32 maxerickson
(12 Feb '21, 02:51)
InsertUser
Thank you. How would I now add the other normal buildings excluding the outline around a number of building:part (in the same query)?
(12 Feb '21, 10:37)
arkriger
@InsertUser, the multipolygon is part of the building relation, with role 'outline'. I guess my other statement is not entirely clear. I'm not sure how to reliably exclude the parent buildings; it may work well enough to construct a set by recursing up from the If there are no relations, then something like
(12 Feb '21, 16:18)
maxerickson
@maxerickson I think I misread your opening sentence.
(12 Feb '21, 18:41)
InsertUser
|
I think building relations are fairly rare compared with simply marking the outline as
building=*
and the parts asbuilding:part=*
and letting the consumer figure out which parts belong to which building. TagInfo lists all building relations as having 194 487 members in total, whilebuilding:part
alone has 1 698 253 uses (which would excludeoutline
ways).Thank you. I understand building relations a bit clearer now.
How do I harvest building:part and normal building while excluding outlines when building:part exists? How would I do this in a single query?
Unfortunately, I'm not able to offer much constructive there. My first thought is to try to exclude the amalgamated
building:part
areas from the search area, but that doesn't actually sound very efficient to me as it involves lots of 'temp' geometry. While I have dabbled in overpass over the years, I have generally stuck to rather simple queries.