Сегодня я искал дорожный шейп-файл для Австралии. Я закончил тем, что пошел в Geofabrik . Открытая карта улиц содержит данные в .osm
формате. Но они не имеют в .shp
Австралии.
Если возможно, я хочу преобразовать osm
файлы в shapefiles
формат R. Я искал вокруг, но пока не нашел решения. Есть ли способ к этому? Как вариант, можно ли прочитать файлы osm в R и преобразовать данные во фрейм данных, чтобы я мог рисовать фигуры, используя ggplot2
?
Я получил следующий рисунок NZ, используя два шейп-файла с maptools
и ggplot2
. В идеале я хочу выпустить аналогичную карту Австралии.
shapefile
openstreetmap
r
ggplot2
jazzurro
источник
источник
Ответы:
Это не решение R, но Quantum GIS (QGIS) - отличный способ достичь того, чего вы хотите.
Вы можете просто загрузить файл .osm (инструмент Добавить вектор), щелкнуть его правой кнопкой мыши в содержании и сохранить как ESRI Shapefile.
QGIS может аварийно завершить работу с таким большим извлечением, поэтому во избежание этого вы можете использовать OSM Tools, такие как OverPass API, для загрузки только того, что вам нужно, с помощью ограничительных рамок.
Путепровод-Turbo Api также доступна для получения экстрактов, краткое руководство по это здесь!
Я запустил быстрый пример, основанный на тегах highway = primary и highway = primary_link (схему тегирования OSM Highway можно посмотреть здесь! ) С использованием мастера на Overpass-Turbo, и изображение ниже было результатом для Victoria.
Затем я экспортировал данные как GeoJSON, загрузил их в QGIS и затем сохранил результат в виде файла формы. (Второе изображение показывает линии и полисы, загруженные в QGIS)
Другой альтернативой является загрузка файла PBF или OSM для области из GeoFabrik и подмножество данных путем извлечения тегов шоссе = * с использованием Osmosis . Если вы хотите регулярно обновлять данные, рекомендуется использовать Osmosis. Если это одноразовая выдержка, Overpass, вероятно, будет проще, даже если вам придется делать это в меньших ограничивающих прямоугольниках из-за ограничений памяти. Вы бы просто применили одни и те же запросы Overpass для разных ограничивающих рамок.
источник
@jazzurro, вы прекрасно можете сделать это с помощью R, просто посмотрите пакет osmar! Прочитайте документацию osmar (osmar.r-forge.r-project.org/RJpreprint.pdf). На страницах 11 с. Вы можете найти подробный пример извлечения дорог / автомагистралей по соответствующим тегам для munich.osm! После извлечения и извлечения данных из файла планеты для Австралии вы можете преобразовать их в любой формат!
Редактировать:
Поскольку некоторые комментаторы жаловались на отсутствие примеров, я выложу пример из документации. ИМХО, нет необходимости перепечатывать существующие примеры здесь, не так ли?
источник
.osm
файлы во фрейм данных. Если посмотреть бегло, кажется, что нет прямого способа конвертировать.osm
файлы во фрейм данных. Или есть?munich.osm
! После извлечения и извлечения данных из файла планеты для Австралии вы можете преобразовать их в любой формат! ps: удалил другую ссылку из OP, поскольку это не касалось работы с osm-файлами ..Хорошо, вот правильный ответ:
Убедитесь, что
rgdal
(версия> = 1.0.4) установленаУбедитесь, что
gdal
(версия> = 1.11.0) установленаУбедитесь, что
gdal
он скомпилирован с поддержкой Expat / OSM и SQLite:Убедитесь, что вы знаете, какой слой вы хотите сохранить как шейп-файл:
Мы готовы пойти:
После того, как вы прочитаете файл
readOGR
, следуйте этим рекомендациям, чтобы узнать, как построить егоggplot2
.Обратите внимание, что вы также можете читать
.osm
файлы в формате XML, просто убедитесь, что они не сжаты (то есть расширение.osm
отсутствует.osm.bz2
), но попробуйте использовать файл .osm.pbf, так как они намного меньше.источник
rgdal
для окон как для 0.9-3 и возвращаетсяFALSE FALSE
дляc('SQLite', 'OSM') %in% ogrDrivers()$name
rgdal
вы можете попробовать исходный пакет ( cran.r-project.org/src/contrib/rgdal_1.0-4.tar.gz ) или двоичный файл oldrel ( cran.r-project.org/bin/windows/contrib/3.1/ rgdal_1.0-4.zip ). ЧтоGDAL
касается двоичного файла Windows, я не знаю, вы можете отправить отчет об ошибке вGDAL
проект и запросить, чтобы вGDAL
двоичных файлах Windows была включена поддержка Expat и SQLite .osm2shp.ru здесь вы можете скачать данные openstreetmap в формате shapefiles. Данные разделены по регионам: Северная и Южная Америка, Австралия и Океания, Африка, Европа и Азия. 61 слой для загрузки. Данные отфильтрованы по условиям «Особенности карты».
источник