6 votos

Masa-actualización de la proyección en archivos comprimidos de GeoTIFF

Tengo un enorme conjunto de comprimidos de archivos GeoTIFF. Alguien olvidó poner la proyección, mientras que la creación de los archivos GeoTIFF y me gustaría añadir ahora.

Si yo uso

gdalwarp -t_srs de origen.tif de destino.tif

el resultado es un archivo sin comprimir. Me gustaría evitar la (de)la compresión, si es posible, ya que espero que degradan el resultado final debido a la recompresión y porque se requieren más tiempo para descomprimir y comprimir cada archivo de nuevo.

Supongo que la proyección de la información es almacenada en el encabezado.

Hay una manera fácil de actualizar solamente la proyección de la información en un archivo GeoTIFF?

9voto

hernan43 Puntos 566

Hacer un pequeño script en Python llamado "UpdateSRS.py":

import sys
from glob import glob
from osgeo import gdal, osr

# Define your projection here
sr = osr.SpatialReference()
# For example, UTM Zone 11
sr.SetUTM(11)
sr_wkt = sr.ExportToWkt()

file_list = set()
for arg in sys.argv[1:]:
    file_list.update(glob(arg))
for file in file_list:
    ds = gdal.Open(file, gdal.GA_Update)
    if ds:
        print('Updating projection for ' + file)
        res = ds.SetProjection(sr_wkt)
        if res != 0:
            print('Setting projection failed ' + str(res))
        ds = None # save, close
    else:
        print('Could not open with GDAL: ' + file)

Ejecutar desde un símbolo del sistema con argumentos, algo como esto:

python UpdateSRS.py *.tif

Usted tendrá que actualizar la lógica para generar sr_wkt . Podría ser tan simple como pegar solo el WKT para la proyección, si lo conoce.

1voto

Simon Nickerson Puntos 17147

También se puede utilizar .prj archivos con información de la proyección. De esta manera usted puede evitar cualquier modificación del tiff de la fuente y esta es la forma más rápida de gran cantidad de datos que creo.

PS usando archivo .prj fuera Esri software puede ser complicado y no se admite en todas partes. Por lo tanto, comprobar si es compatible con el software donde usted planea utilizar sus tramas.

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