15 заметок с тегом

экспорт РСС

Новая резалка по-новому режет

18 февраля, 13:14

Пару недель назад Йохен Топф рассказал про новую функцию osmium-tool: режим extract для вырезания областей. Диаграммы в заметке показывают, что osmium вырезает в два-три раза быстрее, чем osmconvert. То есть, как когда-то osmconvert заменил osmosis, потому что был не в пример быстрее, так теперь osmium, кажется, может заменить его.

Я решил сравнить утилиты чуть тщательнее и взял файл планеты в pfb от 30 января. Сделал его копию в o5m — формат стал популярен именно из-за osmconvert, который обрабатывает его чуть быстрее других. И поскольку osmuim не умеет писать в o5m, а только читает, сравнил скорость преобразования обратно в pbf:

33 минуты против 86! Серьёзная заявка на победу. Причина проста: osmium многопоточный. Пока osmconvert вяло крутит 70% одного ядра процессора, его конкурент задействует 265%, то есть, около трёх ядер. Отсюда и разница в 2,6 раза.

Для проверки вырезания регионов я взял Мюнхен, который в pbf займёт примерно 200 мегабайт. Вырезал по прямоугольнику и по полигону из 1200 точек. У обоих утилит есть настройка полноты вырезанных данных: простой режим сохраняет только те точки, что попали в область обрезки. Сложный «complete ways» досыпает точек за пределами области, которые принадлежат линиям изнутри её. То есть, в итоговом файле не будет неполных линий. Режим «complex ways» («smart» в osmium) дополнительно сохраняет целостность мультиполигонов.

Как видно, при работе с pbf osmium в полтора-два раза быстрее osmconvert. Разумеется, за счёт многопоточности. Но с o5m работать в несколько потоков не получается, поэтому столбцы красного оттенка отличаются несильно. Как видно, нет такого режима выгрузки, в котором osmium не превзошёл бы osmconvert.

Превосходство будет ещё заметнее, если не читать файл планеты для каждого региона отдельно, а вырезать несколько регионов за раз. Да, osmium это умеет. Правда, требует очень много памяти: Йохен советует сначала вырезать континенты, затем группы стран и так далее. Понадобится написать файл конфигурации, как описано в документации. В январе на многопоточное одновременное вырезание регионов перешли в Geofabrik, ускорив подготовку выгрузок с 10 до 4 часов.

А теперь непонятная диаграмма, дополняющая предыдущую:

Утилита time, которой я замерял время работы, выдаёт «real time», время от запуска до остановки, и «user time»: время процессора, затраченное исключительно на приложение. И если я правильно понимаю, osmium оказался менее оптимизированным, чем osmconvert, но он эффективнее использует ресурсы компьютера.

Итак, osmium может заменить osmconvert, и почти всегда окажется быстрее. Кроме того, он позволит снять зависимость от формата o5m, который хоть и поддерживается osm2pgsql и другими программами, основанными на libosmium, но требует больше места и дополнительной конвертации. Что с другими приложениями из комплекта osmctools?

Osmupdate удобен простым обновлением выгрузки или файла планеты. Достаточно указать в параметрах имя существующего и нового файла, и получим данные из OpenStreetMap на минуту запуска. Умеет ли подобное osmium-tool? Нет, к сожалению. Но osmupdate — лишь надстройка над wget и osmconvert, скачивающая файлы репликации и передающая в osmconvert для объединения и применения к исходному файлу. Osmium-tool может делать всё, что умеет osmconvert, и возможно слегка переписать osmupdate, чтобы он запускал его вместо osmconvert (и заодно curl вместо wget). Или встроить подобную функциональность в osmium — увы, пока этого никто не сделал.

Но в плане сравнения производительности можно посмотреть на время обновления файла планеты диффом за одни сутки:

Как и обещала справка osmconvert, файлы в формате o5m он обрабатывает быстрее. Как показали прошлые замеры, osmium работает быстрее независимо от формата.

Заменой для osmfilter должен стать osmium-filter. Мне удалось его скомпилировать, но я так и не разобрался в его формате запросов. Инструкция из readme не помогла. Поэтому сравнивать пока нечего. Увы, именно osmfilter требует формата o5m, поэтому если в ваш процесс обработки данных входит, например, фильтрация береговой линии, полностью снять зависимость от o5m не получится.

И ещё одно может стать препятствием: пакет osmctool очень редко обновляется, и потому он достаточно свеж во всех дистрибутивах Linux. А режим extract в osmium-tool появился только в версии 1.5, которая на этот момент загружена только в репозитории Debian (jessie-backports) и, конечно, AUR для Arch Linux. В Fedora устанавливается версия 1.4.0, а в Ubuntu — вообще 1.3.1. Для этих систем придётся собирать osmium-tool из исходников.

Тестирование проводилось на среднем по характеристикам ноутбуке Asus с четырёхъядерным i7-4700 @ 2,4 ГГц с гипертредингом, 12 гигабайтами памяти и каким-то HDD.

Шейпы по триста

17 января 2017, 18:47

Для работы с данными OpenStreetMap в серьёзных ГИС нужно получить их в формате шейп-файлов. В России их делает компания NextGIS и публикует на сайте ГИС-Лаб. Выгрузки были ежедневными, но после ряда перебоев окончились в апреле 2016 года, причём последние опубликованные файлы оказались бракованными.

Сегодня регулярные выгрузки возобновились: с того же сайта (или из списка регионов) можно скачать данные от 17 января за 300 рублей/файл. После оплаты пейпалом лучше написать на info@nextgis.com, чтобы оттуда быстрее пришла ссылка на скачивание. Туда же нужно писать, чтобы договориться о пакетных, регулярных или нетрадиционных выгрузках. Покупателям приходит счёт, что удобно для отчётности.

Бесплатные шейп-файлы остались: рядом с кнопкой покупки есть кнопка скачивания старого архива. Сейчас там сборка от ноября, но в будущем планируют публиковать версии месячной давности.

Альтернативные бесплатные сборки продолжает делать Geofabrik. Россия у них разделена на девять федеральных округов. Летом их шейпы лишились главного недостатка, обретя мультиполигоны. Но Geofabrik не предоставляет стилей для QGIS и атрибутивные поля у них не так удобны для человека, ориентирующегося в тегах OSM.

1,7 гигабайта

5 ноября 2015, 17:53

В России каждый осмер знает: если нужен свежий дамп какой-то области страны, или вся территория бывшего СССР целиком — дорога на ГИС-Лаб, где каждое утро обновляются выгрузки в осмерские форматы и в шейп-файлы. Выгрузки других стран делает Geofabrik, хотя и чуть попроще: без части точек обрезанных линий и без мультиполигонов в шейпах. Россия на их сервере была, но в странном виде: разорванная на европейскую и азиатскую части. Из-за этого зона охвата некоторых европейских валидаторов обрывалась на Екатеринбурге.

Сегодня Фредерик сообщил, что переделал выгрузки для России: теперь страна разделена на 9 федеральных округов, для которых ежедневно публикуют данные в pbf, bz2, shp, и диффы в формате, готовом к подключению в osmosis. Туда входит и Крым, отсутствующий в сборке ГИС-Лаба: Германия не признаёт его частью России, но геоинформационные системы у нас без Крыма никто не примет.

Из других источников стоит знать bbbike.org, присылающий на почту произвольный прямоугольный регион в одном из 29 форматов, включая гарминовский и OsmAnd, выгрузки городов от Mapzen и Overpass API, который позволяет скачать свежие данные по произвольной границе, но размером до 300 мегабайт несжатых данных. Последнее удобно в редакторе JOSM: введя (node;<);out meta; в поле запроса overpass, можно не беспокоиться о размере прямоугольника.

Новые печатные карты

28 июня 2014, 14:57

Заявки на новые печатные карты мы ждем от вас в комментариях к посту про печатные карты, в котором указаны критерии для их создания... Секунду, у нас же не НЯК.

Макс Васильев поделился ссылкой на буклет сегодняшнего чемпионата России по велоспорту в Туле. Красиво оформленные страницы, море информации — и, внезапно, карта маршрута, от которой вытекают глаза. Разумеется, с традиционным нарушением условий использования Яндекс.Карт и традиционным закрытием Яндексом глаз на эту фигню.

До сих пор просто нарисовать маршрут на карте было нетривиально: люди либо снимали проприетарную карту с линейкой вычисления расстояний, либо рисовали линии в пэинте поверх склеенных тайлов OSM, либо фотографировали OziExplorer с треком. Всё это ненормально и извращение. Особенно когда карта нужна для печати, и обычного разрешения в 90 точек на дюйм недостаточно. Что ж, с этого дня получить кусок карты для печати стало проще: теперь есть сервис «Get Veloroad».

Он работает на основе Nik4: указываете размеры бумаги, растягиваете прямоугольник границ печатаемой области, выбираете формат (png, svg или pdf) — и картинка в 300 dpi у вас в кармане. Поверх можно наложить GPX-трек и линейный масштаб. Векторные файлы SVG обрабатываются скриптом склейки букв в слова: их можно загрузить в Inkscape и сместить надписи от маршрута. Наконец, вместо стиля Veloroad можно выбрать «стандартный» стиль osm.org: хватит уже склеивать его тайлы, когда можно получить нужный кусок в 300 dpi (или в обычном разрешении, если указать пиксели).

Единственный недочёт — данные всё так же доступны только для части России и Прибалтики. Граница загруженной области отображена, поэтому даже на слое osm.org вы не останетесь неожиданно с синим квадратом. Сервис не даст создать несколько карт одновременно, поэтому если не получилось — попробуйте через пару минут. Всё лучше, чем вкладка экспорта на osm.org, непредсказуемая и вечно занятая.

Актуален

15 июня 2013, 21:23

Позавчера некстгисовские выгрузки в Shape официально перезапущены после длительного перерыва и тестирования. Этот проект наиболее заметен и важен для пользователей OpenStreetMap (а не участников): именно он превращает гору геомусора с тысячей невнятных схем в удобные для использования слои в популярном формате данных.

К сожалению, самый важный проект для российских участников от того же автора, валидатор границ, всё ещё выключен. Есть надежда, что после этого релиза его ремонт немного ускорится.

Поставил зеркало? Придумай апи

11 декабря 2012, 23:45

Фрэнку из Люксембурга для своих проектов потребовалась минутно обновляемая база OSM — у многих бывает. Но сотни гигабайт данных — непропорционально много для почти любого применения, поэтому он справедливо решил поделиться частью этой мощи с сообществом. Но не в виде обычных выгрузок, а придумав и наладив интерфейс для фильтрации данных по тегам и bbox: всё как требует OpenLayers, под который и заточен новый API (примеры есть и здесь). Вопросы, почему не XAPI или Overpass, автор объясняет отсутствием необходимости.

Хотя сервис позволяет прочесать всю базу на предмет, например, банкоматов, не спешите его нагружать такими странными задачами: возможно, пригодятся ежедневные выгрузки по тегам с сайта хорватского сообщества.

GDAL теперь умеет читать OSM и PBF-файлы

15 июля 2012, 23:22

Even Rouault написал драйвер OGR для чтения файлов привычных нам форматов. Он понимает мультиполигоны и минимально настраиваем, при этом, как заметил Jukka Rahkonen, работает примерно втрое быстрее osm2pgsql. И раз для обработки osm-файлов теперь доступна вся мощь GDAL, их можно не только загружать в PostGIS (нет, никто ещё не сравнивал с osm2pgsql) или преобразовывать в шейпы, но даже рендерить в тайлы мапсервером напрямую. Драйвер появится в версии 2.0.0, но уже доступен в транке.

Хотя если вам нужно только залить данные в базу, попробуйте созданный специально для этого Imposm. Его делали для замены устаревшему osm2pgsql, но как и последний, он пока не работает под Windows — хотя, поскольку написан он на питоне, вероятность запустить, всё-таки, больше. Stamen попробовали эту замену и порадовались, что вдобавок к возросшей скорости стало возможным упрощать геометрии, делать отдельные выборки в таблицы и развлекаться с постпроцессингом — например, сокращать статусные части улиц.

Снова фурычит

30 мая 2012, 1:59

Александр Дежин, наконец, восстановил ежедневные выгрузки на сайте гис-лаба (с шейпами придётся подождать перелицензирования). Макс Васильев за это время успел настроить свои дампы России целиком. Хотел заметить, что от этого его гарминосборки актуальнее других, но обнаружил, что они все хороши, и навител не отстаёт. Страдают только пользователи СитиГида — да и это, надеемся, ненадолго.

Апдейт: Заработал валидатор границ! Всех удивило, что не сломано ни одной границы региона. Также, Кирилл отказался обновлять выгрузки для пятой (самой распространённой) версии СитиГида.

Шейпы на ГИС-Лабе

3 марта 2012, 11:28

Вчера прошла новость, что old_Bibigon допилил QGIS-проекты для новых выгрузок, но за ней обнаружилось, что я пропустил главное: страницы выгрузок в shape уже доделаны, и замечательно выглядят! Для каждого региона можно посмотреть полигоны обрезки (например) и скачать архив с двумя стилями оформления проекта внутри. Кроме того, снова ожила статистика: теперь несложно узнать, что контур среднего здания у нас состоит из шести точек, а средняя длина линии дороги за полгода сократилась почти на сотню метров.

Экспорт в шейпы

27 октября 2011, 17:30

Вслед за обычными выгрузками Александр Дежин переписал экспорт OSM в шейпы. Уже неделю они работают в ежедневном режиме. Соответственно, обновились и выгрузки в postgis. К сожалению, пока человеческой страницы для выгрузок нет, как нет и ссылки со страниц гис-лаба. Некоторые аспекты процесса можно подсмотреть в слайдах к докладу с прошлой встречи гислабовцев.

upd 23.12: человеческая страница
Ctrl +  Ранее