Truy vấn OSM cho tất cả các bãi biển hướng về phía tây? - Ưu tiên của QGIS


17

Tôi muốn xác định tất cả các bãi biển trên hành tinh này (hoặc một tập hợp con nhất định của nó) đang hướng về phía tây (+/- 20-30 độ).

Ý tưởng của tôi là sử dụng OSM làm nguồn dữ liệu. Trích xuất tất cả các đa giác có thẻ "tự nhiên = bãi biển" cho tôi một tập dữ liệu / shapefile của tất cả các khu vực được gắn cờ là bãi biển. Càng xa càng tốt.

Tôi cũng biết rằng tôi có thể sử dụng dữ liệu đường bờ biển (ví dụ từ OSM hoặc Trái đất tự nhiên) để xác định mặt của các bãi biển.

Việc đệm các hình dạng bãi biển để điều chỉnh cho sự không phù hợp nhỏ và giao cắt chúng với đường bờ biển sẽ cung cấp cho tôi dữ liệu về phía nào của hình dạng hướng về phía mặt nước. Sử dụng các giá trị tối đa / tối thiểu của tất cả các điểm giao nhau sẽ cho tôi ý tưởng về ổ trục. (90 độ +/- 20-30 độ sẽ ổn thôi ...)

Và đó là nơi tôi đang lạc lối ...

Công cụ ưa thích của tôi sẽ là QGIS, nhưng PostGIS cũng sẽ ổn.

Có ai xung quanh với một ý tưởng thông minh làm thế nào để giải câu đố này?


4
Thay vì sử dụng bộ đệm .. Sẽ không dễ dàng hơn để tìm ra cách di chuyển tất cả các vật phẩm trong shapefile của bạn một chút về phía đông, sau đó chạy Giao lộ giữa shapefile bờ biển và shapefile bãi biển? Chúng sẽ chỉ chồng lên nhau nơi các bãi biển hướng về phía tây.
Tim Couwelier

Tim - ý tưởng hay. Không chắc chắn rằng nó sẽ thực sự hoạt động cho hình học "lạ". Tôi đã nhận được một ý tưởng khác: lấy đường bờ biển làm đường thẳng và tâm của đa giác bãi biển bằng cách sử dụng v.net trên cỏ, lấy tâm điểm đến đường gần nhất (hoặc trong postgis). bây giờ bạn có một dòng đại diện cho hướng. tính toán ổ trục từ điểm bắt đầu của tâm đến điểm cuối của đường bằng trig. Mặc dù tốt đẹp nhưng nó không hoàn toàn "trong" QGIS. Còn ý tưởng nào thông minh hơn không?
jdoe

Nếu bạn có thể tìm cách biến đường bờ biển thành một chuỗi dữ liệu điểm và trung tâm bãi biển, bạn có thể thử Phân tích hàng xóm gần nhất như được mô tả ở đây: link Thay vì nối các thuộc tính như trong ví dụ, hãy đảm bảo có x, giá trị y cho hai bộ dữ liệu khớp nhau. bằng cách sử dụng máy tính trường, bạn có thể tìm thấy sự khác biệt tương đối giữa các giá trị x và y cho điểm trung tâm và điểm gần nhất. Dựa vào dấu hiệu của sự khác biệt x mà bạn biết nếu đó là hướng tây hay hướng đông, và dựa trên tỷ lệ diff (y) / diff (x) cách tây.
Tim Couwelier

Cho rằng tôi đã hết xe ngựa, ở đây đi: nếu centroids x-value> điểm bờ biển x-value, bãi biển quay mặt về hướng tây. x và y tọa độ của hai sẽ cho phép bạn calc góc đối với trục y: (y2-y1) / (x2-x1) cung cấp cho bạn độ nghiêng của đường thẳng, mà bạn có thể chuyển đổi trở lại độ
Tim Couwelier

5
Bạn có thể rasterize dữ liệu của mình, đặt giá trị nước mở thành 0 và bãi biển thành 1, sau đó chạy công cụ Phân tích địa hình-> Aspect. Bạn sẽ có được một raster theo hướng dốc xuống và có thể chọn các ô đủ "hướng tây".
WxMacMan

Câu trả lời:


1

Dịch vụ nâng cao trên ArcGIS Online bao gồm sẵn sàng sử dụng dữ liệu trên toàn thế giới và cũng có chức năng raster tích hợp để tạo khía cạnh. Cũng khá đơn giản để lọc đồng thời cho một loạt các giá trị khía cạnh (290-250 độ) cũng như độ cao (ví dụ 0 đến 10 mét, tùy thuộc vào cách bạn xác định một bãi biển - hoặc có lẽ bạn đã phân định các bãi biển?). Tôi không biết liệu bạn có mở sử dụng công nghệ ArcGIS hay không - nếu có, tôi có thể gửi cho bạn một số yêu cầu REST mẫu.

Png đính kèm không được lọc đúng độ cao, nhưng hiển thị khái niệm ...nhập mô tả hình ảnh ở đây

Cody B.

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.