Tôi đang xây dựng một hệ thống lập kế hoạch tuyến đường, nhưng tôi vẫn phải quyết định tôi sẽ sử dụng công cụ định tuyến cơ bản nào. Cho đến nay tôi đã tìm thấy pgrouting và neo4j.
Tôi có mạng lưới tuyến đường của mình trong cơ sở dữ liệu postgresql / postgis (được nhập từ một shapefile). Tôi đã thực hiện các truy vấn để trích xuất các nút (điểm cuối của các cách mà bạn phải đưa ra quyết định hướng đi nào hoặc ngõ cụt) và trích xuất các cạnh (thường được tạo bởi nhiều cách liên tiếp). Tất cả các cạnh của tôi là hai chiều.
Mục tiêu chính của tôi là tính toán các tuyến đường trên mạng này bằng thuật toán A-star trong đó distance = cost.
Cảm giác của tôi cho tôi biết rằng một cơ sở dữ liệu đồ thị như neo4j là hướng đi (vì dường như nó được tạo ra chỉ cho mục đích này), nhưng chúng dường như không hỗ trợ sao A theo mặc định và cũng không có cảm giác hình học thực sự . Nó có vẻ phù hợp hơn cho các mạng xã hội thay vì bản đồ.
- Pgrouting sẽ đáp ứng nhu cầu của tôi?
- Có đủ nhanh để truy vấn nhanh (+ -2000 nút, + -4000 cạnh) không? Thông thường, đây sẽ là một vài ms cho A-star, nhưng tôi không chắc về việc triển khai này trong sql.
- Có phải ngôi sao A cho tôi một danh sách các nút và cạnh không?
- Trong hầu hết các ví dụ tôi thấy về pgrouting tôi nhận thấy thường có một danh sách các lệnh sau khi tính toán tuyến đường (như "Tại X rẽ trái, v.v."). Liệu pgrouting sản xuất này hay là từ hệ thống khác?
Hy vọng ai đó có thể cho tôi một số thông tin về việc chọn hệ thống nào. Neo4j, pgrouting, hoặc một số hệ thống khác.