Tengo un Shapefile (que consiste en carreteras principales europeas) con aproximadamente 250,000 segmentos que tengo que simplificar para hacer pgrouting. Pero parece que no puedo encontrar una manera de hacerlo correctamente.
Esto es lo que parece:
y así es como debería verse:
De alguna manera, tengo que eliminar todos los puntos de las líneas que están conectados a menos de 3 líneas (que no es una intersección), preservando las conexiones topológicas entre los puntos restantes. Si alguien tiene una idea, ¡sería muy apreciada!
Atentamente
EDITAR: intenté implementar la idea de @dkastl y logré obtener solo los nodos innecesarios (nodos con solo 2 cadenas lineales adyacentes) de mi red con el código a continuación (generación de red tomada del blog de underdark http://underdark.wordpress.com / 2011/02/07 / a-beginners-guide-to-pgrouting / ):
SELECT * FROM
(SELECT tmp.id as gid, node.the_geom FROM
(SELECT id, count(*) FROM network
JOIN node
ON (start_id = id OR end_id = id) AND (end_id = id OR start_id = id)
GROUP BY id ORDER BY id) as tmp
JOIN node ON (tmp.id = node.id)
WHERE tmp.count = 2) as unn_node;
Entonces, todo lo que tengo que hacer ahora es fusionar las líneas. Sin embargo, no tengo idea de cómo. Me imagino que tiene que ser un bucle que para cada fila del resultado de la consulta anterior obtiene las líneas adyacentes y las fusiona. Luego reconstruiría la red por completo y repetiría el proceso hasta que la consulta anterior devuelva un resultado vacío.