OpenStreetMap查询历史记录?

时间:2015-01-19 17:12:35

标签: openstreetmap overpass-api

我想在两个给定日期之间的给定边界框中获取OSM数据库的修改列表,并影响给定的一组标记。

有谁知道怎么做?

任何命令行工具,Web应用程序(如Overpass Turbo)或查询API(如XAPI)?

我已经看到可以通过其位置和缩放级别获取地图的历史记录(例如:http://www.openstreetmap.org/history#map=16/45.9605/5.3391),但是这些修改包含当前地图之外的修改。

我还看到了history browser来浏览给定对象(节点,方式或关系)的历史记录。

2 个答案:

答案 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