给定一个正方形区域,找到给定区域内每个街道交叉口的近似坐标的最佳方法是什么?
问问题
5373 次
2 回答
6
由于没有对您的应用程序的描述,我无法判断您是否需要使用 Google 地图,或者其他数据源是否可以满足您的需求。如果http://openstreetmap.org满足您的应用程序的要求,那么很容易:
- OSM API 请求从矩形区域提取数据。您获得 XML 数据。
- 过滤此数据以仅保留您感兴趣的街道,可能是“key=highway”标签
- 过滤它以仅保留属于两条或多条线的点。
如果需要谷歌地图,请忽略这一点。
但仍然:由于道路独立于数据库而存在,上述方法将产生道路交叉点(在纬度/经度坐标中)与您从谷歌地图中获得的高度相关;-) 然后您可以使用这些点来显示他们在谷歌地图上,知道两个数据集并不相同,所以它不会是完美的。
于 2012-09-18T14:13:45.110 回答
0
可能不是最简单的方法,但我使用了我们国家道路及其线串的单独数据库。我取了每个线串的第一个和最后一个点,然后计算每个起点/终点 50 m 内的道路数量。然后,我从导航路线中获取节点,并使用这些节点来比较与每个节点相交的道路数量。然后,我查看了每个起点的方向以及沿该道路的下一个点,这为您提供了方向。通过一些数学运算,您可以计算出下一个十字路口的道路数量和角度。然后我做了一个道路规则应用程序,告诉你哪些车辆让路
于 2012-09-15T05:41:45.207 回答