Openstreetmap: отфильтровывать данные, которые были отредактированы после некоторой временной метки

#perl #csv #openstreetmap #overpass-api

#perl #csv #openstreetmap #overpass-api

Вопрос:

Я хочу получить данные OSM через некоторую временную метку — другими словами, последние записи после определенной временной метки. Я загрузил osm-файл области. Я просмотрел документацию osmosis, но не смог найти способ отфильтровать ее по времени. Результат должен быть таким же, как при использовании параметра timestamp-аргумент. Ну и как это сделать:

  • Я мог бы использовать overpass, но область большая, и время ожидания overpass истекало много раз
  • Я мог бы использовать osmconvert-tool (см. руководство: m.m.i24.cc/osmconvert.c )

Некоторые из следующих инструкций могут быть полезны для этой задачи:

  "--timestamp=<date_time> add a timestamp to the datan"
 "--timestamp=NOW-<seconds> add a timestamp in seconds before nown"
  

Что я пробовал, так это следующее;

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

но это не удается. Как извлечь данные из osm-pbf-файла. Должен ли я использовать инструкции drop! или я должен указывать определенное время от метки времени до метки времени!?

Комментарии:

1. «но это не удается». Как? Если только вы не скажете нам, что тратите время людей впустую.

Ответ №1:

Начиная с версии 0.7.50, Overpass API предоставляет способ запрашивать данные, которые изменились с заданной временной метки или за заданный период времени. Можно даже ограничить анализ изменений определенными тегами (или критериями фильтрации). Пожалуйста, проверьте вики-страницу Overpass API для получения более подробной информации о ключевых словах «diff» и «adiff«.

Работать с Overpass API таким образом намного удобнее, чем пытаться обработать полную историю planet, загрузка которой занимает не менее 35 ГБ и требует более сложной последующей обработки.

Ответ №2:

Вы хотите обработать OSM history planet (выдержки): https://wiki.openstreetmap.org/wiki/Planet.osm/full