美文网首页
OGRMultiPolygon使用begin()接口出错

OGRMultiPolygon使用begin()接口出错

作者: NullUser | 来源:发表于2022-10-27 14:13 被阅读0次

根据GDAL接口文档中对OGRMultiPolygond::begin的描述,其返回迭代器的开始,故认为可以通过该迭代器遍历到所有的Polygon。

OGRMultiPolygon::begin()
于是使用以下代码遍历Polygon,并获取该polygon的外环。运行中程序报错闪退。
                OGRPolygon **papoPolygon = multiPolygon->begin();
                while (*papoPolygon)
                {
                    OGRPolygon* polygon = *papoPolygon;
                    polygon->getExteriorRing();
                    papoPolygon++;
                }

继续查看接口后,发现父类有接口getNumGeometries(),于是换种方法遍历Polygon获取外环,程序正常运行。

                for (int i = 0; i < multiPolygon->getNumGeometries(); i++)
                {
                    OGRPolygon* polygon = (OGRPolygon*)(multiPolygon->getGeometryRef(i));
                    polygon->getExteriorRing();
                }

继续往父类查看对begin()接口的描述,其返回sub-geometry的迭代器,这个sub-geometry如何理解?


OGRGeometryCollection::begin()

相关文章

  • 如何用代码测试你的SpringBootMVC接口

    很多时候,我们写完http接口之后,习惯了使用postman做接口测试,但是这样需要一直启动服务器,出错了还要重新...

  • js超简洁表格

    完整demo下载 显示效果 使用示例 html js 对象方法 init(begin,end) begin ...

  • 复合语句

    标签 begin ... end,loop,repeat,while允许使用标签 标签的规则如下:begin_la...

  • 2019-01-22 Android Expected a

    服务调用服务器接口时 返回 Expected a string but was BEGIN_ARRAY at li...

  • telnet调用Dubbo接口的坑

    一、问题: 通过telnet命令,去调⽤使用了dubbo框架的查询订单接口,一直调用出错, 查询后台⽇志,发现uA...

  • 范围for

    自动识别数组。 识别那些有 .begin() 和 .end() 的容器。 使用基于自变量的查找 begin() 和...

  • vue 中proxyTable设置问题

    vue路由代理原理:使用中间件 怎样写不容易出错? 就是路由二级地址写作代理地址 接口格式:http://xxx....

  • 一次失败的上线,是什么体验

    1、上线时间定位有问题2、配置环境出错3、接口出错4、配置文件出错5、开发拖延进度6、发布时间过长7、打包有问题8...

  • 【现学现忘&Shell编程】— 33.AWK编程之awk的条件

    1、awk的条件 2、说明 以下练习使用如下文本 (1)BEGIN BEGIN是awk的保留字,是一种特殊的条件类...

  • paramiko使用出错

    paramiko在使用的过程中出现下面的错误 产生的原因是因为安装的paramiko模块版本太低 然后直接升级pi...

网友评论

      本文标题:OGRMultiPolygon使用begin()接口出错

      本文链接:https://www.haomeiwen.com/subject/mifftdtx.html