我用R读取一个形状文件,分析油田的sp包多边形(经纬度与WGS84)及其各自的区域。不幸的是,我不知道单位的面积输出。例如,面积产量平均为0.85单位(最大4.34单位),这可能不是平方公里,因为这对油田来说太小了。
有人知道sp包中多边形面积输出的单位吗?非常感谢!
发布于 2017-06-01 09:02:20
为了在lat-lon坐标下得到一个正确的多边形面积计算,最好事先使用"spTransform“将它们转换成一个度量的等面积投影。或者,您也可以使用包geosphere允许这样做。
地理应用中的球面三角学。即计算距离和重新计算角(经纬度)位置的测量值。
例如,这是:
require(geosphere)
areaPolygon(mypoly)(如果我的spatialPolygons是一个物体),它的面积将以平方公里为单位。
HTH。
发布于 2017-06-03 12:31:14
在使用sf时,您实际上得到了生成的单元:
> library(sf)
Linking to GEOS 3.5.1, GDAL 2.1.3, proj.4 4.9.2, lwgeom 2.3.2 r15302
> demo(nc, ask = FALSE, echo = FALSE)
Reading layer `nc.gpkg' from data source `/home/edzer/R/x86_64-pc-linux-gnu-library/3.4/sf/gpkg/nc.gpkg' using driver `GPKG'
converted into: MULTIPOLYGON
Simple feature collection with 100 features and 14 fields
Attribute-geometry relationship: 0 constant, 8 aggregate, 6 identity
geometry type: MULTIPOLYGON
dimension: XY
bbox: xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
epsg (SRID): 4267
proj4string: +proj=longlat +datum=NAD27 +no_defs
> st_area(nc[1:2,])
Units: m^2
[1] 1137388604 611077263
> units::set_units(st_area(nc[1:2,]), km^2)
Units: km^2
[1] 1137.3886 611.0773对于长时间数据,如这里所示,它在幕后使用geosphere。
https://stackoverflow.com/questions/44302234
复制相似问题