7

C++ で空間データを操作するための推奨されるフレームワークは何ですか?

ポリゴン オブジェクト、ポイント オブジェクト、およびユニオン、交差点、距離、面積などの操作を探しています。WGS84 (経度、緯度) で座標を入力し、平方キロメートルで面積を取得する必要があります。

フリー/オープンソースのフレームワークを希望しますが、提案は受け付けています。

編集: 残念ながら、GPL 以外のソリューションが必要です。LGPLは大丈夫です。

4

6 に答える 6

4

GEOSは、オープン ソース (LGPL) の C++ ジオメトリ/トポロジ エンジンです。お似合いかも?

このようなものを探すのに役立つ場所は、O'Reilly Web サイトのこの便利な記事と、オープン ソースの地理空間をサポートするためのコラボレーションであるOSGeoです。

于 2009-06-28T20:01:03.720 に答える
4

また、最近レビューされ、最終的にBoost C++ Librariesのコレクションに受け入れられたGeneric Geometry Libraryもお勧めします。Boost に含まれているため、GGL は Boost.Geometry と呼ばれるようになりました。より正確にはBoost.Geometry 別名 GGL、Generic Geometry Libraryです。

その他の便利なツール

  • ORFEO Toolbox (別名 OTB) - 画像処理アルゴリズムのライブラリ
  • MetaCRS - いくつかのプロジェクションと座標系関連技術を含むプロジェクト。
  • 唯一の GeoTIFF 操作のためのlibgeotiff
于 2010-01-25T23:01:09.460 に答える
3
  • CGALオープンソースプロジェクトは、C++ライブラリの形式で効率的で信頼性の高い幾何学的アルゴリズムへの簡単なアクセスを提供します。CGALは、コンピューターグラフィックス、科学的視覚化、コンピューター支援設計とモデリング、地理情報システム、分子生物学、医療画像、ロボット工学と運動計画、メッシュ生成、数値法など、幾何学的計算を必要とするさまざまな分野で使用されます。

  • Generic Geometry Library(geometrylibrary.geodan.nl、現在「プレビュー4」)は、ユーザー定義のジオメトリを操作するジオメトリアルゴリズムの汎用実装を提供します。アルゴリズムには、ポイントインポリゴン、ポリゴンエリア、ポイントツーポイント距離、ポイントツーライン距離、ラインクリッピングとポリゴンクリッピング、凸型ハルなど、よく知られた、しばしば必要とされるアルゴリズムが含まれています。また、変換アルゴリズム、地図投影法、選択アルゴリズムも含まれています。アルゴリズムに加えて、ライブラリは使用される可能性のあるジオメトリクラスを提供しますが、一般的なアルゴリズムはそれらに依存しません。(Boostに含まれることを提案)

于 2009-06-29T20:23:29.510 に答える
2

ジオメトリ モデルのGEOSと、ラスターベクトルをサポートする空間データ抽象化ライブラリの GDAL/OGR 。

これらのライブラリを使用することで、異なる座標系 (WGS84 との間の変換など) を処理することもできます。これは、どちらも内部でProj.4を使用しているためです。メートル単位の距離を見つけるには、WGS84 から UTM などのメートルを使用するものに変換できます。

于 2009-07-07T02:10:54.960 に答える
1

あなたが求めたものには包括的で高レベルではありませんが、測地変換を行うには、NGA の優れた GEOTRANS ライブラリを使用できます。

http://earth-info.nga.mil/GandG/geotrans/

これにより、WGS84 緯度/経度とローカルデカルト座標系の間で変換できます。C コードは十分にテストされ、文書化されており、パブリック ドメインです。

于 2009-06-29T19:00:27.727 に答える
1

これらの計算がどれほど複雑になるかによっては、独自の計算を検討することをお勧めします。あなたがスピードと膨満感の欠如のためにあなたの最良の選択肢かもしれないエリアをやっているだけなら.

それ以外の場合は、Geographic Foundation Class (GFC) ライブラリが最適です。

于 2009-06-25T21:29:32.403 に答える