Dear All,
I started playing around with the graph package, that I did not use
before. I am trying to read in a line shapefile and create a graph, and
then read in a point shapefile and calculate the shortest path from a
given point to another one. As the points may not lay directly on the
edges, I need to:
* add nodes to the graph based on a point feature and the nearest edge
in the graph (split the edge, if needed),
I think I should manage to compose the graph based on a feature
collection as follows:
FeatureCollection<SimpleFeatureType, SimpleFeature> fc ...
LineStringGraphGenerator lsgg = new LineStringGraphGenerator();
FeatureGraphGenerator fgg = new FeatureGraphGenerator(lsgg);
FeatureIterator<SimpleFeature> f = fc.features();
while(f.hasNext()){
Feature ft = f.next();
fgg.add(ft);
}
// lgb is loaded
Graph g = fgg.getGraph();
return g;
And use the DijkstraShortestPathFinder to find the paths. I found a
function *nearestColinearPoint* (from org.geotools.math.Line), but it
seems like I have to convert from Features to JTS geometries, then to
java.awt.geom.Line2D and java.awt.geom.Point2D and back to use this. Is
there a better way to generate a colinear point feature?
Furthermore, what is the best way to add the node to an edge, splitting
it into two edges?
Thanks heaps,
Martin
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users