Отримання формату річки від OpenStreetMap?


11

Я не хочу завантажувати всю карту району. Я просто хочу, щоб річки та інші водойми були в районі у форматі, щоб я міг їх використовувати в QGIS. Я спробував геофабрик, але він дає цілу карту, а також повну країну, тоді як мені потрібні дані про місто. Зараз я пробую JOSM. оновить вас, коли це запрацює.


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

1
Природні річки Землі можуть бути кращим джерелом naturalearthdata.com/downloads/10m-physical-vectors/…
Mapperz

На жаль, Природна земля не містить даних Індії.
user30783

Це область, в якій мені потрібні всі водойми.
користувач30783

Відповіді:


24

Використовуйте API Overpass Turbo !

По-перше, я б зайшов на openstreetmap.org ,

Ви можете будь-який

1) Шукайте функцію, яку ви шукаєте. Я вибрав "південну платову річку", що проходить через Денвер. Це дає поля та теги, які використовується OSM для зберігання даних:

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

2) Визначте теги та значення функцій, за якими ви перебуваєте

  1. Збільшити масштаб на карті
  2. Клацніть піктограму шарів праворуч (три аркуші паперу)
  3. Клацніть на останній пункт меню ( Map dataабо щось подібне у вашій мові)
  4. Функції на карті синіють (переконайтеся, що ви збільшуєте масштаб досить далеко, щоб побачити
  5. Клацніть на функцію, яку ви шукаєте
  6. Теги та значення відображаються в лівій частині екрана, і ви можете перейти нижче ...

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

Потім перейдіть на сторінку Overpass Turbo і натисніть Майстер

Використовуючи інформацію, значення імені - South Platte River, а значення водного шляху - river, так що ви можете побудувати такий запит:

name="South Platte River" and waterway=river

Потім натисніть «побудувати та запустити запит»

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

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

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

Далі натисніть опцію "Експорт":

Мені подобається варіант geoJSON

Натисніть "Зберегти"

Відкрийте файл у QGIS, і геть ви йдете!

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

Ви можете зробити "save as", щоб зберегти його як новий тип векторного шару ...

У вашому випадку ви також можете використати waterway=riverзапит, щоб отримати всі річки в районі, за яким ви хочете, і ви можете намалювати поле для вибору вручну, щоб звузити географію.

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

@underdark мені це показав.


Дякую за ваші зусилля, але я все ще не в змозі стежити за вами. Я хочу водоводів цієї місцевості. Що слід написати на веб-сторінці турбопроводу?
user30783

Щойно я оновив відповідь вище: в API-програмі для перекриття використовуйте інструмент "Маленький пошук", щоб знайти Халдвані, Індія. Потім скористайтеся "вручну виберіть поле", щоб намалювати потрібну область, а потім скористайтеся майстром, щоб запустити запит на водний шлях = річка ... ви можете налаштувати його, щоб знайти деякі інші функції, використовуючи сторінку OSM, яку я згадав вище, а потім побудуйте їх у запит на Overpass.
DPSSpace

дуже тобі дякую. Але у мене все ще є 1 проблема. він вибирає лише річки. Я теж хочу озер в них.
користувач30783

наведіть мені приклад озера, на яке ви хочете ... ім'я ...
DPSSpace

1
добре. Я спробую плагін OSM потім. Дякую за ваш час. Це було дуже корисно ..
user30783

6

Новий плагін QuickOSM для QGIS забезпечує приємний графічний інтерфейс для використання API Overpass. Ви можете вказати потрібні пари ключ-значення, і він також пропонує зручні способи фільтрації за місцем розташування: або обмежувальне поле, або навіть просто вказавши назву регіону на зразок "Австрія" для функцій в межах Австрії.


4

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

Річки можна знайти з даних ОСМ за тегом "водний шлях = річка", і 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.