• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

OGRGeometry Intersection

c/c++ 来源:Zharios 7次浏览

我需要相交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]点。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)