Tìm một cực không thể truy cập liên quan đến nhiều điểm mà không cần sử dụng raster


9

Tôi muốn tìm một "điểm không thể tiếp cận" từ một loạt các điểm, đại diện cho các thị trấn và làng mạc ở Scotland. Sử dụng các công cụ FOSS GIS (QGIS, SAGA, GRASS, Postgres / PostGIS ...).

Đây là điểm xa nhất từ ​​bất kỳ trung tâm dân số. Đây sẽ là trung tâm của vòng tròn lớn nhất không chứa thị trấn, nhưng nó sẽ có một thị trấn ở rìa của nó.

Có một cách tiếp cận raster, hoạt động - bộ lọc tiệm cận GDAL .

Có một cách dựa trên YAMOR để làm điều này? Một trong đó không yêu cầu rasterisation?

Đây là nỗ lực của tôi với các raster ...

  • Bắt đầu với một lớp điểm trong một phép chiếu phù hợp tính bằng mét (Tôi đang sử dụng OSGB, 27700)
  • Thêm một trường gọi là "một" và đặt thành số nguyên với giá trị không đổi 1.
  • Vector to raster, chỉnh sửa lệnh để sử dụng -a một và sử dụng GEO thay vì pixel. Đảm bảo pixel là hình vuông!
  • Tạo đường viền trên raster lân cận (trong trường hợp này, rộng 1 km)

Đây là những gì nó trông giống như. Tôi đã vẽ một số điểm ứng cử viên bằng tay ;-)

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

Tôi nghĩ rằng việc hòa tan bộ đệm lặp lại (sử dụng plugin đệm đa vòng ) có thể hoạt động, nhưng tôi nghi ngờ tôi không có đủ bộ nhớ để làm việc này.

Câu trả lời:


7

Tôi đoán nó là tâm của tam giác tam giác có bán kính lớn nhất, chạm không quá 3 điểm. Trong hình dưới đây 11 trung tâm đầu tiên như vậy được hiển thị. Họ được dán nhãn bởi số thứ hạng của họ.

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

Nó là đủ để loại bỏ những cái bên ngoài hình tam giác và xác định nhà vô địch, tức là số 3 trong hình.

CẬP NHẬT KIỂM TRA B FENG TÌM KIẾM:

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

Kết quả ở trên không giống như giải pháp đầu tiên thu được trong ArcGIS mà không có kịch bản (nhưng có giấy phép nâng cao) và nó hoạt động! Tuy nhiên, nó có thể tạo ra kết quả đáng ngờ trên các cạnh của khu vực nghiên cứu, ví dụ: điểm số 1, tức là điểm xa xôi thứ hai được tìm thấy ...


1
Wow, cảm ơn đã chia sẻ điều này! Tôi đã cố gắng theo dõi quy trình công việc của bạn trong QGIS bằng cách (1) Điểm tới Delaunay ( Vector | Delaunay Triangulation), (2) Chọn tam giác vô địch (Được tính $areatrên bảng thuộc tính của đa giác Delaunay) và lưu lớp lớn nhất dưới dạng một lớp mới (3) Tìm chu vi ( Processing | GRASS | Vector | v.voronoi.skeletontrên) tam giác vô địch). Bạn có nghĩ rằng phương pháp này là chính xác?
Kazuhito

Bước đầu tiên là chính xác. Tôi đã tính toán các trung tâm exradius cho TẤT CẢ các tam giác. Để tìm tâm tôi xây dựng vuông góc vào trong cho trung điểm của cả 3 cạnh và tìm giao điểm (kết hợp 3,2).
FelixIP

Vòng tròn hình tam giác, không phải hình tròn.
FelixIP

Cám ơn rất nhiều! (và cũng cảm ơn vì bức ảnh đẹp. Tôi càng dựa vào nền tảng của nó, nó càng trở nên hấp dẫn.)
Kazuhito

1
Quan sát tốt đẹp! Tôi sẽ kiểm tra nó và cập nhật câu trả lời. Không giống như giải pháp đầu tiên, nó sẽ không yêu cầu kịch bản ít nhất là trong Arcgis.
FelixIP

5

Đây là một theo dõi. Cảm ơn @FelixIP đã chỉ cho tôi đi đúng hướng!

Sử dụng dữ liệu OSM từ Úc, tôi đã có thể tìm thấy "điểm không thể truy cập" trên lục địa Úc - Tôi thực hiện khoảng 260km cách đều từ Akarnenehe, Bedourie và Mount Dare, tại POINT (137,234888 -24.966466)

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

Tôi đã tìm thấy một quy trình làm việc khá dễ dàng trong QGIS sử dụng kết hợp các phương pháp raster và vector. Tôi chắc rằng một cách tiếp cận tương tự sẽ hoạt động trong các hệ thống GIS khác.

Khoảnh khắc 'a-ha' xuất phát từ việc nhận thấy điều này

Các cực đại đều rơi vào ba điểm trên lưới voronoi - các điểm mà các bộ ba đa giác voronoi liền kề gặp nhau.

Cách tiếp cận như sau: -

  • làm việc trong một phép chiếu dựa trên mét. Tôi đã sử dụng 3857, không lý tưởng nhưng dữ liệu OSM của tôi ở định dạng đó :)
  • lấy một lớp đại diện cho các điểm quan tâm trong ('thành phố', 'làng', 'thị trấn', 'ấp')
  • tạo lưới voronoi từ lớp này
  • sử dụng các nút trích xuất để có được các bộ ba
  • tạo raster lân cận (như trong câu hỏi)
  • đưa raster vào đường viền của cảnh quan, do đó, pixel biển được đặt thành 0.
  • sử dụng công cụ lấy mẫu điểm trên các nút được trích xuất so với raster

Sau đó sử dụng Trình quản lý DbLớp ảo để tìm nút có giá trị khoảng cách lớn nhất trên raster.

select 
    rowid,
    name,
    proximity2,
    st_astext(st_transform(geometry,4326)) as pt, 
    st_buffer(geometry, proximity2) as geometry
from 
    "samples" 
order by 
    proximity2 desc 
limit 1;
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.