Bắt shapefile của sông từ OpenStreetMap?


11

Tôi không muốn tải xuống toàn bộ bản đồ của một khu vực. Tôi chỉ muốn các dòng sông và các mạch nước khác hiện diện trong một khu vực trong các shapefile để tôi có thể sử dụng chúng trong QGIS. Tôi đã thử geofabrik nhưng nó đang cung cấp toàn bộ bản đồ và đó cũng là quốc gia đầy đủ trong khi tôi cần dữ liệu của một thành phố. Ngay bây giờ tôi đang thử JOSM. sẽ cập nhật cho bạn khi nó hoạt động.


lĩnh vực quan tâm là gì?
Mapperz

1
Các dòng sông tự nhiên có thể là một nguồn tốt hơn Naturalearthdata.com/doads/10m-physical-vector/ từ
Mapperz

Thật không may, trái đất tự nhiên không chứa dữ liệu của Ấn Độ.
dùng30783

Đây là khu vực mà tôi cần tất cả các mạch nước.
dùng30783

Câu trả lời:


24

Sử dụng API Overpass Turbo !

Đầu tiên, tôi sẽ truy cập openstreetmap.org ,

Bạn có thể

1) Tìm kiếm các tính năng bạn đang theo đuổi. Tôi đã chọn "sông platte phía nam", chạy qua Denver. Điều này cung cấp cho các trường và thẻ được OSM sử dụng để lưu trữ dữ liệu:

nhập mô tả hình ảnh ở đây

2) Xác định các thẻ và giá trị của các tính năng bạn theo sau

  1. Thu phóng tất cả các cách vào bản đồ
  2. Nhấp vào biểu tượng lớp bên phải (ba tờ giấy)
  3. Nhấp vào mục menu cuối cùng (Map data hoặc một cái gì đó tương tự trong ngôn ngữ của bạn)
  4. Các tính năng trên bản đồ chuyển sang màu xanh lam (đảm bảo bạn đã phóng to đủ xa để xem
  5. Nhấp vào tính năng bạn đang theo dõi
  6. Thẻ và Giá trị xuất hiện ở bên trái màn hình và bạn có thể tiếp tục bên dưới ...

nhập mô tả hình ảnh ở đây

Sau đó tiếp tục đến trang Overpass Turbo, sau đó nhấp vào Wizard

Sử dụng thông tin, giá trị tên là South Platte River và giá trị đường thủy là sông, vì vậy bạn có thể tạo một truy vấn như thế này:

name="South Platte River" and waterway=river

Sau đó bấm vào "xây dựng và chạy truy vấn"

nhập mô tả hình ảnh ở đây

Truy vấn sẽ chạy và kết quả sẽ hiển thị trên bản đồ:

nhập mô tả hình ảnh ở đây

Tiếp theo nhấp vào tùy chọn "Xuất":

Tôi thích tùy chọn GeoJSON

Nhấp vào để lưu"

Mở tệp trong QGIS, và bạn đi ngay!

nhập mô tả hình ảnh ở đây

Bạn có thể thực hiện 'lưu dưới dạng' để lưu dưới dạng lớp vectơ mới ...

Trong trường hợp của bạn, bạn cũng có thể sử dụng waterway=rivertruy vấn để lấy tất cả các con sông trong khu vực bạn đang theo dõi và bạn có thể vẽ hộp chọn thủ công để thu hẹp địa lý.

nhập mô tả hình ảnh ở đây

@underdark chỉ cho tôi điều này.


Cảm ơn nỗ lực của bạn nhưng tôi vẫn không thể theo bạn. Tôi muốn thủy triều của khu vực này . Tôi nên viết gì trong trang web vượt qua turbo?
dùng30783

Tôi vừa cập nhật câu trả lời ở trên: trong API cầu vượt, sử dụng công cụ tìm nhỏ để tìm Haldwani, Ấn Độ. Sau đó, sử dụng 'hộp chọn thủ công' để vẽ xung quanh khu vực bạn muốn, sau đó sử dụng trình hướng dẫn để chạy waterway = sông truy vấn ... bạn có thể điều chỉnh nó để tìm một số tính năng khác bằng trang OSM tôi đã đề cập ở trên, sau đó xây dựng chúng vào truy vấn trên Overpass.
DPSSpatial

Cảm ơn rât nhiều. Nhưng tôi vẫn có 1 vấn đề. nó chỉ chọn sông. Tôi cũng muốn hồ trong đó.
dùng30783

cho tôi một ví dụ về một cái hồ mà bạn đang theo sau ... tên ...
DPSSpatial

1
Được chứ. Tôi sẽ thử plugin osm sau đó. Cảm ơn vì đã dành thời gian cho tôi. Nó rất hữu ích ..
user30783

6

Plugin QuickOSM mới cho QGIS cung cấp GUI đẹp để sử dụng API Overpass. Bạn có thể chỉ định các cặp khóa-giá trị mà bạn muốn và nó cũng cung cấp các cách thân thiện với người dùng để lọc theo vị trí: hộp giới hạn hoặc thậm chí chỉ bằng cách chỉ định tên khu vực như "Áo" cho các tính năng trong biên giới Áo.


4

Bạn có thể lọc dữ liệu OSM của mình bằng GDAL bằng hộp giới hạn và theo thuộc tính và lưu kết quả trực tiếp vào bất kỳ định dạng vectơ nào được GDAL hỗ trợ. Cài đặt GDAL phiên bản 1.10 trở lên và đọc các trang hướng dẫn của trình điều khiển OSM http://www.gdal.org/drv_osm.html và ogr2ogr http://gdal.org/ogr2ogr.html . Nhiệm vụ này với sông và hồ có thể được thực hiện với các cài đặt mặc định nhưng trước tiên thường cần phải chỉnh sửa tệp osmconf.ini.

Các dòng sông có thể được tìm thấy từ dữ liệu OSM bằng cách gắn thẻ "waterway = river" và GDAL lưu chúng vào các "đường" lớp. Các hồ bạn tìm thấy bằng "tự nhiên = nước" và chúng chuyển sang lớp "đa tầng". Nếu mục đích của bạn là tạo các shapefile, bạn phải lưu sông và hồ vào các tệp khác nhau vì các dòng và đa giác không thể được lưu vào cùng một shapefile.

Các ví dụ dưới đây đang sử dụng tệp Ấn Độ-mới nhất.osm.pbf từ geofabrik. Các lệnh cơ bản để sử dụng:

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

Đặt BBOX của riêng bạn vào tham số -spat theo đơn vị EPSG: 4326.

Ogr2ogr linh hoạt và có nhiều tùy chọn. Đọc trang hướng dẫn cẩn thận.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.