1 votos

¿Recorte de trama en PostgreSQL?

Quiero recortar una trama (SRID 32649) con un polígono (SRID 4326) en el SRID 32648

Primero transformo el raster usando la consulta

create view ras68 as
select st_transform(rast,32648) as rast
from ras69

A continuación, cortar la trama 32648 con el polígono

select st_union(st_clip(rast,1,st_transform(geom,32648),true) )
from ras68, shp
where st_intersects(rast,st_transform(geom,32648))

El resultado tiene error:

ERROR: rt_raster_from_two_rasters: Los dos rásteres proporcionados no tienen la misma alineación ********** Error **********

ERROR: rt_raster_from_two_rasters: Los dos rásteres proporcionados no tienen la misma alineación Estado SQL: XX000

¿Cuál es mi error y cómo solucionarlo? (Si sólo se ejecuta st_intersects(), el resultado está bien, se superponen)

2voto

dlanod Puntos 8661

Debe hacer su st_transform de raster alineado a un raster de referencia, de lo contrario cada mosaico obtiene su propia escala, etc., por lo que puede dejar de coincidir.

Inténtalo:

   CREATE OR REPLACE VIEW ras68 as
      WITH ref AS (
       SELECT ST_Transform(rast,32648) As rast_alignto
           FROM ras69 LIMIT 1)
      SELECT st_transform(rast,rast_alignto) as rast
      FROM ras69;

y luego volver a ejecutar su unión

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