如何遍历qgis的一个Polygon的所有顶点并获取它们的坐标?C++
时间: 2024-11-25 22:15:33 浏览: 0
在QGIS中,尤其是使用GDAL库,你可以通过访问几何对象(如Polygon)的数据成员来遍历其顶点。在C++中,你需要先获取Polygon的边界线(Boundary),然后迭代该边界线上的点。以下是一个简化的示例:
```cpp
#include <gdal_priv.h>
#include <ogr_api.h>
// 假设你已经有一个OGRPolygon* polygon指针
// 获取边界线
OGRLinearRing* ring = polygon->getExteriorRing();
// 遍历顶点
size_t num_points = ring->getNumPoints();
for (size_t i = 0; i < num_points; ++i) {
double x = ring->getX(i);
double y = ring->getY(i);
// 这里x和y就是第i个顶点的坐标
std::cout << "Vertex " << i+1 << ": (" << x << ", " << y << ")" << std::endl;
}
// 记得释放资源
delete ring;
```
阅读全文