GDAL 转换坐标系计算多边形面积

it2025-11-17  4

if (poGeometry_r != NULL && wkbFlatten(poGeometry_r->getGeometryType()) == wkbMultiPolygon) { OGRMultiPolygon* mPolygon = (OGRMultiPolygon*) poGeometry_r; OGRSpatialReference p_spRef; p_spRef.SetGeogCS( "Mygeographic coordinate system", "Popular_Visualisation_Datum", "My WGS84 Spheroid", SRS_WGS84_SEMIMAJOR, SRS_WGS84_INVFLATTENING, "Greenwich", 0.0, "metre"); p_spRef.SetProjection("Mercator_1SP"); mPolygon->transformTo(&p_spRef); double area = mPolygon->get_Area(); }

原来的矢量文件是WGS_84坐标系的,直接调用get_Area()函数得到的值似乎是度做的单位.需要先转为morcator,然后再去调用get_Area().之前找到解决方法后在stackoverflow回复的帖子

最新回复(0)