我在英国国家网格投影中有一个shapefile:
Geometry: 3D Polygon
Feature Count: 5378
Extent: (9247.520209, 14785.170099) - (638149.173223, 1217788.569952)
Layer SRS WKT:
PROJCS["British_National_Grid",
GEOGCS["GCS_airy",
DATUM["OSGB_1936",
SPHEROID["Airy_1830",6377563.396,299.3249646]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",49],
PARAMETER["central_meridian",-2],
PARAMETER["scale_factor",0.9996012717],
PARAMETER["false_easting",400000],
PARAMETER["false_northing",-100000],
UNIT["Meter",1]]
cat: Integer (9.0)
我可以使用GDAL / OGR来获取shapefile中所有多边形的总面积(以公顷为单位)吗?
我想知道是否可以使用-sql
,例如:
ogrinfo -sql "SELECT SUM(ST_Area(geom::geography)) FROM mytable" myshapefile.shp
但是,尝试让我得到ERROR 1: Undefined function 'ST_Area' used.
。
我想我可以将Shapefile导入QGIS,为每个多边形添加一个area属性,然后对其求和,但是如果可能的话,我宁愿使用命令行工具。
SUM_OGR_GEOM_AREA (Real) = 4459037129.50955
。这是公顷还是其他单位?我的源shapefile位于哪个投影中,这有关系吗?