OGRGeometry Intersection

我需要相交2 OGRGeometry。在我的代码中,我定义了一个将与其他OGRGeometry相交的OGRPolygon。OGRGeometry Intersection

这是我OGRPolygon:

OGRLinearRing ring; 

OGRPolygon poly;

ring.addPoint(-300, 300);

ring.addPoint(300, 300);

ring.addPoint(-300, -300);

ring.addPoint(300, -300);

ring.closeRings();

poly.addRing(&ring);

这是路口代码:

for (int i = 0; i < geo5.size(); i++) 

{

qDebug() << geo5[i]->Intersect(&poly);

if (geo5[i]->Intersect(&poly)) {

qDebug() << "El tipo es "<< geo5[i]->Intersection(&poly);

OGRGeometry* newGeo = geo5[i]->Intersection(&poly);

}

}

newGeo始终是空的,编译器抛出此:

异常时抛出ShapeViewer.exe中的0x00007FFE11593FB8: Microsoft C++ exc eption:geos :: util :: TopologyException在内存 位置0x000000370A0FE5C0。

请问有人能帮我解决这个问题吗?谢谢大家!环的

回答:

定义无效

-300,300 [1] 300,300 [2] 

-300,-300 [3] 300,-300 [4]

有交叉点连接[1] [4]点后线[2,3]和[4,1]间点。在添加[3]之前,您应该添加[4]点。

以上是 OGRGeometry Intersection 的全部内容, 来源链接: utcz.com/qa/262012.html

回到顶部