评估 OpenStreetMap 的国际路线
我一直在使用商业解决方案来计算北美和西欧/中欧的路线距离和旅行时间。我正在考虑扩大该项目以覆盖其他国家——也许是整个世界。非常有限的预算和各个商业提供商的区域覆盖不完整,可能使本地托管的 OpenStreetMap 成为唯一可行的选择。在有人建议在线解决方案之前,我的应用程序需要进行大量密集的路由计算 - 如果使用网络服务执行,这将花费大量成本或非常不礼貌(并且可能被禁止)。计算结果放回公共领域,因此重新编辑 OpenStreetMaps 不是问题。
我的问题是如何评估 OpenStreetMap 数据库中各个国家/地区的路线数据覆盖范围?这样的评估可以确定项目是否可行,以及合适的处理顺序(即首先处理覆盖范围最好的国家)。
高端商业数据提供商通常可以提供统计描述以及调查范围的区域描述。 OpenStreetMap 的情况要复杂得多 - 一个区域通常包括一些道路,但不是所有道路。对于我的应用程序来说,几米甚至 10-20m 的个别位置误差不会成为问题(我正在考虑城市与城市的距离),但路线图连接性却是问题。 IE。道路向量必须在逻辑上正确地交汇于交叉点。
有人尝试创建描述 OpenStreetMap 数据库数据覆盖范围的统计数据吗?
如果没有,你会怎么做?
我能想到的最好的方法是对地点(例如城市)进行随机抽样,然后尝试计算路线。必须假设主要道路往往会在次要道路之前添加。因此,两个遥远城市之间的路线将使用逻辑主要道路,而不是次要道路(通常更长/更慢),因为缺少主要道路。
另一个问题是,在许多城镇之间开车是不可能的。这通常是由于岛屿的存在(可以使用渡轮),但通常没有地面路线(例如努勒维特的定居点)。那么,在汤加和阿富汗之间进行比较时,如何使用这些统计数据呢?阿富汗的数据覆盖率可能非常低。汤加可能更好,但定居点分布在整个群岛上。
有关我的应用程序的一些详细信息:所有起点和终点都是城镇和城市,其位置取自 Geonames 数据库。通常,我会查看一个国家/地区人口至少为 1000 人的 1000 个最大城市。目前,路线会重复计算为最快路线和最短路线。合理的道路速度根据主要道路类别而有所不同。预计行驶时间是根据道路距离计算的。这些细节是对一致性的偏好——它们并不是一成不变的。
I have been using a commercial solution for route distances and travel times for North America and Western/Mid Europe. I am considering expanding the project to cover other countries - and perhaps the entire world. A very limited budget and patchy regional coverage from individual commercial providers, probably make locally-hosted OpenStreetMap the only viable option. Before someone suggests an online solution, my application requires a lot of intensive route calculation - something which would cost a lot or be very impolite (and probably banned) if performed using a web service. The results of the calculations are put back in the public domain, so rediting OpenStreetMaps is not a problem.
My problem is how do I assess the routing data coverage for individual countries in the OpenStreetMap database? Such an assessment could determine if the project is viable, and a suitable order for processing (ie. do the countries with the best coverage first).
High-end commercial data providers can typically supply statistical descriptions, as well as regional descriptions of surveyed coverage. OpenStreetMap is much more patchy - an area typically includes some roads, but not all roads. Individual location errors of a few metres of even 10-20m will not be a problem for my application (I'm looking at city-city distances), but route graph connectivity is. Ie. the road vectors must logically meet correctly at a junction.
Has anyone attempted to create statistics describing data coverage of the OpenStreetMap database?
If not, how would you go about it?
The best I can think of is to take a random sampling of places (eg. cities), and then attempt to calculate routes. There would have to be an assumption that the major roads will tend to be added before the minor roads. Therefore a route between two distant cities would use the logical major road, and not a minor road (which is typically longer/slower) because the major road is missing.
Another problem would be that it is physically not possible to drive between many towns. Often this is due to the presence of islands (where ferries could be used) but often there is no surface route (eg. settlements in Nunavut). So how would such statistics be used when comparing between (say) Tonga and Afghanistan. Afganistan probably has very low data coverage. Tonga is probably better but the settlements are spread out across an archipelago.
Some details about my application: All start and end points are towns and cities with locations taken from the Geonames database. Typically I am looking at the 1000 largest cities in a country that also have a population of at least 1000. Routes are currently calculated in duplicate as both fastest routes and shortest routes. Reasonable road speeds vary according to broad road categories. Estimated travel times are computed alongside road distances. These details are preferences for consistency- they are not set in stone.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能会在 https://gis.stackexchange.com/questions 上获得更多答案
You will probably get a better range of answers over at https://gis.stackexchange.com/questions
有许多举措来描述 OpenStreetMap 的质量,但它们都仅限于特定区域。 Muki Haklay 对 OpenStreetMap 的数据质量进行了广泛的研究。许多定量结果都与英国有关。如果您想总体了解 OpenStreetMap 的质量,他的博客是一个主要资源 - 这是一个不仅仅是数据完整性。 以下是他对英国 OpenStreetMap 完整性的评估。 针对德国进行了类似研究 (PDF)最近。
问题是,为了衡量完整性,您需要一个准确的参考数据集来衡量。您可以使用 TeleAtlas 或 NAVTEQ 数据,但这些数据价格昂贵,而且这些公司不会轻易出于研究目的提供数据。政府数据也可能是合适的,但并不总是可用,或者像美国的情况一样,完全过时且不准确。事实上,OpenStreetMap 大量导入了 TIGER 数据集,从而推动了美国地图绘制工作它从来就不是用于路由/导航的,而且拓扑结构混乱。志愿者正在努力工作来改进这些数据,但进展缓慢。
如果您想自己尝试生成定量质量指标,最好与 OpenStreetMap 社区合作,了解数据模型并了解它如何适合您想要做的事情。什么是“路由数据”?显然,道路和渡轮路线本身。转弯限制?最大速度?道路质量?成绩? OpenStreetMap 帮助论坛可能是一个不错的起点。我的猜测是,在预算有限的情况下,您将需要做出很多假设才能实现全球覆盖。
华泰
There's a number of initiatives to describe quality of OpenStreetMap, but they're all confined to a specific area. Muki Haklay has done extensive research into data quality of OpenStreetMap. Many quantitative results pertain to the UK. His blog is a prime resource if you're looking to learn about the quality of OpenStreetMap in general - which is a lot more than just data completeness. Here's his assessment of completeness of OpenStreetMap in the UK. A comparable study has been done for Germany (PDF) recently.
The thing is, to measure completeness, you need an accurate reference dataset to measure against. You could take TeleAtlas or NAVTEQ data for that, but that's expensive data and these companies don't give out their data for research purposes readily. Government data may also be suitable, but is not always available or, as is the case for the US for example, hopelessly outdated and inaccurate. In fact, OpenStreetMap jumpstarted the US mapping effort with a huge import from TIGER, a dataset which was never intended for routing / navigation and is a topology mess. Volunteers are working hard to improve that data, but it's slow progress.
If you want to give generating quantitative quality metrics a go yourself, your best bet engage with the OpenStreetMap community to learn about the data model and see how it fits with what you're trying to do. What constitutes 'routing data'? The roads and ferry routes themselves, obviously. Turn restrictions? Maximum speeds? Road quality? Grades? The OpenStreetMap help forum would probably be a good place to start. My guess is that with a limited budget, you will need to make a lot of assumptions to attain worldwide coverage.
HTH
有一个很好的项目专门关注 OpenStreetMap 的连接性 - 有关详细信息,请参阅这些 有关 OSM 连接的博客文章。他们正在生成有关“路由岛”和重复路径数量的统计数据。
此链接在地图可视化上显示岛屿/重复项等。
There's a nice project looking specifically at the connectivity of OpenStreetMap - for details please see these blog articles about OSM connectivity. They're producing statistics about the number of "routing islands" and duplicate-ways.
And this link shows islands/duplicates etc on a map visualisation.