6 votos

Spatialite SpatialSQL Consulta

He estado desconcertados por esta consulta. Tengo una tabla de puntos, y una tabla de líneas, y estoy tratando de devolver el id de punto y de la línea de identificación cada vez que el punto se encuentra dentro de un buffer de la línea (es decir, un único punto podría ser contenida varias veces, y me gustaría que los múltiples registros devueltos).

He estado utilizando la siguiente consulta:

select 'points'.'id', 'lines'.'id' from points, lines 
where Contains(Buffer('lines'.'geometry',50),'points'.'geometry')

Me pongo un conjunto de resultados devuelto, y le da varios puntos donde se encuentra en más de un buffer. Sin embargo, el conjunto de resultados es limitada para el primer registro en 'puntos'. He probado el búfer de selección en su propia y que parece ser la creación de varios polígonos, así que no estoy seguro de dónde está el error aquí, suponiendo que esto es posible de lograr. No creo que este es un Spatialite problema y es probablemente mi SQL. Los punteros apreciada.

Gracias

Stephen

7voto

eplawless Puntos 2076

También puede intentar utilizar las funciones Within() o Intersects().

si todavía no funciona, puedes intentar crear primero tus buffers en una tabla nueva/temporal y luego seleccionar puntos dentro de ellos. Sería más claro ver de dónde viene el error procesando paso a paso.

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