问题
I working with spatial data in R for a commercial application and would like to use ggplot2 for data visualization. If you run the Hadley's example at https://github.com/hadley/ggplot2/wiki/plotting-polygon-shapefiles you find that in order to run the fortify
command you need to enable the use of gpclib tools using gpclibPermit()
.
I'm looking for an efficient way (that doesn't involve manually hacking into the S4 object) to perform the same operation that fortify
does here, i.e. take a spatial polygon object and turn it into a regular data frame where row entries contain latitudinal and longitudinal coordinates along with a polygon id.
Has anyone else solved this one?
回答1:
You need to also install the rgeos
package. When maptools
is loaded and rgeos
is not installed, the following message is shown:
> require("maptools")
Loading required package: maptools
Checking rgeos availability: FALSE
Note: when rgeos is not available, polygon geometry
computations in maptools depend on gpclib,
which has a restricted licence. It is disabled by default;
to enable gpclib, type gpclibPermit()
When fortify
is called with a region
argument (as it is in the example you linked to), then some "polygon geometry computations" need to be done. If rgeos
is not available, and gpclib
is not permitted, it will fail.
来源:https://stackoverflow.com/questions/21125942/converting-spatial-polygon-to-regular-data-frame-without-use-of-gpclib-tools