osm pbf чем открыть
Как открыть OSM файлы? 4 простых метода решения таких проблем
Когда вы сталкиваетесь с проблемой с неизвестным файлом OSM и не знаете, как открыть такой файл, первый шаг, который вы должны сделать, это определить причину данной проблемы. Мы покажем вам, как решить наиболее распространенные проблемы с файлами OSM и как их решить, в 4 простых шага.
OSM расширение файла
Как открыть файл OSM?
В некоторых случаях проблемы могут возникнуть при попытке открыть файлы OSM. Приведенные ниже шаги могут быть полезны для решения таких проблем.
Шаг 1 – Убедитесь, что файл правильно связан с выбранным программным обеспечением
Первое, что пользователь должен сделать, это связать приложение с файлами OSM. Может случиться так, что даже если в системе установлено приложение, поддерживающее файлы OSM, оно не будет правильно связано с этим форматом файла. Это можно легко исправить, связав программу с файлами OSM. Чтобы связать такие файлы с данным приложением, пользователь должен открыть меню файлов (щелкнув правой кнопкой мыши по файлу) и выбрав «Открыть с помощью». Список предлагаемых приложений будет отображаться в верхней части меню. Затем выберите приложение и подтвердите свой выбор, установив флажок «Всегда использовать выбранное приложение для открытия файлов такого типа». Подтвердите свой выбор, нажав ОК.
Чтобы открыть OSM файл, сфокусируйтесь на шагах 1 и 2
В большинстве случаев для открытия файлов с расширением OSM должно быть достаточно следующих инструкций на шаге 1 и 2. Прежде чем предпринимать следующие шаги, протестируйте все программы, перечисленные ниже.
Шаг 2 – Установите программу, которая поддерживает OSM файлы
Если случится так, что раздел с предлагаемыми программами будет пустым, наиболее вероятно, что в системе не будет установлена программа, поддерживающая файлы OSM. Выберите программу из следующего списка и установите ее:
GIS-LAB
Географические информационные системы и дистанционное зондирование
Данные OpenStreetMap в форматах XML и PBF
В рамках этого проекта генерируется автоматически обновляемые выгрузки данных OpenStreetMap на территорию бывшего СССР в форматах XML и PBF.
ПРОЕКТ ЗАКРЫТ. Большинство ссылок работать не будут.
Ежедневно обновляемые выгрузки в формат ESRI Shape можно найти здесь. Ежедневно обновляемые выгрузки в формат PBF и OSM XML можно найти здесь.
Создано в | Веб ГИС для вашей организации по доступной цене |
Формат PBF («Protocolbuffer Binary Format») предназначен в первую очередь для замены Формата XML. Файл всей планеты в формате PBF примерно в два раза меньше по размеру чем OSM XML, сжатый архиватором gzip и примерно на 30% меньше чем OSM XML, сжатый архиватором bzip2. По сравнению с OSM XML, сжатый gzip, запись файла формата PBF происходит примерно в 5 раз быстрее, а чтение в 6 раз быстрее. Формат PBF был разработан для поддержки лучшей расширяемости и гибкости в будущем.
Формат, лежащий в основе файла, поддерживает доступ к произвольному блоку файлу. Каждый блок файла декодируется независимо и содержит
8k объектов OSM в стандартной конфигурации. Теги элементов не кодируются; все ключи и значения хранятся в неизменном виде как строки. Для масштабируемости в будущем, допускаются 64-битные идентификаторы точек, линий и отношений. Текущий сериализатор (RU:Osmosis) сохраняет порядок элементов OSM, и их тегов. Чтобы гибко работать с разными разрешениями, разрешение (детализация) используемая для записи местоположения и временных меток регулируется до 1 милисекунды и 1 наноградуса. По умолчанию используется разрешение 1000 милисекунд и 100 наноградусов, соответствующих приблизительно 1 см в районе экватора. Такая детализация сейчас используется в базе OSM.
Файлы имеют расширение *.osm.pbf
В настоящее время, эталонная реализация PBF представленная в RU:Osmosis, разделена на две части, специфическая часть osmosis, хранится в Osmosis repository [1], и общая часть, хранящаяся в[2]. Эта общая часть используется для построения osmpbf.jar (используется в osmosis и других java-ридерах PBF) и также содержит определения используемого PBF протокола (файлы *.proto).
Содержание
Программы, поддерживающие PBF
Множество программ, используемых в OSM уже поддерживают PBF в добавление к оригинальному формату XML, также существуют инструменты для конвертирования из PBF в OSM XML и наоборот.
Смотрите PBF/Software Compliance для более детальной информации о том, какие виды файлов PBF какой программой поддерживаются.
Внутреннее устройство
Низкоуровневое кодирование
Google protocol buffers (далее Protobuf) используется на низшем уровне хранения данных. Учитывая спецификацию файла, который может состоять из одного или нескольких сообщений, компилятор Protobuf создает алгоритм низкоуровневой сериализации. Сообщения могут содержать другие сообщения, формируя иерархические структуры. Protobuf также поддерживает расширяемость; новые поля могут быть добавлены к сообщению и старые клиенты могут читать эти сообщения без перекомпиляции. Для большей информации, смотрите http://code.google.com/p/protobuf/ или читайте the respective article на Google’s Opensource Blog. Google официально поддерживает C++, Java, и Python, но компиляторы существуют и для других языков. Вот пример структуры сообщения:
Protobuf использует разное количество бит для записи целых чисел. Целое число кодируется в 7 битах на байт, где старший бит указывает на наличие или отсутствие следующего байта для чтения. Когда сообщения содержат небольшие целые числа, размер файла минимален. Существуют 2 кодировки, одна предназначена для натуральных чисел и другая для целых чисел со знаком. В стандартной кодировке числа [0,127] требуют один байт, числа [128,16383] требуют 2 байта и так далее. В кодировке со знаком, бит знака помещается в наименее значащую позицию; числа [-64,63] требуют один байт, числа [-8192,8191] требуют 2 байта и так далее. Для более подробной информации о формате сериализации сообщений Protobuf, смотрите вышеприведенный сайт.
Создаваемые файлы на Java используют пакет crosby.binary. На других языках, создаваемые файлы используют пакет OSMPBF.
Формат файла
Файл состоит из заголовка, за которым следует последовательность блоков файла. Файл устроен таким образом, чтобы обеспечить в будущем произвольный доступ к содержимому и пропуск непонятных или нежелаемых данных.
Формат представлен повторяющейся последовательностью:
BlobHeader в настоящее время определен как:
(Пожалуйста, обратите внимание что сообщение BlobHeader раньше называлось BlockHeader. Оно было переименовано в версии 1.1 чтобы не путать его с HeaderBlock, о котором сказано ниже)
Сообщение Blob в настоящий момент используется для хранения произвольного блока данных, either uncompressed or in zlib/deflate compressed format.
Примечание (Декабрь 2010): В настоящий момент не cуществует кодировщиков, поддерживающих lzma или bzip2. Чтобы упростить реализацию декодеров, bzip2 был объявлен устаревшим и LZMA has become relegated to a proposed extension.
Для быстрого обнаружения неправильных или поврежденных файлов, я ограничил максимальный размер сообщений BlobHeader и Blob. Длина сообщения BlobHeader *should* be меньше чем 32 Кб и *must* be меньше чем 64 Кб. Несжатая длина сообщения Blob *should* be меньше чем 16 Мб и *must* be меньше чем 32 Мб.
Кодирование элементов OSM в блоках файла
В настоящий момент я определил два типа блоков файла для данных OSM. Это строки текстового типа, которые хранятся в поле type в сообщении BlobHeader.
Такая конструкция позволяет другим программам расширять формат, включая блоки файлов или дополнительные типы для их собственных целей. Парсеры должны игнорировать и пропускать блоки файлов, которые они не распознают.
Определение блоков файла OSMHeader
To offer forward and backward compatibility, a parser needs to know if it is able to parse a file. This is done by required features. If a file contains a required feature that a parser does NOT understand, it must reject the file with an error, and report which required features it does not support.
Currently the following features are defined:
In addition, a file may have optional properties that a parser can exploit. For instance, the file may be pre-sorted, and not need sorting before being used. Or, the ways in the file may have bounding boxes precomputed. If a program encounters an optional feature it does not know, it can still safely read the file. If a program expects an optional feature that is not there, it can error out. I propose the following optional features:
However, they are unused.
Definition of OSMData fileblock
To encode OSM entities into protocol buffers, I collect 8k entities to form a PrimitiveBlock, which is serialized into the Blob portion of an ‘OsmData’ fileblock.
Within each block, I extract all strings (key, value, role, user) into a separate string table. Thereafter, strings are referred to by their index into this table, except that index=0 is used as a delimiter when encoding DenseNodes. This means that I can not safely store a useful string in that slot. At present, I store an empty string at index=0 and never use that slot. To ensure that frequently used strings have small indexes, I sort the string table by the use frequency for each string. To improve deflate compressibility of the stringtable I then sort strings that have the same frequency lexicographically.
Each PrimitiveBlock is independently decompressable, containing *all* of the information to decompress the entities it contains. It contains a string table, it also encodes the granularity for both position and timestamps. A block may contain any number of entities, as long as the size limits for a block are obeyed. However, for simplicity, the current osmosis (0.38) implementation always uses 8k entities in a block.
In addition to granularity, the primitive block also encodes a latitude and longitude offset value. These values, measured in units of nanodegrees, must be added to each coordinate.
Where latitude is the latitude in degrees, granularity is the granularity given in the PrimitiveBlock, lat_offset is the offset given in the PrimitiveBlock, and lat/lon is encoded in a Node or delta-encoded in a DenseNode. The explanation of the equation for longitude is analogous.
Where timestamp is the timestamp encoded in an Info or delta encoded in a DenseInfo, date_granularity is given in the PrimitiveBlock, and millisec_stamp is the date of the entity, measured in number of seconds since the 1970 epoch. To get the date measured in seconds since the 1970 epoch, divide millisec_stamp by 1000.
Within each primitiveblock, I then divide entities into groups that contain consecutive messages all of the same type (node/way/relation).
After being serialized into a string, each primitiveblock is optionally gzip/deflate compressed individually when stored in the Blob fileblock.
Ways and Relations
Relations use an enum to represent member types.
Metadata includes non-geographic information about an object, such as:
Nodes
Nodes can be encoded one of two ways, as a Node (defined above) and a special dense format. In the dense format, I store the group ‘columnwise’, as an array of ID’s, array of latitudes, and array of longitudes. Each column is delta-encoded. This reduces header overheads and allows delta-coding to work very effectively.
DenseInfo does a similar delta coding on metadata.
Format example
In the following, we will have a look into the bytes of an OSM PBF file. The small regional extract bremen.osm.pbf (geofabrik.de, 2011-01-13) is used as an example.
Every data is preceded by a variable identifier. This identifier consists of type and id; the bits 0 through 2 stand for the type, bits 3 abd above for the id. These types may be used:
Of course, the protocol buffer library handles all of these low-level encoding details.
The code
The codebase is split into two pieces. Common code that is application-independent exists on github.
Unfortunately, osmosis, mkgmap, and the splitter each use a different internal representation for OSM entities. This means that I have to reimplement the entity serialization and parsing code for each program and there is less common code between the implementations than I would like. The serializer and deserializer for osmosis are in trunk.
Расширение файла OSM
OpenStreetMap Map Format
Что такое файл OSM?
Архитектура XML
Файлы OSM сохраняют данные в формате XML, и поэтому иногда могут использовать составной суффикс, т. Е. osm.xml.
Схема данных
Файлы OSM хранят данные в структурированном виде. Узлы улиц представлены в виде точек, улицы представлены в виде линий, которые соединяют эти узлы, а отношения хранят свойства улиц, точек и объектов.
Основной файл OSM
Planet.OSM является основным файлом OpenStreetMap, к которому можно получить доступ и изменить его, добавив новые улицы любому пользователю. Пользователи могут добавлять новые улицы или редактировать уже включенные.
Программы, которые поддерживают OSM расширение файла
Следующий список содержит программы, сгруппированные по 3 операционным системам, которые поддерживают OSM файлы. Файлы с суффиксом OSM могут быть скопированы на любое мобильное устройство или системную платформу, но может быть невозможно открыть их должным образом в целевой системе.
Программы, обслуживающие файл OSM
Как открыть файл OSM?
Отсутствие возможности открывать файлы с расширением OSM может иметь различное происхождение. Что важно, все распространенные проблемы, связанные с файлами с расширением OSM, могут решать сами пользователи. Процесс быстрый и не требует участия ИТ-специалиста. Ниже приведен список рекомендаций, которые помогут вам выявить и решить проблемы, связанные с файлами.
Шаг 1. Установите FME Desktop программное обеспечение
Основная и наиболее частая причина, препятствующая открытию пользователями файлов OSM, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы OSM. Этот легкий. Выберите FME Desktop или одну из рекомендованных программ (например, Merkaartor, GeoVisu, GPX Viewer) и загрузите ее из соответствующего источника и установите в своей системе. Полный список программ, сгруппированных по операционным системам, можно найти выше. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт FME Desktop и загрузите установщик.
Шаг 2. Обновите FME Desktop до последней версии
Если у вас уже установлен FME Desktop в ваших системах и файлы OSM по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Это может быть одной из причин, по которой OSM файлы не совместимы с FME Desktop. Последняя версия FME Desktop должна поддерживать все форматы файлов, которые совместимы со старыми версиями программного обеспечения.
Шаг 3. Назначьте FME Desktop для OSM файлов
После установки FME Desktop (самой последней версии) убедитесь, что он установлен в качестве приложения по умолчанию для открытия OSM файлов. Следующий шаг не должен создавать проблем. Процедура проста и в значительной степени не зависит от системы
Процедура изменения программы по умолчанию в Windows
Процедура изменения программы по умолчанию в Mac OS
Шаг 4. Убедитесь, что OSM не неисправен
Если вы выполнили инструкции из предыдущих шагов, но проблема все еще не решена, вам следует проверить файл OSM, о котором идет речь. Проблемы с открытием файла могут возникнуть по разным причинам.
Если случится так, что OSM инфицирован вирусом, это может быть причиной, которая мешает вам получить к нему доступ. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. Если файл OSM действительно заражен, следуйте инструкциям ниже.
2. Проверьте, не поврежден ли файл
Если файл OSM был отправлен вам кем-то другим, попросите этого человека отправить вам файл. Возможно, файл был ошибочно скопирован, а данные потеряли целостность, что исключает доступ к файлу. При загрузке файла с расширением OSM из Интернета может произойти ошибка, приводящая к неполному файлу. Попробуйте загрузить файл еще раз.
3. Убедитесь, что у вас есть соответствующие права доступа
Некоторые файлы требуют повышенных прав доступа для их открытия. Выйдите из своей текущей учетной записи и войдите в учетную запись с достаточными правами доступа. Затем откройте файл OpenStreetMap Map Format.
4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия FME Desktop
Операционные системы могут иметь достаточно свободных ресурсов для запуска приложения, поддерживающего файлы OSM. Закройте все работающие программы и попробуйте открыть файл OSM.
5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов
Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами OpenStreetMap Map Format. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов OSM.
Вы хотите помочь?
Если у Вас есть дополнительная информация о расширение файла OSM мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле OSM.
Как скачать карты OpenStreetMap
В этой практической статье рассмотрим сервисы, помогающие скачать карты с онлайн-сервиса OpenStreetMap для последующей конвертации их в другие картографические форматы, чтобы использовать их в оффлайн-режиме уже без подключения к интернету.
Сейчас лето, и для многих это главное время для путешествий. Следовательно, самое время доставать навигаторы, или же ставить на планшеты и смартфоны специальное навигационное программное обеспечение, чтобы не заплутать в незнакомых местах. Тем более что недостатка в подобных программах в нынешнюю эпоху GPS и мобильных устройств не наблюдается. К услугам пользователей как географические интернет-сервисы наподобие Google Maps и Microsoft Bing, так и специализированное ПО вроде «2ГИС» с собственными картами.
Последний вариант с локальными картами, которые пользователи предварительно скачивают и устанавливают для своего навигационного ПО, во многих случаях не только удобнее, но и единственное возможное решение. Так как интернет в той или иной местности может оказаться дорогим или же вообще не работать. Но при этом нужные оффлайн-карты конкретной местности тоже могут отсутствовать.
Ниже рассмотрим варианты загрузки картографических данных с онлайн-сервиса OpenStreetMap (OSM) с последующей целью конвертировать эти данные в конкретный формат карт для своей навигационной программы. Мы уже подробно рассказывали о проекте OpenStreetMap. Это открытый картографический веб-сервис, похожий на Google Maps, данные которого собираются самими же пользователями и доступны всем по открытой лицензии. В статье для примера рассмотрим конвертацию данных OSM для программы OsmAnd для Android-устройств, которую мы тоже подробно рассматривали на сайте «КВ».
Официальный сайт OSM
Итак, нам нужно скачать картографические данные OpenStreetMap какой-то конкретной территории. В первую очередь, это можно сделать с официального сайта сервиса www.openstreetmap.org.
Непосредственно на онлайн-карте ресурса имеется ссылка «Export», при нажатии на которую появится панель экспорта данных. Здесь при помощи синей кнопки «Manually select a different area» (ручное выделение особой области) нужно выделить на карте прямоугольник нужной территории, после чего выбрать из списка форматов «OpenStreetMap XML Data» и нажать кнопку «Export».
В результате загрузится файл с расширением osm. Это текстовый xml-файл с картографическими данными, которые можно потом конвертировать в другие форматы.
Вся планета
Есть ресурс «Planet OSM», где можно скачать всю планетарную базу картографических данных OpenStreetMap одним файлом planet.osm. На этом сайте содержится самая актуальная версия всех данных проекта OSM. Новая версия planet.osm выпускается еженедельно. А потом уже при помощи утилит-экстракторов можно вырезать картографические данные для конкретной территории.
Geofabrik
Данные OSM предлагаются для загрузки, как в заархивированном виде, так и в бинарном формате PBF, что используется в некоторых программах. И, естественно, загрузка карты с ресурса Geofabrik является совершенно бесплатной.
Ещё мельче
Во-первых, здесь можно скачать уже готовые osm-карты отдельных городов. Но если готовой карты нужной местности нет, её можно получить на специальной странице сервиса extract.bbbike.org.
Здесь нужно выделить на карте OSM нужную местность, и в специальных полях указать свой адрес e-mail и задать название выделенной карте. Немаловажно, что сервис даёт возможность скачать карту не только в формате OSM, но и конвертировать его в уже готовые форматы Garmin, Navit, Esri.
Так как «вытяжка» конкретной карты местности на сервисе происходит из planet.osm, то на это требуется некоторое время. Результат будет готов через 15-30 минут в зависимости от размера площади карты и нагрузки на сервис. Как только процесс экстракции карты завершится, пользователь будет оповещён на оставленный им адрес e-mail.
Конвертируем
Таким образом, получив картографические данные конкретного региона в виде текстового osm-файла, можно приступить к его конвертации в уже готовый формат карты с векторной или растровой графикой для навигационного приложения. Например, для программного GPS-навигатора OsmAnd нужно сконвертировать картографические данные OSM в формат OBF.
Для этого существует специальный конвертор OsmAndMapCreator. Это приложение написано на Java и является кроссплатформенным. Запускается после разархивирования, в зависимости от операционной системы, скриптом sh или bat. Но при этом программа имеет графический интерфейс.
При помощи OsmAndMapCreator можно создавать карты OBF и при помощи данных с других картографических онлайн-сервисов. Но обзор данных возможностей программы выходит за пределы темы этой статьи.