SQL2008を使用せずに.NETで空間クエリを実装することを検討しています。最初の要件は、(BTreeスタイルの)空間インデックスを作成してクエリできるようにすることです。
SQL 2008には、タイプ用の.NETライブラリが付属していますが、空間インデックスにはSQLを使用する必要があります。
空間データ(OSまたは商用)に.NETライブラリを使用した人はいますか?私はNetTopologySuiteを見ていますが、静かに見え、死んだライブラリは必要ありません。
SQL2008を使用せずに.NETで空間クエリを実装することを検討しています。最初の要件は、(BTreeスタイルの)空間インデックスを作成してクエリできるようにすることです。
SQL 2008には、タイプ用の.NETライブラリが付属していますが、空間インデックスにはSQLを使用する必要があります。
空間データ(OSまたは商用)に.NETライブラリを使用した人はいますか?私はNetTopologySuiteを見ていますが、静かに見え、死んだライブラリは必要ありません。
SharpMap は、(よく知られており、使用されている) .NET 用の空間ライブラリのオープンソース コレクションです。
http://www.codeplex.com/SharpMap
ESRI の商用ライブラリが最も広く使用されています。空間インデックスの作成に SQL を使用したくない理由をお聞かせください。
http://msdn.microsoft.com/en-us/library/bb964712.aspx
データベースにインデックスを作成したくない場合は、シェープファイルを使用することになります。
http://mapserver.org/utilities/shptree.html
アップデート
私は NTS や JTS を使用したことはありませんが、http://trac.osgeo.org/geos/ には JTS の C++ 実装もあり、アクティブなユーザー コミュニティがあり、いくつかのプロジェクトで使用しました。
Shapely http://gispython.org/shapely/manual.htmlは、Python の GEOS 上に構築されています。「クラウド」ですべてを行っている場合は、この記事を読む価値があるかもしれません - http://sgillies.net/blog/986/manipulimization-of-whatchamacallems/
再インデックス - SQL Server + 空間インデックスは、同じデータでシェープファイル + インデックスよりも優れていることがわかりました。データを表示するためにインデックスが必要な場合、タイル キャッシュはインデックス作成よりもはるかに優れたパフォーマンスを発揮します。
Python は GIS の主要言語の 1 つになったようです。R タイプのインデックス ライブラリもあります - http://pypi.python.org/pypi/Rtree/
NTSいいなぁ…
現在または後で役立つ可能性のあるその他のもの:-
さまざまなラスター/ベクター形式にアクセスするための GDAL/OGR 投影と変換を処理するための PROJ4 (1 回のインストールで上記の FWTOOLS ダウンロードを確認してください)
Mapwindow もチェックしてください... ver 6 はすべて .NET で書き直されています.
もちろん、PostGIS を使用した PostGRES は、.NET からアクセスできる非常に強力な空間データベースです。
また、ベクター データの空間拡張機能を備えた SQLLite と、RasterLite もチェックしてください!!
何かを Web 対応にしたい場合は、Geoserver または Mapserver。
チェックアウトするその他の一般的な GIS アプリ: GRASS および SAGA
シンプルな QuadTree http://www.codeproject.com/KB/recipes/QuadTree.aspx