2

ポイントのリストを保存(マスストレージ)したい。より正確には、座標のグループの定義されていない(ただし200を超えない)数を含むリストであり、各グループは領域(長方形)を表します。この領域は、たとえばRect構造物である可能性があります。

私にとって最良の方法は何ですか:
重要度の高い順に:

  1. ストレージメモリの占有スペース(明らかに少ない方が良い)。
  2. ファイルの変更のしやすさ(変更によってファイル全体を書き直すのではなく、単一の座標を識別して変更できる方がよいでしょう)。
  3. 速読。
  4. スピードライティング。

作業の設定方法についてはすでにいくつかのアイデアがありました(たとえば、カスタムクラスによって管理される単純なテキスト形式、シリアル化、アクセスデータベース(アクセスデータベースのみを使用できます)など)が、最善の解決策は何ですか?

4

2 に答える 2

1

SQL Serverには、ポリゴンの格納に使用できるネイティブの空間タイプ形式があります

http://technet.microsoft.com/en-us/library/bb964711
http://technet.microsoft.com/en-us/library/bb895267.aspx

操作のために、データをオブジェクトにロードして、各ポリゴンの新しいポイントを読み取り/変更/検証できます。

編集: Jason Follasは、ここで空間タイプを詳しく調べています:http:
//jasonfollas.com/blog/archive/2008/03/14/sql-server-2008-spatial-data-part-1.aspx

編集: OPはアクセスデータベースしか使用できないように編集されているので、私の答えは適用されなくなりました...しかし、他の誰かがそのようなDBの制限なしにこの質問を見つけた場合に備えて、そのままにしておきます。

OPに関しては、アクセスデータベースのみを使用すると、能力がかなり制限されます。単純な1対多の関係を持つAreaPoints
の 2つのテーブルを検討します。

于 2012-06-12T16:49:11.633 に答える
1

これはまさに、ほとんどのGISストレージ形式で対処される問題セットです。利用可能なさまざまな形式があり、すべてにさまざまな長所と短所があります。

OGRプロジェクトは、GISスタイルのベクターデータの多くの形式をサポートしており、そのほぼすべてが、必要なほとんどの特性を備えたエリアフィーチャの保存をサポートしています。ここでの「新しい」形式の1つは、ESRIのファイルジオデータベース形式です。これは、OGRのC#ラッパーを介して.NETでサポートされています。

または、SQL Server、PostgreSQL、Oracleなどの多くのデータベースシステムは、空間データをデータベースに直接格納することをサポートしています。これは、ニーズによっては少し「重い」場合がありますが、非常に高いパフォーマンスとスケーラビリティをサポートします。

于 2012-06-12T16:57:38.370 に答える