RU:Downloading data

From OpenStreetMap Wiki
Jump to navigation Jump to search

Данные карты можно скачать из набора данных OpenStreetMap несколькими способами. Полный набор данных доступен на сайте OpenStreetMap download в разделе «download». Также можно скачать данные для небольших территорий. Обычно данные предоставляются в виде файлов .osm в формате OSM XML. Если вы просто хотите использовать «карту» (например, для GPS-навигатора), то, скорее всего, вам не нужно скачивать эти необработанные данные. Вместо этого воспользуйтесь другими вариантами скачивания карт OSM.

Некоторые вещи, которые следует учитывать:

  • Вся планета — это огромный массив данных. Начните с регионального извлечения данных, чтобы убедиться, что ваша система работает правильно. Такие распространенные инструменты, как Osmosis или различные инструменты для импорта баз данных и конвертеры, могут импортировать данные в течение нескольких часов или дней, в зависимости от скорости работы диска.
  • OpenStreetMap — это федеративный проект. Это означает, что многие важные ресурсы предоставляются сторонними поставщиками. Не бойтесь, попробуйте скачать их первыми. Официальные сервера — это не огромные дата-центры с большим количеством ресурсов. Их задача — поддерживать синхронизацию потока данных.
  • Некоторые инструменты подходят только для небольших проектов или решения конкретных задач. Например, API для редактирования OSM не следует использовать для массовой загрузки данных.

Все данные сразу

Planet.osm содержит данные обо всей планете. Это моментальный снимок актуальных данных, обычно на момент прошлой среды. По состоянию на 2025 год размер файла составляет около 100 ГБ в сжатом виде или 2 ТБ в несжатом, и с каждым днем он увеличивается.

История планеты содержит информацию об истории почти всех объектов и занимает еще больше места.

Пожалуй, самый простой и быстрый способ скачать весь файл с картой — использовать клиент BitTorrent.

Кроме того, вы можете использовать инструмент download-osm из проекта OpenMapTiles, чтобы быстро загрузить всю карту планеты с нескольких зеркал одновременно, не перегружая основной сервер. Этот инструмент гарантирует, что загружаемые данные соответствуют хешу MD5. С его помощью также можно загружать и проверять региональные данные с сайтов Geofabrik,BBBike @ World|BBBike и OSM.fr.

Самый простой способ — запустить инструмент с помощью Docker. Например, предоставьте доступ к текущему каталогу, чтобы инструмент мог поместить туда ваш файл. Все, что идет после --, передается в aria2c. Вот пример команды для Linux/macOS. Команда для Windows должна быть похожей.

docker run --rm -it -v $PWD:/download openmaptiles/openmaptiles-tools \
       download-osm planet -- -d /download

Для получения документации используйте download-osm --help.

Огромные объемы данных

С помощью нескольких сервисов выборок можно загружать любые размеры файлов — от целого континента до отдельных частей страны. Среди популярных сервисов — Geofabrik (несколько форматов файлов), OpenPlanetData (ежедневные снимки планеты в форматах PBF и GOL) и SliceOSM (произвольные географические объекты). Такие инструменты, как Osmosis, osmconvert и osmfilter, помогут вам извлечь нужные данные из этих выборок. Layercake предоставляет тематические слои OSM в формате GeoParquet.

Overpass API и Export Tool позволяют загружать пользовательские наборы данных, такие как произвольные ограничивающие рамки, элементы с определенными тегами, сети общественного транспорта и другие объекты.

Небольшие объемы данных

Для мобильных навигационных устройств

См. Поставщики обработанных данных, особенно BBBike.org — специализированный сервис извлечения данных.

Специальные инструменты

Overpass API, возможно, с использованием Overpass Turbo, — отличный инструмент, подробно описанный на его собственных страницах.

Можно скачать все данные по небольшому участку или выполнить более сложную фильтрацию.

С помощью вкладки «Экспорт» можно выбрать фрагмент карты и загрузить данные в нескольких форматах, включая OSM XML. Эта функция работает только при высоком уровне масштабирования.

Для редактирования

основной API можно использовать для загрузки данных для редактирования.

Основной операцией в API OpenStreetMap является запрос на получение карты прямоугольной области. Соответствующую документацию по API см. по адресу: RU:API_v0.6#Получение_картографических_данных_ограниченных_прямоугольником:_GET_/api/0.6/map. Кроме того, main API позволяет загружать XML-код отдельных элементов и историю изменений каждого из них. Он предназначен для редактирования, а не для скачивания. Не используйте его для массовых запросов, так как это требует больших ресурсов. Пожалуйста, используйте Overpass API.

JOSM имеет удобный интерфейс для выбора области, которую вы хотите загрузить, и мгновенную визуализацию всех загруженных данных. Вы можете отредактировать данные, чтобы загрузить их повторно позже. Вы также можете сохранить данные в файл .osm (формат файлов JOSM) для дальнейшей обработки. Но поскольку для этого используется основной API, сервис не предназначен для загрузки больших объемов данных.

Обратите внимание, что использование API (особенно запросов к данным карты bbox) регулируется нашей Политикой использования API. При интенсивном использовании (или большом количестве запросов от многих пользователей) следует использовать один из вышеупомянутых сервисов.

Выберите свой регион

Регион определяется с помощью ограничительной рамки, которая состоит из минимальной и максимальной широты и долготы. Выбирайте регион как можно меньшего размера, так как чем больше регион, тем больше будут файлы с данными, тем дольше будет загружаться карта и тем выше будет нагрузка на сервер. Сервер может отклонить ваш регион, если его размер превышает 1/4 градуса по любому из измерений. Для начала выберите очень маленький регион, чтобы можно было быстро разобраться с небольшими наборами данных.

Существует несколько способов определения значений широты и долготы. Поскольку нас интересует ограничивающий прямоугольник, возможно, самый простой способ - использовать функции выбора ограничивающего прямоугольника по ссылке "Экспорт данных". На карте главной страницы выполните панорамирование и масштабирование примерно до нужной области, а затем нажмите "экспортировать данные" (ссылка слева). На этой боковой панели отображаются четыре значения, необходимые для создания ограничительной рамки, соответствующей размерам окна просмотра. Нажмите «Выбрать другой регион вручную», а затем перетащите рамку, чтобы выделить нужный регион.

Construct a URL for the HTTP API

Теперь вам нужно сформировать URL-адрес запроса к API, как указано в документации для запроса карты. В URL ограничивающая рамка обозначается четырьмя числами, разделенными запятыми, в следующем порядке: левая, нижняя, правая, верхняя (минимальная долгота, минимальная широта, максимальная долгота, максимальная широта). Широта и долгота выражаются в десятичных градусах. Северная широта — положительная, южная — отрицательная. Западная долгота — отрицательная, восточная — положительная. Метод, описанный в предыдущем разделе, поможет вам подобрать подходящие значения.

Пример:

https://api.openstreetmap.org/api/0.6/map?bbox=11.54,48.14,11.543,48.145

API поддерживает ограничивающие рамки размером примерно 0,5 градуса на 0,5 градуса, и по возможности не следует использовать его для работы с более крупными областями.

Скачайте данные

При желании вы можете просто ввести этот URL в адресную строку браузера, но результат может оказаться не таким, как вы ожидали, особенно если объем данных большой. Если вы знаете, как ими пользоваться, вам лучше подойдут инструменты командной строки, такие как wget и curl.

Если вы указали регион с большим объемом данных, вам, возможно, придется подождать некоторое время, прежде чем придет ответ по протоколу HTTP (сервер обрабатывает ваш запрос). Если время ожидания истекло, попробуйте увеличить время ожидания или выбрать регион с меньшим объемом данных.

Вот пример командной строки для wget:

wget -O muenchen.osm "https://api.openstreetmap.org/api/0.6/map?bbox=11.54,48.14,11.543,48.145"

Смотрите также