我希望这不是一个基本问题,我很难找到将 R 与 shapefile 结合使用的在线资源。我有一个德克萨斯州 5 位邮政编码的 shapefile,特别是本页底部的那个。
我正在加载邮政编码数据并将其绘制为:
> library(maptools)
> zipData <- readShapePoly('~/Documents/Shapefiles/zipCodesTX/tl_2009_48_zcta5.shp')
> plot(zipData)
但是,这会产生德克萨斯州的完整地图。我想把它减少到达拉斯。
我考虑过使用zipData@bbox
来找到最大值并使用xlim
并ylim
从那里缩小它,但是,这会导致 y 和 x 轴具有不同的数量。
> zipData@bbox
min max
x -106.64565 -93.50844
y 25.83723 36.99566
> plot(zipData, xlim <- c(-100, -95))
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' and 'y' lengths differ
有没有人知道一个简单的方法来做到这一点?
进一步的基本 shapeplot 问题:实际上如何plot()
绘制我的 shapefile?names(zipData)
将数据框列的名称显示为:
> names(zipData)
[1] "ZCTA5CE" "CLASSFP" "MTFCC" "FUNCSTAT"
[5] "ALAND" "AWATER" "INTPTLAT" "INTPTLON"
显然,INTPTLAT
并且INTPTLON
是经纬度坐标,但将它们绘制为:
> plot(zipData$INTPTLAT, zipData$INTPTLON)
产生一个大黑盒子。plot()
使用shapefile生成的地图究竟如何?
如果这些问题非常基础,我深表歉意,我只是找不到好的资源或对此的解释。