我使用Geotools API来计算最短路径。我有这部分代码:
DijkstraShortestPathFinder dijkstra = new DijkstraShortestPathFinder(network, n_end, weighter);
dijkstra.calculate();
Path myPath=dijkstra.getPath(n_start);
如何计算 de 长度 myPath?
你可以按如下方式计算 myPath 的长度:
Iterator pathIterator = myPath.getEdges().iterator();
double length=0;
while (pathIterator.hasNext())
{
Edge edge= (Edge) pathIterator.next();
SimpleFeature feature = (SimpleFeature) edge.getObject();
Geometry geom = (Geometry ) feature.getDefaultGeometry();
length+=geom.getLength();
}