Cắt ảnh raster làm tăng kích thước tệp


9

Làm việc với QGIS 2.4.0 Chugiak Tôi có một câu hỏi liên quan đến việc cắt các hình ảnh raster. Tôi có một hình ảnh trên không mà tôi muốn quay bằng cách sử dụng phạm vi của một shapefile. Cho đến nay rất tốt, tôi đã sử dụng công cụ raster / extract / clipper để làm điều này. Vấn đề là kích thước tệp của raster đầu ra của tôi lớn hơn gần ba lần so với tệp gốc (tức là 725.283 và 249.693 kb tương ứng), trong khi nó bao phủ một bề mặt nhỏ hơn.

Tại sao tập tin của tôi lớn hơn? Và có cách nào để 'đặt' kích thước tệp đầu ra không?

Chức năng trợ giúp của clipper đề cập đến trang sau: http://www.gdal.org/gdal_translate.html Mặc dù tôi không thể tận dụng được nhiều thứ.

Tôi còn khá mới với QGIS.


Thông thường nó có nghĩa là bản gốc được nén nhưng tiff bị cắt không được nén. Bạn phải đọc về trình điều khiển GDAL GeoTIFF và các tùy chọn nén.
dùng49584

Nếu bạn muốn sử dụng tính năng nén trên tập dữ liệu đầu ra của mình, bạn phải chỉnh sửa lệnh, như được hiển thị ở dưới cùng của giao diện clipper và kết hợp các tùy chọn tạo với -cocờ. Đối với GeoTiff, ví dụ bạn có thể bao gồm -co compress=lzwsử dụng nén LZW không mất dữ liệu. Chúng tôi sẽ cần biết thêm về tập dữ liệu của bạn mặc dù để có thể giúp bạn (ví dụ thông qua gdlainfo).
Kersten

Hình ảnh TIFF không nén thường nhanh hơn.
Zoltan

Cảm ơn tất cả các câu trả lời. Đây thực sự có thể là một vấn đề nén, tôi đã không nghĩ về điều đó. Có Kersten Tôi đã chú ý đến bàn điều khiển trong giao diện clipper, mặc dù tôi chưa tìm ra cách sử dụng cái này. Tôi đang cố gắng chạy gdalinfo từ bảng điều khiển Python trong QGIS nhưng tôi không có kinh nghiệm với điều này. Có ai biết một hướng dẫn thích hợp để làm quen với bản thân mình? Chúc mừng
Mathijs

Bạn có thể đi đến Raster > Miscellaneous > Informationđã gdalinfochạy trên tập tin raster của bạn. Bạn không thể chạy nó trực tiếp từ bảng điều khiển Python vì nó không phải là tập lệnh Python.
bosth

Câu trả lời:


6

Khi bạn chạy công cụ clip raster trong QGIS, nó sẽ hiển thị cho bạn lệnh GDAL chính xác sẽ được chạy trong phần dưới cùng của hộp thoại.

Công cụ clip raster

Bằng cách nhấp vào nút bút ở bên phải của lệnh, bạn có thể chỉnh sửa trực tiếp và thêm vào tùy chọn cấu hình nén. Trong ví dụ của tôi, đây là lệnh bắt đầu:

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

Bạn có thể thay đổi điều này thành:

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

Phần bổ sung -co "COMPRESS=LZW"chỉ là một trong nhiều tùy chọn nén có thể bạn có thể sử dụng với các tệp GeoTIFF. Các tài liệu GDAL có thêm thông tin về tất cả các tùy chọn.


Rất cám ơn, đó chính xác là những gì tôi cần. Tệp vẫn là 409.019 kb, vì vậy lớn gần gấp đôi so với bản gốc, nhưng kết xuất nhanh hơn nhiều. Trang web đó tôi đã xem nhưng tôi không thể hiểu nhiều về nó. Gdalinfo đã chỉ ra rằng việc nén thực sự là 'đánh dấu' cho clip đầu tiên, vì vậy đây thực sự là vấn đề.
Mathijs

Khi bạn chạy gdalinfo, nó báo cáo những gì để nén? Chúng ta có thể sao chép nó trong tệp thứ hai sau khi chúng ta biết. Tôi đoán là nó có thể bị mất JPEG nếu nó nhỏ hơn đáng kể so với LZW.
bosth

Đây là những gì nó nói cho hình ảnh gốc: 'Kích thước pixel = (0,000738433000001, -0.000738432999949) Siêu dữ liệu: AREA_OR_POINT = Siêu dữ liệu cấu trúc hình ảnh khu vực: COMPRESSION = LZW INTERLEAVE = PIXEL' và đây là những gì nó nói = (0,000738423955088, -0,000738437979722) Siêu dữ liệu: AREA_OR_POINT = Siêu dữ liệu cấu trúc hình ảnh khu vực: COMPRESSION = LZW INTERLEAVE = PIXEL '
Mathijs

Có thể bạn vô tình nhận được siêu dữ liệu cho cùng một hình ảnh hai lần vì cả hai đều giống nhau?
bosth

Chúng không phải, nhìn vào kích thước pixel;)
Mathijs

0

Cập nhật cho phiên bản QGIS 3 trở lên: tùy chọn nén hiện được tích hợp trong plugin Raster-> Extraction-> Clip raster by mask layervà trong hầu hết các plugin khác tạo tệp raster.

Trong Advanced parameters-> Profile, chọn một trong hai Low compressionhoặc High compressionsẽ mang lại một tệp nhỏ hơn.

Các tùy chọn nén này không mất dữ liệu, nhưng bạn cũng có thể chọn các tùy chọn mất dữ liệu:

  • Low compression -> -co PACKBITS(không mất mát)
  • High compression-> -co DEFLATE(không mất mát)
  • JPEG compression-> -co JPEG_QUALITY=75(lossy: coi chừng!)

Clip raster bởi lớp mặt 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.