5 votos

la adición de varios puntos para una cadena de línea en PostGIS

A pesar de ser un novato a PostGIS, estoy teniendo problemas para solucionar algo que creo que debería ser farily sencillo.

Tengo dos linestring tablas, tanto que consta de simple, 2-nodo de línea de los objetos: uno tiene los segmentos de carretera explotó centro-líneas ('r_lines'), mientras que el otro tiene líneas ('a_lines') a partir de un addresspoint al punto más cercano en el centro más cercano de la línea de segmento, que en la mayoría de los casos no es ni el principio ni fin nodo de que roadline segmento.

En última instancia, es necesario disponer de una tabla consiste de (conectado) 2-pt linestrings.

No he sido capaz de averiguar cómo introducir el extremo de la a_lines en el r_lines para crear nuevos segmentos, y el problema parece ser que uno de los r_line segmento podría ser interceptada por varios a_lines. Así que un método anteriormente descrito para añadir vértices a linestrings por la ruptura y re-fusión no puede ser aplicado directamente, a menos que yo podría hacerlo de forma iterativa (que no sé cómo hacerlo).

También he tratado de quitar todos los puntos en una tabla y, a continuación, crear una nueva cadena de línea con el método de agrupamiento que se describe aquí. Esto hizo crear líneas, pero no los que yo esperaba, ya que con frecuencia parecía a doble vuelta en cada oter.

Agradecido por cualquier sugerencia.

(Y pido disculpas por la puramente textual descripción: como un nuevo usuario de poca reputación estoy impedido de carga útil de la ilustración.)

2voto

TorgoGuy Puntos 753

¿

select st_union(t1.wkb_geometry) as wkb_geometry into some_table from 
(
    select wkb_geometry from r_lines  union select wkb_geometry from a_lines
) t1

luego viendo el resultado de some_table

La consulta sobre los sindicatos de todas sus líneas en r_lines y todas sus líneas en a_lines en uno de los resultados, a continuación, se combina todo eso junto en una línea y escribe esta tabla some_table. Si usted necesita para luego dividir este nuevo dividiendo en cada intersección, podemos explotar esta tabla con la consulta

select (st_dump(wkb_geometry)).geom as wkb_geometry into some_split_table from some_table

La salida de arriba, se puede ver en some_split_table

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