我想在两个给定日期之间的给定边界框中获取OSM数据库的修改列表,并影响给定的一组标记。
有谁知道怎么做?
任何命令行工具,Web应用程序(如Overpass Turbo)或查询API(如XAPI)?
我已经看到可以通过其位置和缩放级别获取地图的历史记录(例如:http://www.openstreetmap.org/history#map=16/45.9605/5.3391),但是这些修改包含当前地图之外的修改。
我还看到了history browser来浏览给定对象(节点,方式或关系)的历史记录。
答案 0 :(得分:4)
我们发现的最佳解决方案是使用Overpass-Turbo“diff”功能。
这是我用来在两个日期之间的给定边界框中的道路上进行更改的XML脚本:
<osm-script date="2014-09-21T15:00:00Z" from="2012-09-14T15:00:00Z">
<union>
<query type="way">
<has-kv k="highway"/>
<bbox-query {{bbox}}/>
</query>
</union>
<print mode="body"/>
<recurse type="down"/>
<print mode="skeleton" order="quadtile"/>
</osm-script>
以下是Overpass QL中的等价物:
[diff:"2012-09-14T15:00:00Z","2014-09-21T15:00:00Z"];
(
way["highway"]({{bbox}});
);
out body;
>;
out skel qt;
答案 1 :(得分:0)
立交桥&#39; Attic 和 Delta 功能可能会对您有所帮助。它允许您查询历史数据。您可以使用这些附加过滤器扩展任何标准查询。
有关于该主题的一些文档http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Attic_data_.28.22date.22.29