【问题标题】:Openstreetmap: filter out data that have been edited after some timestampOpenstreetmap:过滤掉在​​某个时间戳之后被编辑过的数据
【发布时间】:2014-07-21 03:17:26
【问题描述】:

我想在某个时间戳之后获取 OSM 数据——换句话说,就是某个时间戳之后的最后一条记录。我已经下载了该区域的osm文件。我浏览了渗透文档,但找不到按时间过滤的方法。结果应该与我们使用时间戳参数时相同。那么如何做到这一点:

  • 可以使用立交桥,但面积大,立交桥超时多次
  • 我可以使用 osmconvert-tool(参见手册:m.m.i24.cc/osmconvert.c)

以下一些语句可能对这项任务有用:

 "--timestamp=<date_time> add a timestamp to the data\n"
 "--timestamp=NOW-<seconds> add a timestamp in seconds before now\n"

我尝试过的是以下内容;

./osmfilter austria-latest.osm --keep="$key=$school" |
./osmconvert - --all-to-nodes --csv="@id @lat @lon @timestamp $key name" --csv-headline |

但这失败了。如何从 osm-pbf 文件中获取数据。我应该使用语句drop!还是我应该从时间戳到时间戳命名某个时间!?

【问题讨论】:

  • “但这失败了。”如何?除非你告诉我们你在浪费人们的时间。

标签: perl csv openstreetmap overpass-api


【解决方案1】:

自 0.7.50 版起,Overpass API 提供了一种查询数据的方法,这些数据自给定时间戳或在给定时间范围内发生了变化。甚至可以将更改分析限制在某些标签(或过滤条件)。有关“diff”和“adiff”关键字的更多详细信息,请查看 Overpass API Wiki 页面。

以某种方式使用 Overpass API 比尝试处理完整的行星历史记录要方便得多,这需要至少 35GB 的下载空间并且需要更复杂的后期处理。

【讨论】:

    【解决方案2】:

    您要处理 OSM 历史星球(摘录):https://wiki.openstreetmap.org/wiki/Planet.osm/full

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-15
      • 2021-07-09
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      相关资源
      最近更新 更多