1 votos

PgRouting Driving Distance se bloquea el servidor postgis

No he usado mucho el PgRouting así que estoy un poco a oscuras aquí. Sin embargo, estoy tratando de un cálculo de la distancia de conducción como el descrito por Underdark aquí .

Mi SQL es idéntico, tengo una red enrutable, etc. También he ejecutado esto con éxito en el pasado en otra base de datos. Sin embargo, cuando ejecuto la pieza simple de sql a continuación, se bloquea completamente el servidor Postgresql sin otro error que la conexión al servidor se ha perdido:

SELECT * FROM driving_distance('
      SELECT gid AS id,
          start_id::int4 AS source,
          end_id::int4 AS target,
          shape_leng::float8 AS cost
      FROM network',
      494902005,
      50000,
      false,
      false)

La primera vez que detecté el fallo fue al intentar ejecutar esto desde Python. Reinicié el ordenador e intenté ejecutar la versión reducida de arriba desde PGAdmin. Sigue fallando. Por cierto, el valor '494902005' es mi ID de nodo y quiero limitar la búsqueda a 50 km. Como no estoy recibiendo ninguna respuesta, no sé por dónde empezar a diagnosticar el problema. Estoy usando PostGIS 2/PostGreSQL 9.1 en Windows 7 de 32 bits.

Cualquier idea será bien recibida.

4voto

knups Puntos 43

La causa de este problema es una identificación de origen/destino demasiado alta.

Se produjo un error de memoria cuando la lista de vértices se redimensionó a '494902005' en "boost/graph/detail/adjacency_list.hpp" - método "add_edge".
(Véase el comentario de la siguiente imagen de depuración).

enter image description here

Por lo tanto, será necesario reducir el valor máximo de la fuente/objetivo a uno adecuado.

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