我可能有一个小问题。我正在尝试使用GEOS库。我在自己的库中使用了GEOS库。我想在C++写的QGIS插件中使用这个库。问题是,我的库中的函数与geos::geom::Geometry
一起工作,但在QGIS插件中,有GEOSGeometry
。我认为这是同样的事情,但它可能不是。GEOSGeometry geos :: geom ::几何
任何人都可以解释这两者之间的差异,并给我一个建议,如何将它们转换为对方或告诉我我做错了什么?谢谢。
我可能有一个小问题。我正在尝试使用GEOS库。我在自己的库中使用了GEOS库。我想在C++写的QGIS插件中使用这个库。问题是,我的库中的函数与geos::geom::Geometry
一起工作,但在QGIS插件中,有GEOSGeometry
。我认为这是同样的事情,但它可能不是。GEOSGeometry geos :: geom ::几何
任何人都可以解释这两者之间的差异,并给我一个建议,如何将它们转换为对方或告诉我我做错了什么?谢谢。
GEOSGeometry
是用于C(非C++)API中的结构的typedef
。在官方文档中指出,使用C API比C++ API更受欢迎,因为它可能更稳定(就未来的变化而言)。
我不确定你是否可以简单地施放结构(我建议不要这样做)。我建议你使用C API而不是C++ API。
不,您不能简单地在GEOS C API类型GEOSGeometry
和来自根层级为geos::geom::Geometry
的层级的C++ API类型之间进行投射。您可以在C API和C++ API对象之间创建convert your geometries using WKB as an interchange format。