Aclaración: de alguna manera omití el aspecto clave: no usar os.system o subprocess, solo la API de python.¿Cómo proyectar y volver a muestrear una cuadrícula para que coincida con otra cuadrícula con GDAL python?
Estoy tratando de convertir una sección de una cuadrícula de compensación NOAA GTX para transformaciones verticales de datum y no seguir totalmente cómo hacer esto en GDAL con python. Me gustaría tomar una grilla (en este caso, una Grilla Atribuida de Batimetría, pero podría ser un geotif) y usarla como la plantilla que me gustaría hacer. Si puedo hacer esto bien, tengo la sensación de que será de gran ayuda que las personas hagan uso de este tipo de datos.
Esto es lo que tengo que definitivamente no funciona. Cuando ejecuto gdalinfo en el conjunto de datos de destino resultante (dst_ds), no coincide con la BAG de la cuadrícula de origen.
from osgeo import gdal, osr
bag = gdal.Open(bag_filename)
gtx = gdal.Open(gtx_filename)
bag_srs = osr.SpatialReference()
bag_srs.ImportFromWkt(bag.GetProjection())
vrt = gdal.AutoCreateWarpedVRT(gtx, None, bag_srs.ExportToWkt(), gdal.GRA_Bilinear, 0.125)
dst_ds = gdal.GetDriverByName('GTiff').Create(out_filename, bag.RasterXSize, bag.RasterYSize,
1, gdalconst.GDT_Float32)
dst_ds.SetProjection(bag_srs.ExportToWkt())
dst_ds.SetGeoTransform(vrt.GetGeoTransform())
def warp_progress(pct, message, user_data):
return 1
gdal.ReprojectImage(gtx, dst_ds, None, None, gdal.GRA_NearestNeighbour, 0, 0.125, warp_progress, None)
archivos de ejemplo (pero ningún dos rejillas donde se superponen, pero se encuentran en diferentes proyecciones haría):
- http://surveys.ngdc.noaa.gov/mgg/NOS/coast/F00001-F02000/F00574/BAG/ F00574_MB_2m_MLLW_2of3.bag
- http://vdatum.noaa.gov/download/data/VDatum_National.zip MENHMAgome01_8301/mllw.gtx
La línea de comando equivale a lo que estoy tratando de hacer:
gdalwarp -tr 2 -2 -te 369179 4773093 372861 4775259 -of VRT -t_srs EPSG:2960 \
MENHMAgome01_8301/mllw.gtx mllw-2960-crop-resample.vrt
gdal_translate mllw-2960-crop-resample.{vrt,tif}
¿Cuál es la salida de la WKT para bag_srs? ¿Has verificado que es el mismo SRS que da "bolsa"? He encontrado algo de WKT que ... bueno, no está bien formateado ... Noté que la versión de línea de comandos especifica EPSG: 2960 (¿cuál es NAD83?). No he usado GDAL en mucho tiempo, pero si me encuentro con esto, supongo que comenzaré asegurándome de que la reproyección usa los valores SRS correctos. Lo siento, no es una buena respuesta ... es por eso que es un comentario. – Kasapo