Я нашел, что загрузка данных 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 мы можем загружать точки, линии и мультиполигоны, используя Добавить слой SpatiaLite. Когда мы загружаем таблицы пространственных объектов, возникают некоторые проблемы:
- Здесь нет сухопутного полигона. Вместо этого есть особенности линии береговой линии.
- Большинство речных полигонов отсутствуют. Вместо этого есть особенности линии берега реки.
Создание пропущенных речных полигонов не имеет большого значения:
- выберите все линии, где водный путь = берег реки.
- используйте инструмент Polygonize из набора инструментов обработки, чтобы автоматически создавать полигоны из областей, окруженных выбранными линиями берега реки. (Обратите внимание, что Обработка по умолчанию работает только для выбранных функций, но этот параметр можно изменить в настройках Обработки.)
Создание наземного полигона (или морского полигона, если вы предпочитаете это по какой-то причине) немного сложнее, так как большую часть времени береговая линия не будет закрыта по той простой причине, что мы часто вырезаем кусок земли из основного континента. , Поэтому, прежде чем мы сможем использовать инструменты Polygonize, мы должны закрыть область. Чтобы сделать это, я предлагаю сначала выбрать береговую линию, используя "other_tags" LIKE '% "natural" => "coastline"%', создать новый слой из этого выделения (сохранить выделение как…) и отредактировать его (не забудьте чтобы включить привязку!), чтобы добавить линии, чтобы закрыть область. Тогда полигонизируйте.