Re: [Jts-topo-suite-user] i want to add an algrithem in jts
Brought to you by:
dr_jts
From: xschen <xs...@cl...> - 2015-08-08 10:55:46
|
i want to join the jts developer groups, how can i add the jts developer mail list? On 08/08/2015 06:39 AM, xschen wrote: > I found the "intersects, intersection" calculation of postgis is very > slow, so that I read the JTS, and found the intersects algrithem is > this one: > > package com.vividsolutions.jts.geomgraph.index; > public class SimpleEdgeSetIntersector extends EdgeSetIntersector > > private void computeIntersects(Edge e0, Edge e1, > SegmentIntersector si) > { > com.vividsolutions.jts.geom.Coordinate pts0[] = > e0.getCoordinates(); > com.vividsolutions.jts.geom.Coordinate pts1[] = > e1.getCoordinates(); > for(int i0 = 0; i0 < pts0.length - 1; i0++) > { > for(int i1 = 0; i1 < pts1.length - 1; i1++) > si.addIntersections(e0, i0, e1, i1); > > } > > } > > > if an n points line intersects an n points line ,the complexity will > be O(n*n). > this algrithem wiil show very low performance, if n>10000 > > i suggest to cut each line into sevel small pieces, group them into 4 > branch trees boxes and join, then calculate the intersects of small > pieces in the same boxes > so that the complexity will be O(nlog(n)). |