我正在尝试将无人机图像提取到QGIS / Google Earth Engine中,但都无法识别图像的空间参考,也就是说,QGIS / GDAL并未从文件中提取元数据。
问题:
当我将jpeg
文件导入QGIS或ArcGIS时,两者都告诉我图像没有参考系统(例如WARNING CRS was undefined : defaulting to CRS EPSG:4326 - WGS 84
;但是,从元数据中,我知道图像的纬度/经度值我可以提取。没有CRS,我无法继续分析。目前,我对投影图像不感兴趣,只需要一个地理参考系统即可。
我已经尝试过:
.jpeg
作为子过程从exiftool.exe
文件中提取元数据。效果很好,我可以修改元数据,但是我不知道如何更改它,以便QGIS / ArcGIS识别纬度/经度值并将图像定位在应有的位置。jpeg
文件导出到geotiff
文件,如下所示:gdal.Translate(outfile, infile, format = 'GTiff')
,但是GeoTIFF具有与jpeg
完全相同的元数据。
gdal.Translate(outfile, infile, format = 'GTiff', outputSRS='EPSG:4326')
*.prj
),如下所示:with open(basename+'.prj', 'w') as file:
file.write('PROJCS["WGS 84 / UTM zone 56S",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.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",153],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32756"]]')
SetMetadata()
也不起作用。我尝试过:ras = gdal.Open(input_file)
ras.SetMetadata({'Latitude': 'lat_from_metadata', 'Longitude':'lon_from_metadata'})
这些方法都没有帮助我在jpeg或TIFF上的图像文件上设置CRS。
如何在图像文件上设置SRS,以便QGIS / ArcGIS识别图像的位置? 任何提示都将不胜感激。