以O'Reilly's Data Mashups in R为灵感,我试图在发现犹他州盐湖县here的shapefile上绘制一些地址。
我有数据框geoTable:
> geoTable
address Y X EID
1 130 E 300 S 40.76271 -111.8872 1
2 875 E 900 S 40.74992 -111.8660 2
3 2200 S 700 E 40.72298 -111.8714 3
4 702 E 100 S 40.76705 -111.8707 4
5 177 East 200 S 40.76518 -111.8859 5
6 702 3rd ave 40.77264 -111.8683 6
7 2175 S 900 E 40.72372 -111.8652 7
8 803 E 2100 S 40.72556 -111.8680 8
我已经将其强制为一个eventData对象:
> addressEvents<-as.EventData(geoTable,projection=NA)
> addressEvents
address Y X EID
1 130 E 300 S 40.76271 -111.8872 1
2 875 E 900 S 40.74992 -111.8660 2
3 2200 S 700 E 40.72298 -111.8714 3
4 702 E 100 S 40.76705 -111.8707 4
5 177 East 200 S 40.76518 -111.8859 5
6 702 3rd ave 40.77264 -111.8683 6
7 2175 S 900 E 40.72372 -111.8652 7
8 803 E 2100 S 40.72556 -111.8680 8
因此,看来我已经具备了所有需要绘制的内容,但无法正常工作。当我加载shapefile并使用
addPoints(addressEvents,col="red",cex=.5)
我只剩下一个空的shapefile。另外,当我尝试对我的eventData对象运行findPolys时,它返回NULL。
> findPolys(addressEvents,myShapeFile)
NULL
我该如何进行这项工作?我能够顺利完成O'Reilly教程,并且很难弄清楚我在哪里出错了。我不知道它是shapefile,我的数据框还是其他文件。
这是我用来导入数据和shapefile的命令
slc<-read.table('~/utah.txt',sep=',',header=TRUE,strip.white=TRUE,stringsAsFactors=FALSE)
myShapeFile<-importShapefile("/Users/neil/Downloads/SGID93_DEMOGRAPHIC_CensusTracts2000/SGID93_DEMOGRAPHIC_CensusTracts2000",readDBF=TRUE)
最佳答案
您可能还需要查看以下相关问题,尤其是在Eduardo的答复中:
关于r - 使用PBSMapping和Shapefile帮助在R中绘制地理数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1481032/