4 votos

PostGIS ST_AsTIFF función genera excepción de memoria?

Tenemos una imagen de satélite de carga en PostGIS. Hemos calculado la reflectancia de la trama a partir de esa imagen y se almacenan los resultados como 32BF píxeles. Hay 54 1000x1000 azulejos en la reflectancia de la trama.

Quiero crear un GeoTIFF de que la reflectancia de la trama. Fichas individuales de trabajo fino. Pero el uso de un ST_Union en la reflectancia de la trama de la columna provoca una excepción al ejecutar la consulta siguiente de Python:

SELECT ST_AsTIFF(ST_Union(refl_rast), 'GTiff') gtiff
FROM sat_rast_calc

InternalError: invalid memory alloc request size 1344128795

Sé que puedo exportar los azulejos de forma individual y en combinación con gdal_merge.py después. Prefiero a la exportación de este GTiff en un solo paso, aunque.

Cualquiera de estos es probable que ayudar?

  1. El uso de un diferente tipo de pixel
  2. Pasando a otro ST_AsGTIFF opción
  3. El aumento de un PostGRES parámetro de memoria
  4. El aumento de un parámetro del kernel de Linux
  5. Hacer algo más

1voto

Gary Peck Puntos 151

El límite de memoria para una fila en PostgreSQL es de 1 GB. Trate de usar menos memoria hambre tipo de pixel. Usted también puede tratar de pasar un parámetro de compresión para ST_AsTiff() pero creo que el trabajo interno se realiza sin compresión. Pruebe también a comprimir las baldosas ANTES de ST_Union() sólo en caso de... los Rásteres en PostGIS se esta pensada para trabajar bien como pequeño pedazo de trama. No manipular grandes rásteres como un todo.

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