Я виявив, що завантажувати дані OSM за допомогою плагіна і переходити до імпорту та експорту руху дуже втомливо. Тому я написав інше рішення: http://anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/
Підсумок:
Сирі файли OSM можуть бути досить величезними. Ось чому, безумовно, бажано завантажувати стислий бінарний формат .pbf замість формату XML .osm. Як джерело завантаження я рекомендую Geofabrik .
Для першого кроку попередньої обробки: витягуючи цікаву область, ми можемо використовувати осмос:
C:\Users\anita_000\Geodata\OSM_Noirmoutier>..\bin\osmosis.bat --read-pbf pays-de-la-loire-latest.osm.pbf --bounding-box left=-2.59 bottom=46.58 right=-1.44 top=47.07 --write-xml noirmoutier.osm
Хоча QGIS також може завантажувати файли .osm, я виявив, що продуктивність та доступ до атрибутів значно покращуються, якщо файл .osm перетворений на просторовий.
C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm
У QGIS ми можемо завантажувати точки, лінії та мультиполігони за допомогою Add SpatiaLite Layer. Коли ми завантажуємо просторові таблиці, виникають деякі проблеми:
- Сухого полігону немає. Натомість є "лінії берегової лінії".
- Більшість річкових багатокутників відсутні. Натомість є функції лінії «берега річки».
Створення відсутніх річкових багатокутників не є великою справою:
- виберіть усі лінії, де водний шлях = берег річки.
- використовуйте інструмент «Полігонізація» з набору інструментів для обробки, щоб автоматично створювати багатокутники з областей, огороджених вибраними лініями берега річки. (Зверніть увагу, що Обробка за замовчуванням працює лише на обраних функціях, але це налаштування можна змінити в налаштуваннях Обробки.)
Створення сухопутного полігону (або морського полігону, якщо ви хочете, що з якихось причин) є дещо більше, тому що більшість часу берегова лінія не буде закрита з тієї простої причини, що ми часто вирізаємо шматок землі з головного континенту . Тому, перш ніж ми зможемо скористатись інструментами Полігонізація, нам доведеться закрити область. Для цього я пропоную спершу вибрати берегову лінію за допомогою "other_tags" LIKE '% "natural" => "берегова лінія"% "та створити новий шар із цього вибору (збережіть вибір як…) та відредагуйте його (не забувайте щоб увімкнути оснащення!), щоб додати лінії для закриття області. Потім полігонізуйте.