我从OpenStreetMap中提取了一些国家公园。但现在我想知道入口在哪里。OpenStreetMap有一些标签,但并不经常使用。
所以我想:国家公园的入口是一条穿过公园边界的路。一定是真的:你要去公园。我能想到的唯一缺点是,这可能是一条供员工或其他人使用的私人道路,但比例应该很小。
algorithm - OpenStreetMap:获取公园中的所有入口-LMLPHP
那么,找到这些要点的最佳方法是什么?
我猜:我知道公园的边界所以我可以下载公园里所有的路然后我可以用“Ray casting algorithm”表示公园里所有道路的所有路段,看它是否越过边界。如果是的话:那是一条通往公园的路。
然而,这可能非常缓慢。如果你有一个很大的公园,里面有很多道路,检查所有路段可能需要很长时间。
有更聪明的方法吗?

最佳答案

您可以使用跨线桥turbo完成此任务:以下解决方案将确定与国家公园关系边界相交的所有道路。
试试跨线桥涡轮http://overpass-turbo.eu/s/aSN
只需导航到你感兴趣的区域并点击“Run”。
以下是此查询的工作原理的简要说明:

// restrict search to current bounding box
[bbox:{{bbox}}];
// get all relations with tag boundary = national_park
rel[boundary=national_park];
// get all ways in this relation and store it in inputset boundaryways
way(r)->.boundaryways;
// now get all highway ways, which intersect our ways in boundaryways
way[highway](around.boundaryways:0);
// exclude ways with tag highway=* which are part of the boundary relation
(._; - way.boundaryways[highway];);
// print result
out geom;

关于algorithm - OpenStreetMap:获取公园中的所有入口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31909933/

10-09 01:40