Tính toán ranh giới hình ảnh / dấu chân của hình ảnh vệ tinh bằng các công cụ nguồn mở?


10

Tôi cần tạo các phác thảo đa giác của một số hình ảnh raster một lớp, không phải hộp giới hạn / giới hạn, mà là khu vực không có các giá trị nốt, như được hiển thị ở đây: Tạo shapefile hiển thị dấu chân của Rasters? .

Trong câu trả lời cho câu hỏi trên, tuy nhiên, plugin Image Boundary đã được đề cập, tuy nhiên, tôi không tìm thấy nó trong CISIS 1.8.0 Lisboa, chạy trên Ubuntu.

Công cụ vẫn còn có sẵn?

Nếu không, có cách nào để thực hiện việc này bằng các công cụ mã nguồn mở, gdal, R, QGIS, GRASS hoặc tương tự, không phải với ArcMap không?


Câu trả lời:


4

Bạn có thể thêm kho lưu trữ cũ, nơi có các bổ trợ trong Kho lưu trữ chính thức.

http://pyqgis.org/repo/contribution

Plugin ranh giới hình ảnh có tùy chọn để tính pixel hợp lệ, nhưng, hình ảnh cần phải là toàn cảnh, cách CBERS hoặc Landsat, trong đó quá trình này tính toán 4 góc đầu tiên. Nhu cầu hình ảnh có nốt với giá trị ZERO cho khu vực không có hình ảnh (được quét bằng cảm biến vệ tinh).

Tác giả của Ranh giới hình ảnh


Xin chào @lmotta, cảm ơn vì liên kết kho lưu trữ. Các hình ảnh tôi đang làm việc tại thời điểm này là tất cả các hình ảnh SAR, với các giá trị NA (hoặc -3,4e + 38 theo công cụ giá trị trong QGIS). Nếu người ta có thể thêm giá trị nốt bằng tay trong công cụ, thay vì chọn ZERO làm tùy chọn duy nhất, thì thật tuyệt, nếu không, trước tiên tôi có thể chạy tập lệnh trong R để cung cấp cho giá trị NA của tôi các giá trị mới bằng 0. Đó là một công cụ tuyệt vời, cảm ơn!
spib

Có một kho lưu trữ mới cho Ranh giới hình ảnh? Liên kết bạn cung cấp là 404. Có thể như sau?: Github.com/lmotta/image feetprint_plugin
Aaron

Có nơi nào chúng ta có thể tìm thấy tài liệu cho Image Boundary không?
Loonuh

11

Cuối cùng tôi đã tìm thấy một cách để làm điều này:

bước 1: gdalwarp -dstnodata 0 -dstalpha -of GTiff foo1 foo2

Điều này thực hiện hai điều quan trọng: nó đặt các giá trị No Data (viền ngoài) đích thành 0 và nó tạo ra một dải alpha.

bước 2: gdal_polygonize.py foo2 -b 2 -f "ESRI Shapefile" foo3

Bước thứ hai sử dụng băng alpha (băng 2), được tạo ở bước 1 và tạo một shapefile từ băng đó.

Điều này sau đó có thể dễ dàng được viết theo kịch bản bash, nếu bạn có nhiều hình ảnh, để tạo ra các phác thảo chính xác cho.  


Rực rỡ, giải pháp này không phụ thuộc vào bất kỳ plugin hoặc phần mềm nào. Tạo các dấu chân raster nhạy cảm với NoData là một trong những nhiệm vụ GIS không đơn giản như nó cảm thấy như vậy.
Charlie Parr

Khi tôi sử dụng phương pháp này, tôi kết thúc với một shapefile chứa đa giác mà tôi giả sử đại diện cho các màu khác nhau được nhóm lại với nhau. Làm thế nào tôi có thể tránh điều này và kết thúc chỉ với một vài đa giác đại diện cho dữ liệu có ??
Loonuh

5

Tôi đã sử dụng gdal_translatetheo đề xuất của dự án GDAL.

gdal_translate -b mask -of vrt -a_nodata 0 test.tif test.vrt
# Note the  -a_nodata 0 doesn't seem to work when the mask is input, so do another pass
gdal_translate -b 1 -of vrt -a_nodata 0 test.vrt test2.vrt
gdal_polygonize.py -q  -8 test2.vrt -b 1 -f "ESRI Shapefile" testdata.shp

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


1
Với phiên bản trung kế GDAL, giờ đây có thể sử dụng gdal_polygonize trực tiếp với hình ảnh nguồn osgeo-org.1560.x6.nabble.com/ . Một số dọn dẹp là cần thiết để loại bỏ các đa giác không có dữ liệu, mặc dù.
dùng49584

4

Plugin Image Boundary cũng không hoạt động với tôi, do đó tôi đã sử dụng cách tiếp cận tương tự với GDAL. Tuy nhiên, nó chỉ hoạt động với tôi sau khi thay đổi bước đầu tiên thành:

bước 1 : gdalwarp -srcnodata 0 -dstalpha -of GTiff foo1 foo2

Tôi đang làm việc với băng tần Landsat8 (nơi không có dữ liệu = 0) và khi sử dụng -dstnodatachức năng tôi nhận được:

band1 với không có dữ liệu = 'no dữ liệu'
band2 (Alpha band) = '255' cho cảnh toàn bộ / mức độ

trong khi với -srcnodatachức năng tôi nhận được:

band1 với không có dữ liệu = 'no dữ liệu'
band2 (alpha band) không có dữ liệu = 'không có dữ liệu và dữ liệu hợp lệ = '255' mà sau đó cho phép chiết xuất đa giác chỉ dữ liệu hợp lệ.

Tôi không thể hiểu đầy đủ lý do đằng sau hành vi này (cách tính alpha?), Nhưng tôi hy vọng điều này có thể giúp những người khác đối mặt với cùng một vấ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.