ฉันกำลังเขียนยูทิลิตี้ง่าย ๆ ในการครอบตัดไฟล์แรสเตอร์ geotiff หลายแบนด์ไปยังพื้นที่ (เล็กกว่า) เดียวกัน เมื่อใช้ gdalwarp ฉันสามารถครอบตัดไฟล์ได้อย่างง่ายดายโดยใช้รูปทรงการตัดรูปหลายเหลี่ยมเดียว:
gdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif
อย่างไรก็ตามพื้นที่จริงที่ฉันต้องการคลิปจะถูกกำหนดไว้ในขั้นต้นเสมอโดยไฟล์แรสเตอร์ geotiff อื่นไม่ใช่ไฟล์รูปร่าง มันจะดีถ้าฉันสามารถใช้ขอบเขตของแรสเตอร์นั้นเป็นไฟล์รูปวาด แต่ฉันไม่แน่ใจว่าจะทำอย่างไร น่าแปลกใจที่สิ่งต่อไปนี้ใช้งานไม่ได้ (มันไม่ได้ทำให้เกิดข้อผิดพลาด แต่ก็ไม่ได้สร้างอะไร):
gdalwarp -cutline clipper.tif-crop_to_cutline input.tif output.tif
ดังนั้นคำถามของฉันคือมีวิธีให้แรสเตอร์gdalwarp -cutline
? อีกวิธีหนึ่งมีฟังก์ชัน gdal อื่นที่สามารถคลิปแรสเตอร์โดยใช้แรสเตอร์อื่นได้หรือไม่ หากไม่มีสิ่งเหล่านี้เป็นไปได้มีวิธีที่ง่ายมากในการสร้างรูปร่างไฟล์ที่มีรูปหลายเหลี่ยมเดียวที่กำหนดโดยขอบเขตของแรสเตอร์หรือไม่?
รหัสนี้จะถูกห่อหุ้มด้วยสคริปต์ไพ ธ อนที่กว้างขวางกว่าดังนั้นฉันสามารถใช้ยูทิลิตี้บรรทัดคำสั่ง gdal หรือการผูกไพ ธ อนใด ๆ สำหรับ gdal
ในฐานะที่เป็นบันทึกด้านข้างฉันรู้ว่าฉันสามารถสร้างรูปทรงการตัดได้อย่างง่ายดายซึ่งครอบคลุมขอบเขตของแรสเตอร์ของฉันใน QGIS ฉันอาจเลิกทำหากไม่พบวิธีแก้ปัญหาที่ตรงไปตรงมา แต่ท้ายที่สุดฉันจะเลิกใช้ยูทิลิตีนี้ในหลายสิบถ้าไม่ใช่พื้นที่นับร้อยซึ่งเป็นส่วนหนึ่งของการวิเคราะห์อัตโนมัติขนาดใหญ่ดังนั้นฉันจึงไม่อยากจะเบื่อ ขั้นตอนแบบแมนนวลแม้ว่าจะง่ายมาก
gdaltindex clipper.shp clipper.tif
ตามด้วยgdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif