postgis – pgr_createTopology – ¿cómo es la tolerancia?

Pregunta:

Continué con este tutorial para crear una topología de enrutamiento: Crear una topología de red

Están utilizando la herramienta osm2pgsql para importar datos y la próxima llamada a la función pgr_createTopology .

Cuando procedo paso a paso con este tutorial, y después de ejecutar pgr_createTopology , no pude seleccionar ninguna ruta. Encuentro los vértices más cercanos y luego uso pgr_dijkstra pero no tengo ningún resultado. ¿Puede ser causado por la tolerancia incorrecta que uso?

SELECT pgr_createTopology('planet_osm_roads', 0.00001, 'way', 'osm_id');

Al principio intento 0.00001, pero luego 0.001 pero todavía no hay resultado. Probé otra fuente de datos, no solo el esquema osm2pgsql y todavía no funciona. ¿Qué topología debo usar si mi columna de geometría es Geometry (Linestring, 900913) ?

No puedo usar osm2pgrouting (la RAM no es suficiente) u osm2po (la ruta no es exacta en el punto de inicio y finalización).

Respuesta:

Supongo que tomó el ejemplo de la función createTopology que se muestra para las geometrías WGS84, usando grados como unidad de proyección. La tolerancia de 0,00001 grados significa que sus puntos deben estar a menos de 1,19 metros entre sí para conectarse.

Como se ve aquí: https://epsg.io/900913

El sistema que está utilizando utiliza el medidor como unidad de proyección. Lo que significa que sus puntos deben estar a menos de 0,00001 metros entre sí, lo que es una tolerancia muy baja. ESPG: 4326 tolerancia 0,00001 es igual a ESPG: tolerancia 900913 1,19. Le sugiero que intente aumentar la tolerancia a este valor para obtener mejores resultados.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Ir arriba