【问题标题】:Unit of calculated area for polygons using raster package area function使用栅格包面积函数计算多边形面积的单位
【发布时间】: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


    【解决方案1】:

    手册确认了您的期望:

    ?raster::area
    

    如果 x 是 SpatialPolygons* 对象:如果 CRS 是经度/纬度,则每个空间对象以平方米为单位,或者以平方地图单位(通常为米)为单位

    如果您的地图单位是英尺,则该区域将以平方英尺为单位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-13
      • 2013-10-24
      • 1970-01-01
      • 2014-09-05
      • 2013-09-07
      • 2013-03-25
      • 1970-01-01
      相关资源
      最近更新 更多