[R-sig-Geo] How to improve calculation time of spatial weight matrices on spdep

Roger Bivand Roger.Bivand at nhh.no
Tue May 9 13:20:44 CEST 2006


Hisaji:

On Tue, 9 May 2006, Hisaji ONO wrote:

> Hello.
> 
>  Currently, among GeoComputaion community in Japan,
> GeoDa's calculation speed of  spatial weight matrices of
> polygons are highly evaluated.
> 
>  Any idea to improve this of spdep?
> 

At present poly2nb() uses two steps, first to try to find candidate 
neighbours using bounding boxes, then to check candidates for  
boundary points within a snap distance. Both steps are in C, but the main 
loop is in R. To go faster, it would mean moving everything to C, avoiding 
the (n*(n-1))/2 loop in R. Profiling the function would show where time is 
being used - I can try to do that. 

On a map of all the US counties, Rprof() shows that there may be a way to 
reduce time by simplifying as.double() calls - because numeric data in R 
can be at least integer or double, it needs coercing before being passed 
to C. I'll try to do something with this, but it may be that there are 
other ways (passing a whole SpatialPolygons object to C, because the 
coordinates there are known to be of storage mode "double").

Speed is - I think - not so important, because the neighbour lists only
need to be made once for each set of polygons, and the function does work
even with very large numbers of polygons. Then the output list can be
stored as an R object, or written out as a GAL file. Do you have examples 
where speed matters more, or are there particular kinds of configurations 
of sets of polygons that are a problem?

Best wishes,

Roger

> 
> 
>  Regards.
> 
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> 

-- 
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no




More information about the R-sig-Geo mailing list