การคลิปภาพแรสเตอร์จะเพิ่มขนาดไฟล์


9

การทำงานกับ QGIS 2.4.0 Chugiak ฉันมีคำถามเกี่ยวกับการตัดภาพแรสเตอร์ ฉันมีภาพถ่ายทางอากาศที่ฉันต้องการคลิปโดยใช้ extents ของ shapefile จนถึงตอนนี้ฉันใช้เครื่องมือแรสเตอร์ / การสกัด / clipper เพื่อทำสิ่งนี้ ปัญหาคือขนาดไฟล์ของเอาท์พุทแรสเตอร์ของฉันมีขนาดใหญ่กว่าไฟล์ต้นฉบับเกือบสามเท่า (เช่น 725.283 และ 249.693 kb ตามลำดับ) ในขณะที่มันครอบคลุมพื้นผิวที่เล็กลง

ทำไมไฟล์ของฉันถึงใหญ่กว่า และมีวิธีการ 'ตั้งค่า' ขนาดไฟล์ที่ส่งออกหรือไม่?

ฟังก์ชั่นความช่วยเหลือของปัตตาเลี่ยนอ้างถึงหน้าต่อไปนี้: http://www.gdal.org/gdal_translate.htmlแม้ว่าฉันจะไม่ได้ประโยชน์อะไรมากมาย

ฉันค่อนข้างใหม่กับ QGIS


โดยปกติจะหมายถึงต้นฉบับถูกบีบอัด แต่ tiff ที่ถูกตัดจะไม่ถูกบีบอัด คุณต้องอ่านเกี่ยวกับไดรเวอร์ GDAL GeoTIFF และตัวเลือกการบีบอัด
30184

หากคุณต้องการใช้การบีบอัดข้อมูลชุดข้อมูลของคุณคุณต้องแก้ไขคำสั่งดังที่แสดงที่ด้านล่างของส่วนต่อประสานปัตตาเลี่ยนและรวมตัวเลือกการสร้างด้วย-coแฟล็ก สำหรับ GeoTiff คุณสามารถทำได้เช่น-co compress=lzwใช้การบีบอัด LZW แบบไม่สูญเสีย เราจำเป็นต้องทราบข้อมูลเพิ่มเติมเกี่ยวกับชุดข้อมูลของคุณเพื่อให้สามารถช่วยเหลือคุณ (ตัวอย่างเช่นผ่านgdlainfo)
Kersten

ภาพ TIFF ที่ไม่บีบอัดมักจะเร็วกว่า
Zoltan

ขอบคุณทุกคำตอบ นี่อาจเป็นปัญหาการบีบอัดฉันไม่ได้คิดอย่างนั้น ใช่ Kersten ฉันสังเกตเห็นคอนโซลในอินเทอร์เฟซของ clipper แม้ว่าฉันจะไม่ทราบวิธีใช้สิ่งนี้ ฉันพยายามเรียกใช้ gdalinfo จากคอนโซล Python ใน QGIS แต่ฉันไม่มีประสบการณ์กับสิ่งนี้ ไม่มีใครรู้ของการสอนที่เหมาะสมเพื่อทำความคุ้นเคยกับตัวเอง? ไชโย
Mathijs

คุณสามารถไปที่Raster > Miscellaneous > Informationจะมีการgdalinfoทำงานบนไฟล์ของคุณ raster คุณไม่สามารถเรียกใช้จากคอนโซล Python โดยตรงเนื่องจากไม่ใช่สคริปต์ Python
bosth

คำตอบ:


6

เมื่อคุณเรียกใช้เครื่องมือคลิปแรสเตอร์ใน QGIS มันจะแสดงคำสั่ง GDAL ที่แน่นอนที่จะทำงานในส่วนด้านล่างของกล่องโต้ตอบ

เครื่องมือคลิปแรสเตอร์

โดยการคลิกที่ปุ่มปากกาทางด้านขวาของคำสั่งคุณสามารถแก้ไขได้โดยตรงและเพิ่มในตัวเลือกการกำหนดค่าการบีบอัด ในตัวอย่างของฉันนี่คือคำสั่งเริ่มต้น:

gdalwarp -q -cutline /tmp/mask.shp -crop_to_cutline -of GTiff /tmp/453A.tif /tmp/output.tif

คุณสามารถเปลี่ยนเป็น:

gdalwarp -q -cutline /tmp/mask.shp -crop_to_cutline -of GTiff -co "COMPRESS=LZW" /tmp/453A.tif /tmp/output.tif

สิ่งพิเศษ-co "COMPRESS=LZW"คือหนึ่งในตัวเลือกการบีบอัดที่เป็นไปได้มากมายที่คุณสามารถใช้กับไฟล์ GeoTIFF เอกสาร GDALมีข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกทั้งหมด


ขอบคุณมากนั่นคือสิ่งที่ฉันต้องการ ไฟล์ดังกล่าวยังคงเป็น 409.019 kb เกือบสองเท่าใหญ่เท่ากับต้นฉบับ แต่การเรนเดอร์นั้นเร็วกว่ามาก เว็บไซต์นั้นฉันเคยเห็น แต่ฉันไม่เข้าใจมันมาก Gdalinfo แสดงให้เห็นว่าการบีบอัดนั้นเป็น 'เครื่องหมายถูก' สำหรับคลิปแรกดังนั้นนี่จึงเป็นปัญหา
Mathijs

เมื่อคุณเรียกใช้gdalinfoรายงานการบีบอัดคืออะไร เราควรจะสามารถทำซ้ำในไฟล์ที่สองเมื่อเรารู้ ฉันเดาว่ามันอาจจะสูญเสีย JPEG หากมันเล็กกว่า LZW มาก
bosth

นี่คือสิ่งที่มันบอกว่าสำหรับภาพต้นฉบับ: 'Pixel Size = (0.000738433000001, -0.000738432999949) ข้อมูลเมตา: AREA_OR_POINT = โครงสร้างรูปภาพพื้นที่ Metadata: การบีบอัด = LZW INTERLEAVE = PIXEL' = (0.000738423955088, -0.000738437979722) Metadata: AREA_OR_POINT = โครงสร้างรูปภาพพื้นที่ Metadata: การบีบอัด = LZW INTERLEAVE = PIXEL '
Mathijs

เป็นไปได้หรือไม่ที่คุณได้รับข้อมูลเมตาของภาพเดียวกันสองครั้งเนื่องจากทั้งสองเหมือนกันหรือไม่
bosth

ไม่ดูขนาดพิกเซล;)
Mathijs

0

อัปเดตสำหรับ QGIS เวอร์ชัน 3 ขึ้นไป: ตัวเลือกการบีบอัดรวมอยู่ในปลั๊กอินRaster-> Extraction-> Clip raster by mask layerและปลั๊กอินอื่น ๆ ส่วนใหญ่ที่สร้างไฟล์แรสเตอร์

ภายใต้Advanced parameters-> Profileการเลือกอย่างใดอย่างหนึ่งLow compressionหรือHigh compressionจะให้ไฟล์เล็กลง

ตัวเลือกการบีบอัดเหล่านี้ไม่มีการสูญเสีย แต่คุณสามารถเลือกตัวเลือกการสูญเสียได้เช่นกัน:

  • Low compression -> -co PACKBITS(ไม่สูญเสีย)
  • High compression-> -co DEFLATE(ไม่สูญเสีย)
  • JPEG compression-> -co JPEG_QUALITY=75(lossy: ระวัง!)

คลิปแรสเตอร์โดยหน้ากากชั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.