2016-12-08 5 views
1

ищет вещи в моем файле osm с water!=null, так как в них есть метка «вода» И «вода» не равно нулю.Как использовать osmfilter для поиска тегов, которые не равны нулю (данные osm map)

Я пробовал это с помощью простого --keep="water!=null", но полученный отфильтрованный файл osm имеет тот же размер, что и исходный файл osm! Поэтому я думаю, что я сделал что-то неправильно.

Любые мысли?

ответ

0

Два файла OSM могут иметь различное содержимое, но имеющие одинаковый размер. Они могут быть сжаты. Лучше используя --diff варианты или простого подсчета OSM объектов:

osmconvert myfile.o5m --out-statistics 

Чтобы получить все объекты с тегами «вода», но не «вода = NULL»:

osmfilter myfile.o5m --keep="water= and water!=null" -o=filtered.o5m 

Имейте в виду, что osmfilter по умолчанию включает в себя зависимых объектов. Если это не то, что вы хотите, используйте --ignore-зависимостей параметра:

https://wiki.openstreetmap.org/wiki/osmfilter#Ignoring_interobject_Dependencies

Более подробную информацию о логических операторов в osmfilter также можно найти в OSM Wiki:

https://wiki.openstreetmap.org/wiki/osmfilter#Boolean_Operators