3
การระบุทางแยกถนนโดยใช้ PostGIS
ฉันพยายามระบุว่าถนนตัดกันซึ่งกันและกันและหาจุดที่สี่แยกนี้ด้วยจำนวนถนนที่เป็นจุดตัดของรายการ ฉันสงสัยว่ามีวิธีการใช้ST_NumPointsเพื่อให้บรรลุสิ่งนี้หรือไม่ แต่ฉันไม่สามารถเข้าใจได้ว่าฉันควรทำอะไร สิ่งที่ฉันทำคือการสร้างตารางคะแนนที่เส้นตัดกันโดยใช้รหัสต่อไปนี้: CREATE TABLE test_points as SELECT ST_Intersection(a.geom, b.geom), a.gid FROM roads as a, roads as b WHERE ST_Touches(a.geom, b.geom); หากฉันเรียกใช้สิ่งนี้บนถนนตัวอย่างฉันจะได้รับตารางคะแนนต่อไปนี้ (ถนนจะแสดงเพื่อเป็นภาพประกอบ): หากฉันตรวจสอบจุดใดจุดหนึ่งฉันเห็นว่ามีหลายจุดซ้อนกันอยู่ด้านบนของกันและกัน: GID ที่นี่เป็นรหัสถนน แต่ฉันไม่เข้าใจว่าทำไมมีหลายจุด ฉันสามารถเข้าใจ 4 คะแนนที่นับเป็นจุดตัดถนนกลาง แต่มี 12 จุดที่ระบุไว้ที่นี่ มีวิธีที่ดีกว่าในการคำนวณใน PostGIS หรือไม่