Рассчитать длину пути (расстояние в километрах) с помощью средства поиска кратчайшего пути Geotools Dijkstra - PullRequest
0 голосов
/ 22 января 2020

Я использую Geotools API для вычисления кратчайшего пути. У меня есть эта часть кода:

 DijkstraShortestPathFinder dijkstra = new DijkstraShortestPathFinder(network, n_end, weighter);
 dijkstra.calculate();
 Path myPath=dijkstra.getPath(n_start);

Как рассчитать длину myPath?

1 Ответ

0 голосов
/ 06 февраля 2020

Вы можете рассчитать длину 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();
                 }
...