I added some debug, and apparently, the LineString intersection is not due
to my algorithm. It happens approximately 12 times in the first loop
iteration, then it does not happen anymore. This was probably due to my
shapefile.

So I chose to ignore the LineString intersections and now my algorithm has
been running for approximately half an hour and it is the fourth iteration
of the while loop (still unfinished). I added some debug to see how many
LineStrings were created for each iteration:
Added 2200 new lines
Added 7666 new lines
Added 26234 new lines

Is my algorithm ok? Is it normal it is taking so long? Is there any way I
can optimize this? If not, I guess I need to save the result somewhere in a
file and work from the result from now on because it is taking too much
time.

Regards,
Chris.

On Jan 11, 2008 9:28 PM, Chris <[EMAIL PROTECTED]> wrote:

> I tried to use another Vector as you advised. This way, the size the the
> lines Vector is not changing while iterating on it. I'm joining the new code
> to this mail.
>
> It is taking quite some time (2-3 minutes) but this time I got an
> exception:
> java.lang.ClassCastException: com.vividsolutions.jts.geom.LineStringcannot be 
> cast to
> com.vividsolutions.jts.geom.Point
>
> at this line:
> Point p = (Point) gc.getGeometryN(0);
>
> where gc is the intersection between the two lines. Apparently, the
> intersection between two LineStrings can be a LineString. I guess this means
> that the two lines are identical? How could this happen? Is my algorithm
> still wrong? or maybe I should just ignore when this case happens?
>
> Regards,
> Chris.
>
>
> On Jan 11, 2008 7:28 PM, Justin Deoliveira <[EMAIL PROTECTED]> wrote:
>
> > Hi Chris,
> >
> > I would have to mock up some data and test it but I dont think the
> > problem is the method but in the management of the data structure. The
> > code is modifying the same list it is iterating over... which is
> > generally not a great idea.
> >
> > I recommend restructuring the algorithm so that when two new lines are
> > created they are added to a separate list. When the outer loop termines
> > add the new lines to the original list and repeat the algorithm
> > terminating when there are no more new lines.
> >
> > Hope that helps. I could be wrong as i said since i have not run the
> > code. If you find you continue to have the same problem let us know .
> >
> > -Justin
> >
> > Chris wrote:
> > > Hi,
> > >
> > > After loading a shapefile (ESRI), I created a graph using a
> > > DirectedLineStringGraphGenerator. The creation went fine but when
> > using
> > > a DijkstraShortestPathFinder.getPath() on it, I noticed that there was
> > a
> > > problem because it returned null. Apparently, the linestring graph
> > > generator does not take internal intersections of
> > > lines into account when building the graph. Hence, I decided to code a
> >
> > > routine to split the LineStrings at their intersection as advised
> > there:
> > > http://www.nabble.com/Re%3A-LineString-Graph-Traversal-p1489791.html
> > >
> > > The problem is that My routine is taking "forever" to do the
> > splitting.
> > > Either, I'm doing it wrong or it is not optimized enough. After
> > waiting
> > > for 10 minutes, it is still not finished (although, the shapefile is
> > not
> > > that big). Could someone have a look at my function and see what the
> > > problem is?
> > >
> > > Thanks in advance,
> > >
> > > Best regards,
> > > Chris.
> > > !DSPAM:4007,4787a0db264908992556831!
> > >
> > >
> > >
> > ------------------------------------------------------------------------
> > >
> > >
> > -------------------------------------------------------------------------
> > > Check out the new SourceForge.net Marketplace.
> > > It's the best place to buy or sell services for
> > > just about anything Open Source.
> > >
> > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
> > >
> > > !DSPAM:4007,4787a0db264908992556831!
> > >
> > >
> > >
> > ------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > Geotools-gt2-users mailing list
> > > Geotools-gt2-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
> > >
> > >
> > > !DSPAM:4007,4787a0db264908992556831!
> >
> >
> > --
> > Justin Deoliveira
> > The Open Planning Project
> > http://topp.openplans.org
> >
>
>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to