¿Cómo puedo obtener las coordenadas proyectadas así como los valores reales de los píxeles en esas coordenadas desde un archivo GeoTiff y luego guardarlos en una matriz numpy? Tengo el archivo arsenci020l.tif, y sus coordenadas están en metros. Abajo está la salida abreviada de gdalinfo que ejecuté en él.
~$ gdalinfo arsenci020l.tif
Driver: GTiff/GeoTIFF
Files: arsenci020l.tif
arsenci020l.tfw
Size is 10366, 7273
Coordinate System is:
PROJCS["Lambert Azimuthal Equal Area projection with arbitrary plane grid; projection center 100.0 degrees W, 45.0 degrees N",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Lambert_Azimuthal_Equal_Area"],
PARAMETER["latitude_of_center",45],
PARAMETER["longitude_of_center",-100],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]]]
Origin = (-6086629.000000000000000,4488761.000000000000000)
Pixel Size = (1000.000000000000000,-1000.000000000000000)
...
Hubo una pregunta similar aquí sobre la obtención de coordenadas de latitud y longitud de tiff (Obtener latitud y longitud de un archivo GeoTIFF) y la respuesta mostró cómo obtener sólo las coordenadas de píxeles de la parte superior izquierda x e y. Necesito obtener TODAS las coordenadas de los píxeles proyectados, así como obtener los valores de los píxeles y guardarlos en un array de numpy. ¿Cómo puedo hacerlo?
0 votos
¿Quieres 10366 × 7273 = más de 75 millones de puntos?
0 votos
@MikeT Creo que sí, no conozco una solución mejor de cómo enfocar el problema que estoy tratando de resolver: necesito encontrar la coordenada de píxel más cercana de este conjunto de datos a cada centroide del bloque de EE.UU. y luego asignar el valor de píxel correspondiente a ese bloque. Buscando por ahí me he dado cuenta de que la consulta cKDTree me va a ayudar con la búsqueda del vecino más cercano.La función de Python para el algoritmo pide un "árbol" para consultar como matriz numpy.Para hacer un "árbol" con todas las coordenadas de píxeles de este conjunto de datos,necesito almacenarlas todas de alguna manera.Si tienes una solución mejor,por favor, házmelo saber.
0 votos
No puedo entender por qué este procedimiento requiere tanto código en Python.