4 votos

Selección de líneas de la primera tabla basado en el cuadro delimitador de la segunda tabla en PostGIS

En PostGIS, estoy tratando de conseguir los elementos de la primera tabla(A) que se cruzan con el cuadro delimitador de la segunda tabla(B) . Obtengo el error mediante la consulta a continuación. ¿Cuál sería la sintaxis correcta.

SELECT A.* from A,B where ST_Intersects(A.geom,SELECT ST_Extent(geom) as table_extent FROM B);

ERROR: ERROR de sintaxis en o cerca de "SELECCIONAR" de la LÍNEA 1: ...de los ríos,india donde ST_Intersects(los ríos.geom,SELECCIONE ST_... ^ ********** Error **********

ERROR: ERROR de sintaxis en o cerca de "SELECCIONAR" estado de SQL: 42601 Carácter: 67

6voto

Luke Puntos 2163

Al pasar por una consulta en una función se debe encerrar entre paréntesis. En su caso, la consulta sería:

Además, realmente no necesita realizar un cross join aquí. Lo siguiente sería suficiente:

Cabe destacar que la geometría devuelta por ST_Extent pierde su SRID. Puede reiniciarlo con ST_SetSRID:

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