[R-sig-Geo] Problems loading hydrosanity package
Roger Bivand
Roger.Bivand at nhh.no
Fri May 29 10:11:55 CEST 2009
On Fri, 29 May 2009, Felix Andrews wrote:
> 2009/5/29 Roger Bivand <Roger.Bivand at nhh.no>:
>> On Thu, 28 May 2009, BRWIN338 at aol.com wrote:
>>
>>> Good Morning:
>>>
>>> I need to construct a set of Thiessen Polygons centered around
>>> approximately 4500 longlat positions in the US. After searching the R site,
>>> I was going to attempt to use the arealsubPolygons function in the
>>> hydrosanity package. I am using a Windows system.
>>>
>>> When attempting to call the package I get the following error messages
>>> under both R2.8.1 and R2.9.0.
>>> ##################################################################
>>>>
>>>> require(hydrosanity)
>>>
>>> Loading required package: hydrosanity
>>> Loading required package: playwith
>>> Loading required package: lattice
>>> Loading required package: cairoDevice
>>> Error in inDL(x, as.logical(local), as.logical(now), ...) :
>>> unable to load shared library
>>> 'C:/PROGRA~1/R/R-28~1.1/library/cairoDevice/libs/cairoDevice.dll':
>>> LoadLibrary failure: The specified module could not be found.
>>>
>>>
>>> Error: package 'cairoDevice' could not be loaded
>>> ###################################################################
>>> I have tried downloading the package and it's dependencies from several
>>> locations and get the same errors each time.
>>>
>>> Any suggestions with respect to this package or others that I might use
>>> to
>>> construct my polygons would be appreciated. I need a set of polygons
>>> that
>>> cover the entire US county polygon.
>>
>> The package description does say that it is "under development and should
>> not be considered stable", seems honest. Look at the code in its URL:
>>
>> http://code.google.com/p/hydrosanity/source/browse/trunk/R/spatial_functions.R
>>
>> find the function and its dependencies, load sp first, and probably a matrix
>> of boundary coordinates for a representation that has a coercion method to
>> gpc.poly, your point matrix, a vector of IDs, and source the function
>> locally. That avoids resolving all the dependencies needed for the GUI in
>> the package, and ought to work. Watch the min.area.pct= argument as small
>> polygons may go away.
>>
>> Should work with some tweaking.
>
> I tried
>
> library(sp)
> library(tripack)
> library(gpclib)
> foo <- arealSubPolygons(state.center, IDs = state.name)
> class(foo)
> [1] "SpatialPolygons"
>
> But I can't seem to plot the result...
> spplot(foo)
> Error in function (classes, fdef, mtable) :
> unable to find an inherited method for function "spplot", for
> signature "SpatialPolygons"
Well, there isn't a method, because they only exist for Spatial*DataFrame
objects for obvious reasons. Just use base graphics plot() methods for the
Spatial* classes. I guess that the boundary argument is usually a matrix -
does it have to be a single ring, or can it be several rings?
By the way, was there an explanation for the failed cairoDevice
dependency? Keeping control of dependencies like those in this package is
seriously challenging.
Roger
>
> Note also that you can construct Thiessen / Voronoi Polygons for
> plotting with the tileplot function in latticeExtra:
>
> library(latticeExtra)
> tileplot(x ~ x * y, state.center, border = "black", points=FALSE)
>
> See the code for panel.voronoi for how it is done
> (it has two implementations, based on either tripack or deldir).
>
>
> Hope that helps
> -Felix
>
>
>
--
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