Surface Optimal Path Planning Using an Extended Dijkstra Algorithm | Synapse