Fra*_*čik 7 openstreetmap overpass-api
具有一定级别的行政边界关系,如何获得父级边界?
\n\n这适用于布拉迪斯拉发市部分 Petr\xc5\xbealka:\n http://overpass-turbo.eu/s/ewU
\n\n[out:csv(::id,::type,"name","admin_level")];\nrel(2208781);\n(._;<<;);\nout;\nRun Code Online (Sandbox Code Playgroud)\n\n结果是:
\n\n@id @type name admin_level\n14296 relation Slovensko 2\n388210 relation okres Bratislava V 8\n388265 relation Bratislavsk\xc3\xbd kraj 4\n1702499 relation Bratislava 6\n2208781 relation Petr\xc5\xbealka 9\nRun Code Online (Sandbox Code Playgroud)\n\n但它不适用于维也纳部分 Meidling\n http://overpass-turbo.eu/s/ex1
\n\n[out:csv(::id,::type,"name","admin_level")];\nrel(1990596);\n(._;<<;);\nout;\nRun Code Online (Sandbox Code Playgroud)\n\n结果
\n\n@id @type name admin_level\n1990596 relation Meidling 9\nRun Code Online (Sandbox Code Playgroud)\n\n显然,问题在于维也纳边界关系中没有定义子关系。有什么可靠的方法可以找到这些亲子关系吗?
\n它还不是完美的,因为我仍然不知道如何进行递归查询。
\n寻找附近的更高行政部门。(对于附近的城镇来说5公里似乎不错)
\n[out:csv(::id,::type,"name","admin_level")];\nrel(id:1990596);\nrelation["admin_level"~"8|7|6|5|4"](around:5000);\n(._;<<;);\nout;\nRun Code Online (Sandbox Code Playgroud)\n\n\nRun Code Online (Sandbox Code Playgroud)\n@id @type name admin_level\n16239 relation \xc3\x96sterreich 2\n77189 relation Nieder\xc3\xb6sterreich 4\n109166 relation Wien 4\n111858 relation Bezirk M\xc3\xb6dling 6\n111881 relation Gemeinde Hennersdorf 8\n111887 relation Gemeinde Breitenfurt bei Wien 8\n111946 relation Gemeinde Perchtoldsdorf 8\n111948 relation Brunn am Gebirge 8\n111956 relation Gemeinde V\xc3\xb6sendorf 8\n2668952 relation European Union / Union Europ\xc3\xa9enne / Europ\xc3\xa4ische Union \n12729625 relation Eurozone / Zone euro \n13376469 relation Member States of the European Union / \xc3\x89tats members de l\'Union europ\xc3\xa9enne / Mitgliedstaaten der Europ\xc3\xa4ischen Union\n
查找每个内部较低的管理人员以进行验证
\n[out:csv(::id,::type,"name","admin_level")];\narea["name"="Wien"]["admin_level"="4"]->.target_area;\nrelation["admin_level"~"9|8|7|6|5"](area.target_area);\n(._;<<;);\nout;\nRun Code Online (Sandbox Code Playgroud)\n\n\nRun Code Online (Sandbox Code Playgroud)\n@id @type name admin_level\n1990590 relation Alsergrund 9\n1990591 relation Hietzing 9\n1990592 relation Innere Stadt 9\n1990593 relation Josefstadt 9\n1990594 relation Leopoldstadt 9\n1990595 relation Mariahilf 9\n1990596 relation Meidling 9\n1990597 relation Neubau 9\n1990598 relation Penzing 9\n1990599 relation Rudolfsheim-F\xc3\xbcnfhaus 9\n1990600 relation W\xc3\xa4hring 9\n1991416 relation Landstra\xc3\x9fe 9\n1991433 relation Brigittenau 9\n1991434 relation Donaustadt 9\n1991435 relation D\xc3\xb6bling 9\n1991436 relation Favoriten 9\n1991437 relation Floridsdorf 9\n1991438 relation Hernals 9\n1991439 relation Liesing 9\n1991440 relation Margareten 9\n1991441 relation Ottakring 9\n1991442 relation Simmering 9\n1991443 relation Wieden 9\n3980995 relation Amtshaus f\xc3\xbcr den 16. Bezirk 9\n
最好的仍然是直接回馈并更新父关系。不需要太长时间,维基数据/维基百科已经公开了此类信息。或者至少提交一份关于 Meidling 的 OSM“注释”,以便有知识的人可以修复它。
\n使用 foreach,https://overpass-turbo.eu/s/1B5X
\n[out:csv(::id,::type,"name","admin_level")];\n\nrel(id:2208781)->.t;\n\nrel["admin_level"~"9|8|7|6|5|4|3|2"](around.t:5000)->.n;\n//.n out;\nforeach.n ->.e(\n .e map_to_area->.ea;\n rel(id:2208781)(area.ea)->.c;\n if (c.count(relations))\n {\n .e out;\n };\n);\nRun Code Online (Sandbox Code Playgroud)\n\n\nRun Code Online (Sandbox Code Playgroud)\n@id @type name admin_level\n14296 relation Slovensko 2\n388265 relation Bratislavsk\xc3\xbd kraj 4\n1702499 relation Bratislava 6\n14613937 relation Bratislavsk\xc3\xa1 arcidiec\xc3\xa9za 6\n388210 relation okres Bratislava V 8\n2208781 relation Petr\xc5\xbealka 9\n
其他城镇:https://overpass-turbo.eu/s/1B5Y
\n[out:csv(::id,::type,"name","admin_level")];\n\nrel(id:1990596)->.t;\n\nrel["admin_level"~"9|8|7|6|5|4|3|2"](around.t:5000)->.n;\n//.n out;\nforeach.n ->.e(\n .e map_to_area->.ea;\n rel(id:1990596)(area.ea)->.c;\n if (c.count(relations))\n {\n .e out;\n };\n);\nRun Code Online (Sandbox Code Playgroud)\n\n\nRun Code Online (Sandbox Code Playgroud)\n@id @type name admin_level\n16239 relation \xc3\x96sterreich 2\n109166 relation Wien 4\n