philipbelesky / Caribou

Caribou is a Grasshopper plugin for parsing downloaded Open Street Map data into Rhino geometry. Caribou is currently in beta.
GNU Lesser General Public License v3.0
25 stars 3 forks source link

Add parsing of relation data types #4

Open philipbelesky opened 3 years ago

philipbelesky commented 3 years ago

For many geometries/entities in a map, the meta-data is attached to the relation grouping rather than to the nodes or ways. E.g. this map depicts a pier structure made up of two ways; however those ways are tag-less so they don't show up when parsed with the Ways Component.

The current parsers could relatively easily pickup these relations, but it is unclear how to handle their metadata outputs given the existing structure. At a minimum, they could work within the existing structure by just assigning all tags from the relation to the ways (in effect duplicating them).

That naïve option strips any relationship between the child-ways/nodes and is complicated by structures such as multipolygons. A more thorough rework would be to reconfigure the tree structure to add another level of depth for the relation. E.g. {query, relation, geometry|metadata} rather than just {query, geometry|metadata}.