OpenStreetMap 查询历史?
OpenStreetMap queries on history?
我想获取 OSM 数据库上的修改列表,在给定的边界框中,在两个给定日期之间并影响给定的一组标签。
有人知道怎么做吗?
任何命令行工具、Web 应用程序(例如 Overpass Turbo)或查询 API(例如 XAPI)?
我看到可以通过地图的位置和缩放级别获取地图的历史记录(示例:http://www.openstreetmap.org/history#map=16/45.9605/5.3391),但是这 return 组修改包含当前地图之外的修改).
我也看到了history browser浏览给定对象(节点、方式或关系)的历史记录。
Overpass' Attic 和 Delta 功能可能会对您有所帮助。它允许您查询历史数据。您可以使用这些附加过滤器扩展任何标准查询。
有一些关于该主题的文档http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Attic_data_.28.22date.22.29
我们找到的最佳解决方案是使用 Overpass-Turbo "diff" 功能。
这是 XML 脚本,我用它来获取给定边界框内道路在 2 个日期之间的变化:
<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;
我想获取 OSM 数据库上的修改列表,在给定的边界框中,在两个给定日期之间并影响给定的一组标签。
有人知道怎么做吗?
任何命令行工具、Web 应用程序(例如 Overpass Turbo)或查询 API(例如 XAPI)?
我看到可以通过地图的位置和缩放级别获取地图的历史记录(示例:http://www.openstreetmap.org/history#map=16/45.9605/5.3391),但是这 return 组修改包含当前地图之外的修改).
我也看到了history browser浏览给定对象(节点、方式或关系)的历史记录。
Overpass' Attic 和 Delta 功能可能会对您有所帮助。它允许您查询历史数据。您可以使用这些附加过滤器扩展任何标准查询。
有一些关于该主题的文档http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Attic_data_.28.22date.22.29
我们找到的最佳解决方案是使用 Overpass-Turbo "diff" 功能。
这是 XML 脚本,我用它来获取给定边界框内道路在 2 个日期之间的变化:
<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;