5 votos

Cómo convertir de cuadrícula de ESRI archivo en formato ASCII, o de lo contrario, la importación en matlab

Necesito importar un mapa climático descargado de WorldClim en Matlab para la manipulación con la mapshow comando. Me siento cómodo de leer en ASCII grid de datos en matlab, pero este formato no está disponible en este sitio web.

Disponibles son los de formato ESRI con la extensión de archivo ".adf" y genérico de la cuadrícula de archivos con extensión ".bil"

Alguien sabe cómo puedo conseguir estos en matlab?

4voto

ESV Puntos 4591

Asumiendo que usted está utilizando ArcGIS 10, se puede utilizar el arcpy RasterToNumPyArray comando para obtener una Colección de matriz, que si usted lee el NumPy de Entrada y Salida de las rutinas de la documentación se puede ver fácilmente puede volcado de los datos de mapa de bits en el disco como un archivo de texto con un formato de su elección.

Por ejemplo:

import arcpy
import numpy as np

arr = arcpy.RasterToNumPyArray('C:/some/raster.adf')
np.savetxt("output_array.txt", arr)

Mejor aún, descargar SciPy y de scipy.io no es la savemat función que puede

Guardar un diccionario de nombres y matrices en MATLAB de estilo .mat archivo

De nuevo, por ejemplo:

import arcpy
import numpy as np
import scipy.io as sio

arr = arcpy.RasterToNumPyArray('C:/some/raster.adf')
sio.savemat('out_vector.mat', {'vect':arr})

Si usted no está utilizando ArcGIS, entonces usted puede utilizar el GDAL biblioteca para convertir la trama en un formato más utilizable. Echa un vistazo a el uso de la gdal_translate de utilidad. Por ejemplo:

gdal_translate -of AAIGrid source_dataset.adf output_dataset

Por supuesto GDAL también tiene sus propios enlaces Python que se puede utilizar para leer los datos en una Colección de la Matriz y de exportación, como se muestra arriba.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X