ในเอกสาร gdal_calcแต่มันคือคำสั่งเครื่องคิดเลขบรรทัดแรสเตอร์มีไวยากรณ์ numpy ต่อมามีตัวอย่างบางส่วนที่หนึ่งในนั้นคือ
gdal_calc.py -A input.tif --outfile = result.tif --calc = "A * (A> 0)" --NoDataValue = 0 - หมายถึงการตั้งค่าศูนย์และด้านล่างเป็นโมฆะ
น่าเสียดายที่ไม่มีตัวอย่างเกี่ยวกับตัวดำเนินการเชิงตรรกะเช่น:
--calc = "A * (A> 0 และ A> B)" - หมายถึงการรักษาถ้า A ที่ใหญ่กว่าศูนย์และใหญ่กว่า B และตั้งค่าที่เหลือเป็นโมฆะ
จากฟังก์ชั่นลอจิก Numpy / Scipyฉันคาดว่าจะเขียนตัวดำเนินการเชิงตรรกะเป็น:
--calc = "A * logical_and (A> 0 A> B)"
ฉันลองและดูเหมือนว่าจะใช้งานได้ แต่ฉันต้องการมั่นใจว่าถูกต้อง
ในทำนองเดียวกันถ้าคุณต้องการค่า A และ B ขั้นต่ำ:
--calc = "A * (A <= B) + B * (A> B)"
คุณสามารถเขียน:
--calc = "ขั้นต่ำ (A, B)"
ปัญหาของฉันคือฉันไม่สามารถหาตำราอาหารใด ๆ เพื่อให้แน่ใจว่าฉันได้รับสิทธิ์นี้ มีตำราอาหารที่ดีพร้อมตัวอย่างขั้นสูงของสิ่งที่เป็นและไม่สามารถทำได้ด้วย gdal_calc?