Noktalardan biri ve ikincisi onları çevreleyen yollar kümesi - iki tablo üreten postgis komut dosyaları bir dizi var. Tüm veriler aynı projeksiyondadır ve her iki çıkış da postgis 2.1 ile postgres 9.2 tablolarında saklanır
Yol ağının pgrouting topolojisi oluşturuldu ve noktalar tablosunda en yakın yol segmentini içeren bir sütun var.
O zaman tüm noktaları minimum yayılan ağaç gibi bir şey kullanarak bağlayan en küçük ağı temsil eden yol ağının bir alt kümesi oluşturmak istiyorum. Karayolu ağı yönlendirilmemiştir ve maliyetler sadece rota uzunluğudur.
Bunu vG modüllerini kullanarak QGIS / Grass'ta yapabilirim ama ideal olarak bu son adımı SQL'de de tutmak istiyorum.
Yeni apspWarshall postgis işlevine baktım, ancak enerjisini tüm ağı değil, noktaları birleştirmeye odaklamanın nasıl teşvik edileceği konusunda bir kayıptayım.
Bu, bunu çözmek için bir çerçeve oluşturmak amacıyla bir araya getirdiğim kısa komut dosyasıdır, ancak kenarların bir alt kümesiyle başlamak için işlevi odaklamanın mümkün olduğu yeri göremiyorum.
SELECT seq, id1 AS node, id2 AS edge, cost, the_geom
FROM pgr_apspWarshall('SELECT gid AS id,
source,
target,
st_length(the_geom) AS cost
FROM road_network
',
false, false
) AS tree
JOIN road_network As roads
ON tree.id2 = roads.gid
Tek yol en kısa yol problemlerinde fonksiyon başlangıç ve bitiş ister ancak görünüşte tüm nokta problemlerinde değil. Aynı şekilde Grass v.net.spanningtree ve v.net.steiner birlikte çalışmak için birleşik bir ağ olarak bir dizi nokta ve çizgi bekliyoruz.
PostGIS'te bunun nasıl yapılacağı konusunda bir önerisi olan var mı?