Xin lỗi nếu câu hỏi sau đây hơi ngu ngốc, nhưng tôi chỉ RẤT mới đối với toàn bộ điều này.
Tôi đang cố gắng chuyển đổi một số hình ảnh GeoTiff dự kiến sang WGS84 bằng gdal trong python. Tôi đã tìm thấy một bài đăng phác thảo quá trình biến đổi các điểm trong các GeoTiff được chiếu bằng cách sử dụng một cái gì đó tương tự như sau:
from osgeo import osr, gdal
# get the existing coordinate system
ds = gdal.Open('path/to/file')
old_cs= osr.SpatialReference()
old_cs.ImportFromWkt(ds.GetProjectionRef())
# create the new coordinate system
wgs84_wkt = """
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4326"]]"""
new_cs = osr.SpatialReference()
new_cs .ImportFromWkt(wgs84_wkt)
# create a transform object to convert between coordinate systems
transform = osr.CoordinateTransformation(old_cs,new_cs)
#get the point to transform, pixel (0,0) in this case
width = ds.RasterXSize
height = ds.RasterYSize
gt = ds.GetGeoTransform()
minx = gt[0]
miny = gt[3] + width*gt[4] + height*gt[5]
#get the coordinates in lat long
latlong = transform.TransformPoint(x,y)
Câu hỏi của tôi là, nếu tôi muốn chuyển đổi các điểm này và tạo một tệp GeoTiff WGS84 mới, đây có phải là cách tốt nhất để thực hiện không? Có một chức năng tồn tại sẽ làm như nhiệm vụ trong 1 bước?
Cảm ơn!