我可能有一個小問題。我正在嘗試使用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。