Получение шейп-файла реки из OpenStreetMap?


11

Я не хочу загружать всю карту местности. Я просто хочу, чтобы реки и другие водоемы присутствовали в области в шейп-файлах, чтобы я мог использовать их в QGIS. Я попробовал geofabrik, но он дает всю карту, а также всю страну, в то время как мне нужны данные города. Прямо сейчас я пробую JOSM. обновит вас, когда это будет работать.


какая сфера интересов?
Mapperz

1
Естественные Реки Земли могли бы быть лучшим источником naturalearthdata.com/downloads/10m-physical-vectors/…
Mapperz

К сожалению, Природная земля не содержит данных Индии.
user30783

Это та область, где мне нужны все водоемы.
user30783

Ответы:


24

Используйте Overpass Turbo API !

Во-первых, я бы пошел на openstreetmap.org ,

Вы также можете

1) Поиск функции, которую вы ищете. Я выбрал «Южную платтную реку», которая протекает через Денвер. Это дает поля и теги, которые используются OSM для хранения данных:

введите описание изображения здесь

2) Определите теги и значения функций, которые вы ищете

  1. Масштабирование до карты
  2. Нажмите на иконку слоев справа (три листа бумаги)
  3. Нажмите на последний пункт меню ( Map dataили что-то похожее на вашем языке)
  4. Объекты на карте становятся синими (убедитесь, что вы достаточно сильно увеличены, чтобы увидеть
  5. Нажмите на функцию, которую вы ищете
  6. Теги и значения отображаются в левой части экрана, и вы можете перейти ниже ...

введите описание изображения здесь

Затем перейдите на страницу Overpass Turbo, затем нажмите Wizard

Используя информацию, значение имени - South Platte River, а значение водного пути - river, поэтому вы можете построить запрос следующим образом:

name="South Platte River" and waterway=river

Затем нажмите «построить и запустить запрос»

введите описание изображения здесь

Запрос будет выполнен, и результат отобразится на карте:

введите описание изображения здесь

Далее нажмите «Экспорт»:

Мне нравится опция geoJSON

Нажмите «Сохранить»

Откройте файл в QGIS, и все!

введите описание изображения здесь

Вы можете сделать «сохранить как», чтобы сохранить его как новый тип векторного слоя ...

В вашем случае вы также можете использовать waterway=riverзапрос, чтобы получить все реки в нужной вам области, и вы можете нарисовать окно ручного выбора, чтобы сузить географию.

введите описание изображения здесь

@underdark показал мне это.


Спасибо за ваши усилия, но я все еще не могу следовать за вами. Я хочу водоемы этой области. Что я должен написать на веб-странице турбо-путепровода?
user30783

Я только что обновил ответ выше: в API overpass используйте небольшой инструмент поиска, чтобы найти Хальдвани, Индия. Затем используйте «ручной выбор bbox», чтобы нарисовать вокруг нужной области, затем с помощью мастера запустите запрос waterway = river ... вы можете настроить его, чтобы найти другие функции, используя страницу OSM, о которой я упоминал выше, а затем построить их в запрос на путепровода.
DPSSpatial

большое Вам спасибо. Но у меня все еще есть 1 проблема. он выбирает только реки. Я хочу озер в них также.
user30783

приведите пример озера, за которым вы ... имя ...
DPSSpatial

1
Ладно. Я попробую плагин OSM тогда. Спасибо за ваше время. Это было очень полезно ..
user30783

6

Новый плагин QuickOSM для QGIS предоставляет приятный графический интерфейс для использования Overpass API. Вы можете указать нужные пары ключ-значение, а также предлагает удобные способы фильтрации по местоположению: либо ограничивающий прямоугольник, либо даже просто указав имя региона, например, «Австрия», для объектов в пределах границ Австрии.


4

Вы можете фильтровать данные OSM с помощью GDAL по ограничительной рамке и по атрибутам и сохранять результаты непосредственно в любом векторном формате, поддерживаемом GDAL. Установите GDAL версии 1.10 или выше и прочитайте справочные страницы драйвера OSM http://www.gdal.org/drv_osm.html и ogr2ogr http://gdal.org/ogr2ogr.html . Эту задачу с реками и озерами можно выполнить с настройками по умолчанию, но часто необходимо сначала отредактировать файл osmconf.ini.

Реки можно найти по данным OSM по тегу «waterway = river», и GDAL сохраняет их в слое «линии». Озера, которые вы найдете по "естественной = воде", переходят в слой "мультиполигоны". Если вашей целью является создание шейп-файлов, вы должны сохранять реки и озера в разных файлах, поскольку линии и полигоны не могут быть сохранены в одном шейп-файле.

В примерах ниже используется файл india-latest.osm.pbf из geofabrik. Основные команды для использования:

ogr2ogr -f "ESRI Shapefile" -spat 76 22 77 23 -sql "select * from lines where waterway='river'" rivers.shp india-latest.osm.pbf --config ogr_interleaved_reading yes

ogr2ogr -f "ESRI Shapefile" -spat 76 22 77 23 -sql "select * from multipolygons where natural='water'" lakes.shp india-latest.osm.pbf --config ogr_interleaved_reading yes

Поместите свой BBOX в параметр -spat в EPSG: 4326 единиц.

Ogr2ogr является гибким и имеет множество опций. Внимательно прочитайте страницу руководства.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.