1

私はおそらく些細な問題を抱えています。GEOSライブラリを使おうとしています。自分のライブラリにGEOSライブラリを使用する関数があります。そして、C++で書かれたQGISプラグインでこのライブラリを使用したいと思います。問題は、私のライブラリの関数がで動作することgeos::geom::Geometryですが、QGISプラグインにはがありGEOSGeometryます。同じことだと思いましたが、そうではないかもしれません。

誰かが私にこれら2つの違いを説明し、アドバイス、それらを互いに変換する方法、または私が間違っていることを教えてもらえますか?ありがとう。

4

2 に答える 2

0

GEOSGeometrytypedefC(C ++ではない)APIで使用される構造体用です。公式ドキュメントには、C ++ APIの方が安定している可能性があるため(将来の変更に関して)、CAPIの使用が推奨されると記載されています。

単純に構造をキャストできるかどうかはわかりません(反対することをお勧めします)。C++APIの代わりにCAPIを使用することをお勧めします。

于 2013-02-10T13:45:01.263 に答える
0

GEOSGeometryいいえ、クラスをルートとする階層から、GEOSCAPIタイプとC++APIタイプの間で単純にキャストすることはできませんgeos::geom::Geometry

ただし、 CAPIオブジェクトとC++ APIオブジェクトの間で、交換形式としてWKBを使用してジオメトリを変換することはできます。

于 2017-02-15T22:40:28.423 に答える