【发布时间】:2019-05-08 02:04:34
【问题描述】:
我正在尝试使用栅格包和面积函数来计算 R 中县和分水岭交叉点的面积(平方公里或英里)。
到目前为止,我的代码如下所示:
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"))
然后我将两个 shapefile 相交:
pi <- raster::intersect(huc2_10, counties)
这个投影的单位通常是米(我相信),因为它是南达科他州南部的 NAD83 投影,所以面积函数应该以平方米计算面积。我正在尝试使用 area 函数计算由于该交叉点而形成的每个多边形的面积(以平方英里为单位)。
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
谢谢。
【问题讨论】:
标签: r polygon raster projection