[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