Tôi thấy việc tải xuống dữ liệu OSM bằng cách sử dụng plugin và trải qua các chuyển động nhập và xuất rất tẻ nhạt. Đó là lý do tại sao tôi viết ra một giải pháp khác: http://anitagraser.com/2014/05/31/a-guide-to-googlemaps-like-maps-with-osm-in-qgis/
Tóm lược:
Các tệp OSM thô có thể khá lớn. Đó là lý do tại sao chắc chắn nên tải xuống định dạng .pbf nhị phân nén thay vì định dạng .osm XML. Là một nguồn tải xuống, tôi muốn giới thiệu Geofabrik .
Đối với bước tiền xử lý đầu tiên: trích xuất vùng quan tâm, chúng ta có thể sử dụng Thẩm thấu:
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
Mặc dù QGIS cũng có thể tải các tệp .osm, tôi thấy rằng hiệu suất và quyền truy cập vào các thuộc tính được cải thiện hơn nhiều nếu tệp .osm được chuyển đổi thành spatialite.
C:\Users\anita_000\Geodata\OSM_Noirmoutier>ogr2ogr -f "SQLite" -dsco SPATIALITE=YES noirmoutier.db noirmoutier.osm
Trong QGIS, chúng ta có thể tải các điểm, đường và đa điểm bằng cách sử dụng Thêm lớp SpatiaLite. Khi chúng ta tải các bảng spatialite, có một số vấn đề:
- Không có đa giác đất. Thay vào đó, có các tính năng đường dây bờ biển của thành phố.
- Hầu hết các đa giác sông bị thiếu. Thay vào đó là các tính năng của dòng sông.
Tạo các đa giác sông bị thiếu không phải là một vấn đề lớn:
- chọn tất cả các dòng nơi đường thủy = bờ sông.
- sử dụng công cụ Đa giác từ hộp công cụ xử lý để tự động tạo đa giác từ các khu vực được bao quanh bởi các đường bờ sông đã chọn. (Lưu ý rằng Xử lý theo mặc định chỉ hoạt động trên các tính năng đã chọn nhưng cài đặt này có thể được thay đổi trong cài đặt Xử lý.)
Tạo đa giác đất (hoặc đa giác biển nếu bạn thích điều đó vì một số lý do) có liên quan nhiều hơn một chút vì phần lớn thời gian bờ biển sẽ không bị đóng cửa vì lý do đơn giản là chúng ta thường cắt một mảnh đất ra khỏi lục địa chính . Do đó, trước khi chúng tôi có thể sử dụng các công cụ Đa giác, chúng tôi phải đóng khu vực. Để làm điều đó, trước tiên tôi khuyên bạn nên chọn đường bờ biển bằng cách sử dụng "other_tags" THÍCH '% "tự nhiên" => "đường bờ biển"%' và tạo một lớp mới từ lựa chọn này (lưu lựa chọn dưới dạng) và chỉnh sửa nó (đừng quên để bật snapping!) để thêm các dòng để đóng khu vực. Sau đó đa giác hóa.