GEOS使用记录

由于需要计算GIS障碍物的缓冲区,所以研究了 一下GEOS库的使用,将使用的一些细节内容记录一下:

1、vs2010IDE无法编译较高版本的GEOS库,较高版本的库使用了更加高级的C++语法,如果想使用高版本的GEOS库可能仅仅使用geos_c,这种用c接口的相对比较稳定,可以用较低版本的编译器支持高版本的GEOS;

2、geos提供了GEOS的空间数据结构是参考OGC的Simple Features Specification for SQL(SFS),自己的开发类似的GIS系统时候,数据结构应该参考这样的结构,便于开发;

3、geos的中文文档很少,参考少数网上的代码,加上开发文档和GEOS的测试用例能够帮助快速了解GEOS的使用。

下面是从网上搜集的GEOS的相关库的细节(主要参考了博主https://blog.csdn.net/dongyesang/article/details/78979287)的内容:

1、GEOS的前身是JTS,JTS提供了全功能的,强大的空间操作和空间判断。 后来PostGIS缺少一套完整的空间查询操作,于是就将JTS移植成为C++版本,正式命名为GEOS。GEOS为开源库,它包括了完整的空间查询和一大部分空间操作,是从事图形操作和GIS行业开发人员经常接触的开发库。较为知名的使用GEOS的GIS软件就有QGIS,QGIS使用GEOS的c接口,c接口函数名称不会经常发生更改,具有更多的稳定性。 

2、geos的数据结构关系如下  

GEOS使用记录

 

3、geos有三个库geos_c、geos-static、geos生成的动态库不一样,geos生成c++的动态库,geos_c生成c的接口,geos-static生成静态库,根据需要使用想要的库。

4、当我使用vs2010新建x64平台编译geos项目的时候,因为是复制win32平台得到x64,编译的时候有时候会出现 fatal error LNK1112: 模块计算机类型“x64”与目标计算机类型“X86”冲突 这样的错误,按照网上的解决办法,在连接器->命令行->其它选项里面有 %(AdditionalOptions) /machine:X86 ,删除这句话编译就成功了。

原文链接: https://www.cnblogs.com/m-zhang-yang/p/11685787.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    GEOS使用记录

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/304257

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 上午1:42
下一篇 2023年2月16日 上午1:44

相关推荐