评估“扭曲度”的技术Google 地图中的道路?
正如标题所示。我想,给定一个谷歌地图 URL,根据道路的风速生成一个曲折度评级。有什么我可以研究的技术吗?
我所说的扭曲是什么意思?嗯,我不太确定。我认为它的特点是高匝距比,以及高每匝角度变化数。我还想说,道路的海拔变化也会影响到它。
As per the title. I want to, given a Google maps URL, generate a twistiness rating based on how windy the roads are. Are there any techniques available I can look into?
What do I mean by twistiness? Well I'm not sure exactly. I suppose it's characterized by a high turn -to-distance ratio, as well as high angle-change-per-turn number. I'd also say that elevation change of a road comes in to it as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为,一旦您确切地知道想要测量什么,实施起来就非常简单了。
我可以想到几种测量方法:
这两个可以通过乘法组合起来,这样你就会得到:
你可以看到这可以缩短到“每个起点-终点距离的拐点”,对我来说,这似乎是“扭曲”的一个很好的指标。
至于考虑高程,我认为第一次尝试时在三个维度上进行整个计算就足够了。
不过,您可能希望将左右变形与上下变形分开处理,以便可以按某个因子缩放海拔变形。
I think that once you know exactly what you want to measure, the implementation is quite straightforward.
I can think of several measurements:
These two could be combined by multiplication, so that you would have:
You can see that this can be shortened to "inflection-points per start-end-distance", which does seem like a good indicator for "twistiness" to me.
As for taking elevation into account, I think that making the whole calculation in three dimensions is enough for a first attempt.
You might want to handle left-right inflections separately from up-down inflections, though, in order to make it possible to scale the elevation inflections by some factor.
尝试http://www.hardingconsultants.co.nz/transportationconference2007/images/Presentations/Technical%20Conference/L1%20Megan%20Fowler%20Canterbury%20University.pdf 作为起点。
我假设你必须以某种方式从谷歌地图捕获道路中心线作为矢量化数据集和数据集。使用 GIS 软件进行分析以执行您所描述的操作。也许先进行屏幕抓取,然后进行光栅到矢量的转换。
每公里累积转弯角度是道路评估中常用的衡量标准。顶点密度也很有用。请注意,这些措施取决于这样的假设:在捕获顶点时,顶点已沿线长度以某种形式的相等密度放置,而不是手动放置。在线运行 GIS 工具(例如“bendsimplify”算法)应该可以解决此问题。如果有人需要的话,我已经用 Python 为 ArcGIS 10 编写了脚本来定义这些措施。
蜿蜒度有时用于测量河流的弯曲度 - 有关详细说明,请参阅 Hawths Tools for ArcGIS 的帮助页面。对于有主要道路的道路来说,这可能会产生误导
不过,它们的航向会发生变化。
Try http://www.hardingconsultants.co.nz/transportationconference2007/images/Presentations/Technical%20Conference/L1%20Megan%20Fowler%20Canterbury%20University.pdf as a starting point.
I'd assume that you'd have to somehow capture the road centreline from Google Maps as a vectorised dataset & analyse using GIS software to do what you describe. Maybe do a screen grab then a raster-to-vector conversion to start with.
Cumulative turn angle per Km is a commonly-used measure in road assessment. Vertex density is also useful. Note that these measures depend upon an assumption that vertices have been placed at some form of equal density along the line length whilst they were captured, rather than being manually placed. Running a GIS tool such as a "bendsimplify" algorithm on the line should solve this. I have written scripts in Python for ArcGIS 10 to define these measures if anyone wants them.
Sinuosity is sometimes used for measuring bends in rivers - see the help pages for Hawths Tools for ArcGIS for a good description. It could be misleading for roads that have major
changes in course along their length though.