Tôi đang gặp nhiều rắc rối với GDAL. Bên cạnh những lúc thiếu tài liệu, dường như có rất ít sự hỗ trợ trong Python. Dù sao, đây chỉ là một kịch bản reproject hàng loạt đi như vậy:
source_file = gdal.Open(filepath.encode("ascii"))
source_wkt = source_file.GetProjectionRef()
source_srs = osr.SpatialReference()
source_srs.ImportFromWkt(source_wkt)
reproj_file = gdal.AutoCreateWarpedVRT(source_file, source_wkt, dest_wkt)
gdal.ReprojectImage(source_file, reproj_file, source_wkt, dest_wkt)
reproj_attributes = reproj_file.GetGeoTransform()
driver = gdal.GetDriverByName("GTiff")
dest_file = driver.CreateCopy(outputpath.encode("ascii"), reproj_file, 0)
Phần Dest_srs và des_wkt không được xác định trong đoạn mã này nhưng nó nằm ở đâu đó bên ngoài vòng lặp (vì nó chỉ cần được xác định một lần). Nó dường như hoạt động một lần, tôi có thể nhận được một cái nhìn đẹp từ nó, sau đó đưa cho tôi một 'ERROR 6 WriteBlock () không được hỗ trợ' và các sự cố trăn. Chúng đều là các GeoTIFF được tạo theo cùng một cách với cùng một dữ liệu cơ bản (chỉ thời gian khác nhau).
Ngoài ra, do tính chất của sự từ chối (từ GCS đến PCS), AutoCreateWarpedVRT có xu hướng tạo ra nhiều khoảng trống, nhưng cung cấp cho nó một giá trị 0, đây là một vấn đề vì đó có thể là giá trị dữ liệu thực. Có cách nào đó để đặt giá trị nốt thành -99 thay vào đó không?
gdalwarp -t_srs '+proj=utm +zone=11 +datum=WGS84' raw_spot.tif utm11.tif
. Nó đã xuất hiện từ lâu, tính năng phong phú, được thử nghiệm tốt và có khả năng nhanh hơn phương pháp trăn thuần túy.