ฉันกำลังสร้างระบบการวางแผนเส้นทาง แต่ฉันยังต้องตัดสินใจว่าฉันจะใช้เครื่องมือการกำหนดเส้นทางพื้นฐานอะไร จนถึงตอนนี้ฉันได้พบ pgrouting และ neo4j
ฉันมีเครือข่ายเส้นทางในฐานข้อมูล postgresql / postgis (นำเข้าจาก Shapefile) ฉันได้ทำแบบสอบถามเพื่อแยกโหนด (จุดสิ้นสุดของวิธีที่คุณต้องตัดสินใจว่าทิศทางใดที่จะไปหรือสิ้นสุดที่ตาย) และเพื่อแยกขอบ (มักทำโดยวิธีติดต่อกันหลายวิธี) ขอบทั้งหมดของฉันเป็นแบบสองทิศทาง
เป้าหมายหลักของฉันคือการคำนวณเส้นทางในเครือข่ายนี้โดยใช้อัลกอริทึม A-star โดยที่ distance = cost
ความรู้สึกของฉันบอกฉันว่าฐานข้อมูลกราฟเช่น neo4j เป็นวิธีที่จะไป (ดูเหมือนจะทำเพื่อจุดประสงค์นี้เท่านั้น) แต่ดูเหมือนว่าพวกเขาจะไม่สนับสนุน A-star โดยปริยายและไม่มีความรู้สึกที่แท้จริงของรูปทรงเรขาคณิต . ดูเหมือนจะเหมาะสำหรับเครือข่ายสังคมมากกว่าแผนที่
- การจัดเรียงจะตอบสนองความต้องการของฉันได้หรือไม่
- มันเร็วพอสำหรับการสืบค้นแบบทันทีหรือไม่ (มากกว่า + -2000 โหนด, +4000 ขอบ)? โดยปกติจะเป็นไม่กี่มิลลิวินาทีสำหรับ A-star แต่ฉันไม่แน่ใจเกี่ยวกับการดำเนินการนี้ใน sql
- pgrouting A-star ให้รายการโหนดและขอบให้ฉันหรือไม่?
- ในตัวอย่างส่วนใหญ่ฉันเห็นเกี่ยวกับการ pgrouting ฉันสังเกตเห็นมักจะมีรายการคำสั่งหลังจากการคำนวณเส้นทาง (เช่น "เมื่อเลี้ยว X ทางซ้าย ฯลฯ ") pgrouting ผลิตสิ่งนี้หรือเป็นสิ่งนี้จากระบบอื่นหรือไม่?
หวังว่าบางคนสามารถให้ข้อมูลบางอย่างแก่ฉันเกี่ยวกับระบบที่จะเลือก Neo4j, pgrouting หรือระบบอื่น ๆ