3

The set relation["border_type"="suburb"] before recursing contains node members with role=admin_center, e.g.:

{
    "type": "relation",
    "id": 1234,
    "members": [
        {
            "type": "node",
            "ref": 1234,
            "role": "admin_centre"
        },
        {
            "type": "way",
            "ref": 1234,
            "role": "outer"
        },
        ...
    ],
    "tags": {
        "border_type": "suburb",
        "boundary": "administrative",
        "type": "boundary",
        ...
    }
}

How can I remove these, or rather, how can I modify the query so that only way members remain?

If I add way(r); as suggested in How to filter relation members in Overpass, I lose the relations.

My attempt at subtraction with (relation["border_type"="suburb"](area.searchArea); - node(r:"admin_centre");); does not eliminate the nodes in question either.

1 Answer 1

3

Filtering relation members by object type is currently not supported. However, you could suppress the location information for the node members, while still retaining the overall relation. This way, your query response only includes ids for relation node members, but nothing else.

[out:json];
rel(59065);
out;
way(r);
out body;
node(w);
out skel;

overpass turbo displays query results as follows:

enter image description here

1
  • This displays a number of node circles along the border for some reason.
    – shrx
    Nov 2, 2022 at 12:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.