Soy nuevo en el SIG.
Tengo un código que convierte imágenes infrarrojas de Marte en mapas de inercia térmica, que luego se almacenan como matrices 2D de numpy. He estado guardando estos mapas como archivos hdf5 pero realmente me gustaría guardarlos como imágenes raster para poder procesarlos en QGIS. He realizado múltiples búsquedas para encontrar cómo hacer esto pero sin suerte. He intentado seguir las instrucciones del tutorial en http://www.gis.usu.edu/~chrisg/python/ pero los archivos que produzco usando su código de ejemplo se abren como simples cajas grises cuando los importo a QGIS. Creo que si alguien pudiera sugerir el procedimiento más sencillo posible para un ejemplo simplificado de lo que me gustaría hacer, entonces podría ser capaz de hacer algún progreso. Tengo QGIS y GDAL, estaría encantado de instalar otros frameworks que alguien pudiera recomendar. Uso Mac OS 10.7.
Así que si por ejemplo tengo un array de numpy de inercia térmica que se parece a:
TI = ( (0.1, 0.2, 0.3, 0.4),
(0.2, 0.3, 0.4, 0.5),
(0.3, 0.4, 0.5, 0.6),
(0.4, 0.5, 0.6, 0.7) )
Y para cada píxel tengo la latitud y la longitud:
lat = ( (10.0, 10.0, 10.0, 10.0),
( 9.5, 9.5, 9.5, 9.5),
( 9.0, 9.0, 9.0, 9.0),
( 8.5, 8.5, 8.5, 8.5) )
lon = ( (20.0, 20.5, 21.0, 21.5),
(20.0, 20.5, 21.0, 21.5),
(20.0, 20.5, 21.0, 21.5),
(20.0, 20.5, 21.0, 21.5) )
¿Qué procedimiento me recomiendan para convertir estos datos en un archivo raster que pueda abrir en QGIS?
0 votos
¿A qué diapositiva del tutorial se refiere?
1 votos
Me encanta Python, pero veo tantas respuestas como estas de abajo que serían de una sola línea en R.
0 votos
¿Alguien ha probado aquí el método Create con la opción AAIGrid? O incluso con AIG. No crea el objeto output_raster. Tampoco se lanza ningún error. Los metadatos parecen estar bien para crear un objeto Create pero siempre obtengo NoneType. GTiff funciona bien Aquí está el fragmento de código que he probado: ``` xmin,ymin,xmax,ymax = [lons.min().values,lats.min().values,\ lons.max().values,lats.max().values] ncols =lons.shape[0] nrows = lats. shape[0] xres = (xmax-xmin)/float(ncols) yres = (ymax-ymin)/float(nrows) geotransform=[xmin,xres,0,ymin,0,yres ] driver= gdal.GetDriverByName('AAIGrid') metadata = driver.GetMetadata() outp
1 votos
@geotheory, pero entonces tendrías que escribirlo en R, y todo el mundo sabe: R<-[i para i no en tuitive]