Coordenadas geograficas y rasters
Jose Gomez-Dans
jgomezdans en gmail.com
Lun Dic 15 12:50:44 CET 2008
Hola,
2008/12/14 Alfonso de la Guarda <alfonsodg en gmail.com>
> Voy a profundizar en gdal, aún cuando ya lo vengo empleando para otros
> menesteres.
>
Tu imagen es test.tif. Asimismo, asumo que quieres saber las coordenadas
(x,y) de un pixel relacionadas con el centro del pixel (no con los lados).
#!/usr/bin/python
import osgeo.gdal as gdal
import osgeo.osr as osr
row = FILA
col = COLUMNA
g = gdal.Open ( "test.tif")
proj = g.GetProjectionRef() # Cogemos la referencia espacial del GeoTIFF. Si
no la tiene, la hay que especificar
latlong = osr.SpatialReference()
latlong.ImportFromProj4('+proj=latlong +datum=WGS84') # Esta es la
referencia espacial para long/lat WGS84
transform = osr.CoordinateTransformation( proj, latlong ) #Definimos la
conversión
geoT = g.GetGeoTransform()
#geoT es una lista con 6 elementos. El pixel (i,j) se corresponde a la
posición (x,y) en el sistema de coordenadas de la imagen.
x = geoT[0] + (row+0.5)*geoT[1] #Coordenada x en el sistema de proyección
empleado por test.tif
y = geoT[3] + (col+0.5)*geoT[5] #Idem para la coordenada y. Asumimos que no
hay rotación
(lon, lat, z) = transform.TransformPoint(x, y) # Convertimos (x,y) a
longitud latitud
Hay algunos apuntes más en jgomezdans.googlepages.com, un tanto anticuados,
pero bueno, pueden servir :)
J
--
Centre for Terrestrial Carbon Dynamics
Department of Geography, University College London
Gower Street, London WC1E 6BT, UK
_______________________________________________
Lista de correo Python-es
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes
Más información sobre la lista de distribución Python-es