R-使用栅格包装区域功能的多边形计算区域的单位



我正在尝试使用栅格包和区域功能来计算R中县和分水岭的交汇处的区域(平方km或英里(。
到目前为止,我的代码看起来像这样:

counties <- readOGR('C:\Shapefiles\tl_2017_us_county\tl_2017_us_county.shp')
counties <- spTransform(counties, CRS("+init=epsg:3455"))
huc2_10 <- readOGR('C:\Shapefiles\WBD_10_HU2_Shape\Shape\WBDHU6.shp')
huc2_10 <- spTransform(huc2_10, CRS("+init=epsg:3455"))

i然后与两个shapefiles相交:

pi <- raster::intersect(huc2_10, counties)

该投影的单位通常以米为单位(我相信(,因为它是南达科他州南部的NAD83投影,因此该区域功能应计算为平方米的面积。我正在尝试计算每个多边形的区域(平方英里(,这些区域是使用区域函数的相交而形成的。

pi$area <- area(pi)/2.589988e6 

但是,proj4string看起来像这样:

+init=epsg:3455 +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +datum=NAD83 +units=us-ft +no_defs +ellps=GRS80 +towgs84=0,0,0

据此,单位是" us-ft"。因此,因此,每个多边形的区域功能输出区域是否因此以平方英尺为单位吗?这似乎很有意义,但是我想确认这一点,将代码更改为:

pi$area <- area(pi)/5280**2

谢谢。

手册确认了您的期望:

?raster::area

如果x是一个空间polygons*对象:区域如果每个空间对象在平方米中,则CRS是经度/纬度,或者是平方的地图单元(通常为仪表(

如果您的地图单元是脚,则该区域将处于平方英尺。

最新更新