2
วิธีคำนวณเครือข่ายที่เล็กที่สุดที่เชื่อมต่อทุกจุดด้วย PostGIS
ฉันมีชุดสคริปต์ postgis ที่สร้างสองตาราง - หนึ่งในชุดของคะแนนและชุดที่สองของถนนที่ล้อมรอบพวกเขา ข้อมูลทั้งหมดอยู่ในการฉายภาพเดียวกันและผลลัพธ์ทั้งสองจะถูกเก็บไว้ใน postgres 9.2 ตารางที่มี postgis 2.1 โทโพโลยี pgrouting ของเครือข่ายถนนถูกสร้างขึ้นและตารางคะแนนมีคอลัมน์ที่มีส่วนถนนที่ใกล้ที่สุด ฉันต้องการสร้างส่วนย่อยของเครือข่ายถนนซึ่งเป็นเครือข่ายที่เล็กที่สุดที่เชื่อมต่อทุกจุดโดยใช้บางอย่างเช่นแผนผังทอดข้ามขั้นต่ำ เครือข่ายถนนไม่ได้ถูกบอกทิศทางและค่าใช้จ่ายเป็นเพียงความยาวเส้นทาง ฉันสามารถทำสิ่งนี้ได้ใน QGIS / Grass โดยใช้โมดูลตระกูล v.net แต่ในอุดมคติฉันก็อยากจะรักษาขั้นตอนสุดท้ายนี้ไว้ใน SQL เช่นกัน ฉันได้ดูฟังก์ชั่นใหม่ของ apspWarshall postgis แต่ฉันกำลังสูญเสียว่าจะสามารถกระตุ้นให้พลังงานมุ่งเน้นไปที่การเชื่อมต่อจุดต่างๆไม่ใช่เครือข่ายทั้งหมดได้อย่างไร นี่เป็นสคริปต์สั้น ๆ ที่ฉันได้รวบรวมไว้ในความพยายามที่จะสร้างกรอบการทำงานเพื่อแก้ไขปัญหานี้ แต่ฉันไม่สามารถเห็นได้ว่าจะให้โฟกัสไปที่ฟังก์ชันใดเพื่อเริ่มต้นด้วยส่วนย่อยของขอบ SELECT seq, id1 AS node, id2 AS edge, cost, the_geom FROM pgr_apspWarshall('SELECT gid AS id, source, target, …