
It's true that my polygons might not contain as many as a 100 000 points and that I can probably restrict the polygons used to certain regions. I guess I was just looking for an easy and super fast function. Thanks, I will be looking into both of your suggestions. And of course, I was talking about a weird year type circular polygon. 
 
Francois Rousseu
 
> > Hi useRs
> >
> > I want to measure the distance between several points on a map and the closest water body, represented by polygons. The method I found uses the dist2Line function from package geosphere. In my example, I create a circular polygon made from a 100 000 points and measure the distance separating it from a given point:
> >
> >  buff<-destPoint( c(-74,46), b=seq(1,365,length.out=100000), d=1000)
> > system.time(dist2Line(c(-75,45), buff))
> >
> > This takes almost 10 seconds on my computer which is way too long for me. In my case, I need to determine that distance between thousands of points in a complex lake system.  Is there a faster way to do this in R?
> 
> Do your lakes really have 100,000 coordinates defining them? (And do
> circles really have 365 degrees in them?).
> 
> Trying:
> 
> buff<-destPoint( c(-74,46), b=seq(1,360,length.out=N), d=100)
> 
> shows that the time to do dist2Line is about linear with the
> complexity of the polygon, here N. If your lakes are that finely
> digitized, then can you thin their boundaries? Can you pre-test
> against the bounding boxes of the lakes to reduce the number of
> point-line segment tests? Note that I don't think the nearest lake
> will always be the one with the nearest bbox, but you do know the max
> possible distance to that lake is the distance to the furthest corner
> of the bbox. Any lakes whose nearest bbox corner is _further_ than
> that distance can be eliminated.
> 
> Beyond that you are possibly looking into spatial indexing and maybe
> loading it into a PostGIS database with this kind of optimised spatial
> indexing searches.
> 
> And rgeos of course.
> 
> Random thoughts.
> 
> Barry
 		 	   		  
	[[alternative HTML version deleted]]

