Aplico la siguiente referencia espacial a un archivo:
spatialRef = osr.SpatialReference()
spatialRef.ImportFromEPSG(3411)
outraster.SetProjection(spatialRef.ExportToWkt() )
geotransform = (-3850000.0, 25000.0 ,0.0 ,5850000.0, 0.0, -25000.0)
outraster.SetGeoTransform(geotransform)
Si utilizo "icechart.GetGeoTransform()" y "icechart.GetProjection()" en Python, la salida parece correcta.
>>>icechart = gdal.Open(r'C:\Users\max\Desktop\test\icechart_persistencemap.tif')
>>>icechart.GetProjection()
'PROJCS["NSIDC_Sea_Ice_Polar_Stereographic_North",GEOGCS["GCS_Unspecified datum based upon
the Hughes 1980 ellipsoid",DATUM["D_",SPHEROID["Hughes_1980",6378273,298.279411123064]],
PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Stereographic_North_P
ole"],PARAMETER["standard_parallel_1",70],PARAMETER["central_meridian",-45],PARAMETER
["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]]'
>>>icechart.GetGeoTransform()
(-3850000.0, 25000.0, 0.0, 5850000.0, 0.0, -25000.0)
Sin embargo, gdalinfo me dice que no hay ninguna Referencia Espacial definida, tampoco lo hace QuantumGIS.
Cuando obtengo la Proyección y Geotransformación de otro archivo, en lugar de definirla manualmente, gdalinfo encuentra la Referencia Espacial:
outraster.SetGeoTransform(icechart.GetGeoTransform())
outraster.SetProjection(icechart.GetProjection())
También cuando reproyecto el raster de arriba con gdalwarp, gdalinfo y QGIS reconocen la Referencia Espacial:
os.system('gdalwarp -s_srs EPSG:3411 -tr 25000 -25000 -t_srs EPSG:3575 -of GTiff '
+ infile + ' ' + outfile)
¿Qué hay de malo en las primeras líneas de código de este post? ¿Algún consejo?