功能: 实现距离、面积的测量。
Qgis留下了专门的用于计算距离、面积的接口:QgsDistanceArea
类。
这个类内部包括了许多与测量相关的函数,比较关键的点在于ellipsoid椭球体以及坐标系Rcs的设置,需要和给定的地图相符。
距离测量示例
先建立测量工具(这么理解吧)的实例。
然后设置坐标系为EPSG:4326
以及变换的内部参数。
然后设置椭球体。这里取的WGS-84的椭球体,但是由于输入WGS-84的名称未成功,直接输入了半长轴和半短轴进行构造。
然后调用测量两点的函数,并转换单位为米
然后将结果格式化,打印。
QgsDistanceArea* Measurer = new QgsDistanceArea();
Measurer->setSourceCrs(QgsCoordinateReferenceSystem(QString("EPSG:4326")),QgsProject::instance()->transformContext());
// Measurer->setSourceCrs(QgsProject::instance()->crs(),QgsProject::instance()->transformContext());
// W