Hi Justin,
Upon closer inspection on my database, I found that the roads have been
noded on the intersections. MOst of the roads I had a look shares a
common end point.
I proceeded on with using some of the algorithms that you suggested in
this mailing list. What I'm getting is a null pointer. I'm a bit
baffled as to what might have gone wrong. I initially though that the
roads might not have been noded so I tried with two points on the same
road and got the same results.
Attached are the codes that I used. I'm guessing I did something wrong at the "src" and "dest"
Thanks.
Jase
DataStore pgDatastore = DataStoreFinder.getDataStore(params);
FeatureSource fsBC = pgDatastore.getFeatureSource("mustmrr");
System.out.println("Road to be added: " + fsBC.getCount(Query.ALL));
System.out.println("Reading PostGIS datastore...");
LineStringGraphGenerator lgb = new LineStringGraphGenerator();
//FeatureSource fs = (FeatureSource)layers.get("mustmrr");
FeatureResults fr = fsBC.getFeatures();
FeatureCollection fc = fr.collection();
FeatureIterator feat = fc.features();
Envelope envelope = fc.getBounds();
System.out.println("Building graph network...");
while (feat.hasNext())
{
Feature ft = feat.next();
if (envelope.contains(ft.getBounds()))
{
System.out.println("Road Name:"+
ft.getAttribute("name").toString().trim() + "\tAtribute:"
+ft.getAttribute("wkb_geometry"));
lgb.add(ft.getAttribute("wkb_geometry"));
}
}
Graph g = lgb.getGraph();
System.out.println(g);
XYNode src = "">
src = "" BasicXYNode();
src.setCoordinate(new Coordinate (101.603802, 3.071856));
XYNode dest = new BasicXYNode();
dest.setCoordinate(new Coordinate(101.71339200,3.15235700));
DijkstraIterator.EdgeWeighter weighter = new
DijkstraIterator.EdgeWeighter()
{
public double getWeight(Edge e)
{
LineSegment line =
(LineSegment)e.getObject();
return(line.getLength());
}
};
DijkstraShortestPathFinder dsp = new DijkstraShortestPathFinder(g, src,
weighter);
System.out.println("Calculating Paths....");
dsp.calculate();
Path p = dsp.getPath(dest);
System.out.println(p);
- Re: [Geotools-gt2-users] LineString Graph Traversal Jase
- Re: [Geotools-gt2-users] LineString Graph Traversal Justin Deoliveira
- Re: [Geotools-gt2-users] LineString Graph Trave... Jase
- Re: [Geotools-gt2-users] LineString Graph T... Justin Deoliveira
- Re: [Geotools-gt2-users] LineString Gra... Jase
- Re: [Geotools-gt2-users] LineStrin... Justin Deoliveira
