Это команда osmfilter, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
osmfilter - экспериментальный OSM фильтрует данные
СИНТАКСИС
осмфильтр кредита [входной файл]
ОПИСАНИЕ
ДАННАЯ ПРОГРАММА ПРЕДНАЗНАЧЕНА ТОЛЬКО ДЛЯ ЭКСПЕРИМЕНТАЛЬНОГО ИСПОЛЬЗОВАНИЯ. ПОЖАЛУЙСТА, ОЖИДАЙТЕ НЕИСПРАВНОСТЬ И ПОТЕРЮ ДАННЫХ. СПАСТИ
ВАШИ ДАННЫЕ ПЕРЕД ЗАПУСКОМ ДАННОЙ ПРОГРАММЫ.
Эта программа фильтрует данные OpenStreetMap.
Имя входного файла должно быть указано в качестве аргумента командной строки. Файл не должен быть
транслировать. Перенаправления со стандартного ввода не будут работать, потому что программе нужен случайный
доступ к файлу. Формат ввода указывать не нужно, osmfilter распознает
эти форматы: .osm (XML), .osc (файл изменений OSM), .osh (полная история OSM), .o5m
(оптимизированный по скорости) и .o5c (файл изменений с оптимизацией по скорости).
По умолчанию выходной формат - .osm. Если вам нужен другой формат, укажите его
используя соответствующий параметр командной строки.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
--хранить=ОБЪЕКТ_ФИЛЬТР
Все типы объектов (узлы, пути и отношения) будут сохранены, если они соответствуют фильтру.
критерии. То же самое относится к зависимым объектам, например узлам в способах, способах в отношениях,
отношения в других отношениях. Ниже приводится описание синтаксиса
ОБЪЕКТ_ФИЛЬТР.
--keep-nodes =ОБЪЕКТ_ФИЛЬТР
--keep -ways =ОБЪЕКТ_ФИЛЬТР
--keep-Relations =ОБЪЕКТ_ФИЛЬТР
--keep-nodes-way =ОБЪЕКТ_ФИЛЬТР
--keep-nodes-Relations =ОБЪЕКТ_ФИЛЬТР
--keep -ways-Relations =ОБЪЕКТ_ФИЛЬТР
То же, что и выше, но только для указанных типов объектов.
--уронить=ОБЪЕКТ_ФИЛЬТР
Все типы объектов (узлы, пути и отношения), соответствующие заданному фильтру.
критерии будут отброшены независимо от соответствия критериям фильтра сохранения (см.
выше). Ниже приводится описание синтаксиса OBJECT_FILTER.
--drop-nodes =ОБЪЕКТ_ФИЛЬТР
--drop -ways =ОБЪЕКТ_ФИЛЬТР
--drop-Relations =ОБЪЕКТ_ФИЛЬТР
--drop-nodes -ways =ОБЪЕКТ_ФИЛЬТР
--drop-nodes-Relations =ОБЪЕКТ_ФИЛЬТР
--drop -ways-Relations =ОБЪЕКТ_ФИЛЬТР
То же, что и выше, но только для указанных типов объектов.
--keep-теги=TAG_FILTER
Теги, указанные в TAG_FILTER, будут разрешены на выходе. Пожалуйста, посмотрите ниже
описание синтаксиса TAG_FILTER.
--keep-node-tags =TAG_FILTER
--keep-way-tags =TAG_FILTER
--keep-Relations-tags =TAG_FILTER
--keep-node-way-tags =TAG_FILTER
--keep-node-Relations-tags =TAG_FILTER
--keep-way-Relations-tags =TAG_FILTER
То же, что и выше, но только для указанных типов объектов.
- drop-tags=TAG_FILTER
Указанные теги будут удалены. Это отменяет ранее описанные
параметр --keep-теги. Ниже приводится описание синтаксиса TAG_FILTER.
--drop-node-tags =TAG_FILTER
--drop-way-tags =TAG_FILTER
--drop-Relations-tags =TAG_FILTER
--drop-node-way-tags =TAG_FILTER
--drop-node-Relations-tags =TAG_FILTER
--drop-way-Relations-tags =TAG_FILTER
То же, что и выше, но только для указанных типов объектов.
- drop-author
Для большинства приложений теги автора не нужны. Если вы укажете эту опцию,
не будет записана информация об авторе: ни набор изменений, ни пользователь, ни временная метка.
- drop-версия
Если вы хотите исключить не только информацию об авторе, но и номер версии,
укажите эту опцию.
- drop-ноды
- дроп-пути
- каплевидные отношения
По совокупности этих параметров ни один член упомянутого
раздел будет написан.
--эмуляция-осмос
--эмулировать-pbf2osm
В случае формата вывода .osm программа попытается использовать тот же синтаксис данных, что и
Осмос, соотв. pbf2osm.
- фейковый автор
Если вы сбросили информацию об авторе (- drop-author) эти данные будут потеряны, из
курс. Некоторые программы, однако, требуют ввода информации об авторе, хотя они это делают.
не нужны эти данные. Для этого можно подделать информацию об авторе.
o5mfiler запишет набор изменений 1, временная метка 1970.
--fake-версия
Такой же как - фейковый автор, но - если в качестве формата вывода используется .osm xml - только
номер версии будет написан (версия 1). Это полезно, если вы хотите проверить
данные с JOSM.
--fake-lonlat
Некоторые программы зависят от получения значений долготы / широты, даже если объект находится в
вопрос удаляется. С помощью этой опции вы можете использовать osmfilter для подделки этих
ценности:
... lat = "0" lon = "0" ...
Обратите внимание, что это только для файлов XML (.osc и .osh).
-h
Отобразите краткий обзор параметров.
--Помогите
Отобразите эту справку.
--игнорировать-зависимости
Обычно включаются все узлы-члены пути, отвечающего критериям фильтра.
также. То же самое относится к членам включенных отношений. Если вы активируете это
вариант, все эти зависимости между объектами OSM будут проигнорированы.
- ключ=КЛЮЧЕВОЕ ИМЯ
Вывод не будет содержать обычных данных OSM, а будет содержать только статистику: список всех использованных
ключи собраны. Слева от каждой клавиши печатается количество вхождений. Если
КЛЮЧЕВОЕ ИМЯ, программа перечислит все значения, которые используются в соединениях.
с этим ключом. Вы можете использовать подстановочные знаки для KEYNAME, но только в
начало и / или в конце. Например: - ключ=адр:*
--out-count=КЛЮЧЕВОЕ ИМЯ
Такой же как --out-key =, но список отсортирован по количеству вхождений ключей
соотв. ценности.
--out-osm
Данные будут записаны в формате .osm. Это выходной формат по умолчанию.
--out-osc
Для вывода будет использоваться формат изменения OSM. Обратите внимание, что объекты OSM, которые
должны быть удалены, представлены только их идентификаторами.
--оут-ош
Для каждого объекта OSM будет добавлен соответствующий тег 'visible', чтобы соответствовать 'полному
спецификация истории планеты.
--оут-о5м
Будет использоваться формат .o5m. Этот формат имеет ту же структуру, что и
обычный формат .osm, но данные хранятся в виде двоичных чисел и
поэтому намного компактнее, чем в формате .osm. Упаковка не используется, поэтому вы можете
упакуйте файлы .o5m с помощью любого необходимого вам упаковщика файлов, например lzo, bz2 и т. д.
--out-o5c
Это формат файла изменений формата данных .o5m. Все тегов не будет
выполняются как действия удаления, но конвертируются в формат данных .o5c.
-o =
Стандартный вывод будет перенаправлен в указанный файл. Если формат вывода не имеет
было указано, программа будет работать в соответствии с расширением имени файла.
-t =
osmfilter использует временный файл для обработки взаимосвязей. Этот
Параметр определяет префикс имени. Значение по умолчанию - osmfilter_tempfile.
--параметр-файл=ФАЙЛОВ
Если вы хотите предоставить один или несколько аргументов командной строки с помощью файла параметров,
используйте эту опцию и укажите имя файла. В файле параметров
параметры должны быть разделены пустыми строками. Перевод строки внутри параметра будет
преобразованы в пробелы. Строки, начинающиеся с «//», будут рассматриваться как комментарии.
-v --подробный
В активированном «подробном» режиме некоторые статистические данные и данные диагностики будут
отображается. Если -v соответственно --подробный это первый параметр в строке, osmfilter
отобразит все входные параметры.
ОБЪЕКТ_ФИЛЬТР
Для некоторых аргументов командной строки необходимо указать фильтр. Это определение фильтра
состоит из пар ключ / значение и использует следующий синтаксис:
"KEY1 = VAL1 OP KEY2 = VAL2 OP KEY3 = VAL3 ..."
OP - это логический оператор, он должен быть либо «и», либо «или». Как обычно, "и" будет
обрабатываться до "или". Если вы хотите повлиять на последовательность обработки,
для этого можно использовать скобки. Обратите внимание, что скобки всегда должны дополняться
пробелы. Пример: lit = yes и (note = a или source = b) Вместо каждого символа "=" вы можете
введите один из этих операторов сравнения:! = (не равно), <,>, <=,> = Программа
будет использовать ASCII-алфавитное сравнение, если вы не сравните со значением, которое
начиная с цифры. Если для одного и того же ключа существуют разные возможные значения,
вам нужно написать ключ только один раз. Например:
"amenity = restaurant = pub = bar"
Допускается опускать значение. В этом случае программа примет каждое значение
для определенного ключа. Например:
"все шоссе = горит = да"
Вы можете использовать подстановочные знаки для ключа или значения, но только в начале и / или
в конце. Например:
"Википедия: * = шоссе = * арное ref_name = * центральное *"
Будьте осторожны с подстановочными знаками в ключах, так как только первый ключ, который соответствует
узор будет обработан. Есть три специальных ключа, которые представляют идентификатор объекта,
идентификатор пользователя и имя пользователя: @id, @uid и @user. Они позволяют искать точные
объекты или для правок конкретных пользователей.
TAG_FILTER
Фильтр тегов определяет, какие теги будут сохранены, а какие нет. Например :
--keep-tags ="шоссе = автомагистраль = главная"
не принимает теги «шоссе», кроме «шоссе» или «основной». Обратите внимание, что
не будет удален ни сам объект, ни остальные теги. Если хотите
Отбросьте все теги, не упомянутые в списке, используйте этот пример:
все шоссе = удобства = имя =
TUNING
Чтобы ускорить процесс, программа использует некоторую основную память для хэш-таблицы. По умолчанию,
он использует 480 МБ для хранения флага для каждого возможного узла, 90 для путевых флагов и 30
флаги отношения. Каждый байт содержит флаги для 8 идентификационных номеров, т.е. в 480 МБ программа
может хранить 3840 миллионов флагов. Поскольку в настоящее время существует менее 1900 миллионов идентификаторов для узлов
(Июль 2012 г.) 240 МБ будет достаточно. Так, например, вы можете уменьшить размер хэша до
например, 240, 30 и 2 МБ (для отношений необходимо по 2 флага), используя эту опцию:
--хэш-память=240-30-2
Но имейте в виду, что база данных OSM постоянно расширяется. По этой причине
значение по умолчанию для собственной программы выше, чем показано в примере, и может быть подходящим
чтобы увеличить его в будущем. Если вы не хотите заморачиваться с деталями, вы можете
введите объем памяти как сумму, и программа разделит ее сама. Для
пример:
--хэш-память=1000
Эти 1000 МБ будут разделены на три части: 800 для узлов, 150 для путей и 50 для
связи.
Поскольку мы берем хэши, нет необходимости предоставлять всю предлагаемую память; в
программа также будет работать с меньшим объемом хэш-памяти. Но в этом случае пограничный фильтр будет
быть менее эффективным, т.е. некоторые способы и отношения останутся в выходном файле
хотя их следовало исключить. Максимальное значение, которое программа принимает для
размер хэша 4000 МиБ; Если вы превысите максимальный объем памяти, доступный на вашем
система, программа попытается уменьшить это количество и отобразит предупреждающее сообщение.
ОГРАНИЧЕНИЯ
При фильтрации целых объектов OSM (--хранитьзнак равно --уронить... =), входной файл должен содержать
объекты упорядочены по типу: сначала все узлы узлы, затем все пути, затем все
связи.
Этому условию соответствуют обычные файлы .osm, .osc, .o5m и o5c. Это означает, что вы не
нужно беспокоиться об этом ограничении. osmfilter отобразит сообщение об ошибке, если это
последовательность нарушена.
Количество пар ключ / значение в каждом параметре фильтра ограничено 1000, длина
каждый ключ или val ограничено 100.
ПРИМЕЧАНИЯ
Эта программа предназначена для экспериментального использования. Ожидайте неисправностей и потери данных. Не используйте
программа в производственных или коммерческих системах.
НИКАКИХ ГАРАНТИЙ в той степени, в которой это разрешено законом. Пожалуйста, отправляйте любые отчеты об ошибках по адресу
[электронная почта защищена]
ПРИМЕР
osmfilter europe.o5m --keep = amenity = bar -o = new.o5m
osmfilter a.osm --keep-nodes = lit = yes --drop -ways -o = light.osm
osmfilter a.osm --keep = "место = город или (место = город и население> = 10000)" -o = b.osm
osmfilter region.o5m --keep = "bridge = yes and layer> = 2" -o = r.o5m
Используйте osmfilter онлайн через сервисы onworks.net