如何通过 OverPass API 获取父级管理边界

问题描述 投票:0回答:1

具有一定级别的行政边界关系,如何获得父级别边界的最佳方式?

这适用于布拉迪斯拉发市 Petržalka 部分: http://overpass-turbo.eu/s/ewU

[out:csv(::id,::type,"name","admin_level")];
rel(2208781);
(._;<<;);
out;

结果是:

@id     @type       name                    admin_level
14296   relation    Slovensko               2
388210  relation    okres Bratislava V      8
388265  relation    Bratislavský kraj       4
1702499 relation    Bratislava              6
2208781 relation    Petržalka               9

但它不适用于维也纳部分 Meidling http://overpass-turbo.eu/s/ex1

[out:csv(::id,::type,"name","admin_level")];
rel(1990596);
(._;<<;);
out;

结果

@id     @type       name        admin_level
1990596 relation    Meidling    9

显然,问题在于维也纳边界关系中没有定义子关系。有什么靠谱的办法可以找到这些亲子关系吗?

openstreetmap overpass-api
1个回答
0
投票

再次搜索附近然后向下

它还不是完美的,因为我仍然不知道如何进行递归查询。

  1. 搜索附近的更高行政部门。 (对于附近的城镇来说5公里似乎不错)

    [out:csv(::id,::type,"name","admin_level")];
    rel(id:1990596);
    relation["admin_level"~"8|7|6|5|4"](around:5000);
    (._;<<;);
    out;
    
    @id   @type   name    admin_level
    16239 relation    Österreich  2
    77189 relation    Niederösterreich    4
    109166    relation    Wien    4
    111858    relation    Bezirk Mödling  6
    111881    relation    Gemeinde Hennersdorf    8
    111887    relation    Gemeinde Breitenfurt bei Wien   8
    111946    relation    Gemeinde Perchtoldsdorf 8
    111948    relation    Brunn am Gebirge    8
    111956    relation    Gemeinde Vösendorf  8
    2668952   relation    European Union / Union Européenne / Europäische Union   
    12729625  relation    Eurozone / Zone euro    
    13376469  relation    Member States of the European Union / États members de l'Union européenne / Mitgliedstaaten der Europäischen Union
    
  2. 寻找每个内部的下级行政人员进行验证

    [out:csv(::id,::type,"name","admin_level")];
    area["name"="Wien"]["admin_level"="4"]->.target_area;
    relation["admin_level"~"9|8|7|6|5"](area.target_area);
    (._;<<;);
    out;
    
    @id   @type   name    admin_level
    1990590   relation    Alsergrund  9
    1990591   relation    Hietzing    9
    1990592   relation    Innere Stadt    9
    1990593   relation    Josefstadt  9
    1990594   relation    Leopoldstadt    9
    1990595   relation    Mariahilf   9
    1990596   relation    Meidling    9
    1990597   relation    Neubau  9
    1990598   relation    Penzing 9
    1990599   relation    Rudolfsheim-Fünfhaus    9
    1990600   relation    Währing 9
    1991416   relation    Landstraße  9
    1991433   relation    Brigittenau 9
    1991434   relation    Donaustadt  9
    1991435   relation    Döbling 9
    1991436   relation    Favoriten   9
    1991437   relation    Floridsdorf 9
    1991438   relation    Hernals 9
    1991439   relation    Liesing 9
    1991440   relation    Margareten  9
    1991441   relation    Ottakring   9
    1991442   relation    Simmering   9
    1991443   relation    Wieden  9
    3980995   relation    Amtshaus für den 16. Bezirk 9
    

长期解决方案

最好的仍然是直接回馈并更新父关系。不需要太长时间,维基数据/维基百科已经公开了此类信息。或者至少在 Meidling 上提交 OSM“注释”,以便有知识的人可以修复它。

© www.soinside.com 2019 - 2024. All rights reserved.