Trong tài liệu cho gdal_calc, nó được ghi rõ Máy tính raster dòng lệnh với cú pháp numpy . Sau này có một vài ví dụ trong đó một trong số chúng:
gdal_calc.py -A input.tif --outfile = result.tif --calc = "A * (A> 0)" --NoDataValue = 0 - có nghĩa là đặt giá trị từ 0 trở xuống thành null
Thật không may, không có ví dụ về các toán tử logic như:
--calc = "A * (A> 0 và A> B)" - có nghĩa là giữ A nếu A lớn hơn và B lớn hơn và đặt phần còn lại thành null
Dựa trên các hàm logic Numpy / Scipy, tôi sẽ viết các toán tử logic như sau:
--calc = "A * logic_and (A> 0, A> B)"
Tôi đã thử điều này và nó có vẻ hoạt động nhưng tôi muốn được đảm bảo rằng đó là chính xác.
Theo cách tương tự nếu bạn muốn tối thiểu A và B:
--calc = "A * (A <= B) + B * (A> B)"
Bạn chỉ có thể viết:
--calc = "tối thiểu (A, B)"
Vấn đề của tôi là tôi không thể tìm thấy bất kỳ cuốn sách nấu ăn nào để đảm bảo rằng tôi làm đúng. Có một số sách dạy nấu ăn tốt với các ví dụ nâng cao về những gì là và không thể với gdal_calc?