(いつ)GIS対応データベースを使用する必要がありますか?


22

私はGISを初めて使用する長年のプログラマです。GISのデータベースの側面を把握しようとしていますが、GISの使用に特化したデータベースがいくつかあることを理解しています。基本的に、このようなデータベースを使用するか、非常に人気があり、確立され、広くサポートされている(そして無料の)MySqlを使用するかを理解しようとしています。

私がコーディングしなければならない種類のアプリケーションは、次のようなものです。

  • フリート管理(陸上または海洋ベースの車両)
  • 従業員追跡
  • 在庫管理(メートル単位で正確な物理的位置の粒度で)
  • えーと、それについてです、本当に

通常、追跡するアイテムの数はわずか数百(最大、おそらく数千)になります。アイテムは、アプリケーションに応じて、同じ(大きな)建物、一連の建物、都市、国、または世界中に配置される場合があります。

私は時々、建物のカスタムフロアプランで、またはGoogle Earthなどで(おそらく別の質問で)それらを視覚的に表現します。

私はMySqlを使ってlat / longまたはその他の位置データの列を追加しているようですが、それは単にMySqlを知っているからかもしれません。

より専門的なデータベースを検討する必要がある理由はありますか?

回答:


13

空間データベース(PostGIS、MySQLの空間拡張など)の本当の利点は、空間データに対して空間操作を行えることです。ポイント座標を保存するだけの場合、空間から実際に多くを得ることはありません(2つの数値列を使用するだけです)。ポイント座標(顧客がいる場所)、ライン座標(配達トラックが行く場所)、およびポリゴン(販売地域)の組み合わせを保存し、それらのさまざまな情報(売上内の顧客数)を関連付けるクエリを実行する場合ゾーン、今日顧客サイトから2km未満で移動したが、配達または集荷しなかったトラックの数)、多くを獲得できます。

iantが指摘したように、PostGISは確かにサーバーアプリケーションを探す価値があります。SpatiaLiteは、SQLiteの空間拡張であり、デスクトップ/組み込み/オフラインモバイルアプリケーションにより適している場合がありますが、かなり類似したSQL機能を提供します[ 開示:SpatiaLiteで作業しています ]。デスクトップアプリケーション。


+1とありがとう。それはSqliteをしてないようにMySQLに基づいていた理由としてだけで骨董...
Mawg

1
私は、そのまったく異なる設計目標(組み込み、構成なしなど)を考えています。
BradHards

+1は私が考えていたものでした(私も埋め込みの背景から来ています)。情報をありがとう。私はブラウザベースのアプリになってしまうことを期待しています(私たちのほとんどは、そうしないことを好むとしても)、「ライト」はそれほど必要ではありません。d / bが組み込みシステム/デバイスにある現在、どのようなアプリですか?(ごめん、まだ学習)
Mawg

1
組み込みは大きな分野ですが、オフラインモバイルは新興分野のようです。
BradHards

2
@Mawg最新の携帯電話とブラウザのほとんどは、sqliteをデータストアとして使用しています。これは実際には単一のcファイルであり、APIは非常に単純であり、インプロセスで実行されます。複数のプロセスの実行とクライアント/サーバーアーキテクチャを必要とするMySQLとは対照的です。2つの非常に異なる
ユース

8

非常に人気があり、定評があり、広くサポートされている(そして無料の)PostGISを検討すべきです。MySQLが実行できるすべてのことを実行し、空間の場所をファーストクラスオブジェクトとして処理します。したがって、すべての比較などを書き出すことなく、境界ボックス(または他のポリゴン)内のポイントに基づいて選択を実行できます。

どのオブジェクトがどの国(または建物)にあるかなどの質問が必要になり始めたら、PostGISが実際に登場し、オブジェクトをマッピングする必要があると判断すると、すべての一般的なオープンソースツールがPostGISと対話しますボックス。


+1および多くの感謝。私は今それを調べに行きます。コーダーの視点を形成するWebベースに行くとPHPにうまく作用することを望みます。Widnwosデスクトップアプリに行くと、DelphiのAnyDacデータベースアクセスコンポーネントを使用しているので、AnyDacサポートにメールします。再度、感謝します!
Mawg

1
Mawgへ:postgis、db2、spatiallite、sql serverなどのGIS機能のいずれかをサポートするために、サードパーティのデルファイデータベースライブラリのいずれかを引き続き確認する必要があります。
Uffe Kousgaard

+1 @UffeKousgaard最も安いcartovcl.com
Mawg

1
Cartovcl(私はほぼ10年間使用しています)は、GIS機能が組み込まれたフラットファイルGIS SDKです。これは、空間的に有効化されたリモートデータベース上のシンAPIではありません。
Uffe Kousgaard

1
歴史的文書:-)しかし、TatukGISはおそらく最も包括的なオールラウンドGIS SDKの1つです(ただし、少し高価です)。しかし、それはcartovclと同じリーグにあります。つまり、gis機能が組み込まれています。リモートデータベース上のAPIではありません。
Uffe Kousgaard

2

回答に追加していくつかのポイントを繰り返すために、データの空間的関係に関連するクエリがある場合、空間的に有効化されたデータベースを使用します。そのいくつかは次のとおりです。

  1. 興味のあるポイントからxキロメートル以内にあるポイント
  2. どの点が近いですか
  3. ポイントが他のポイントからどれくらい離れているか
  4. アクセスポイント内のxキロメートルの地点

WHEREに関連するこのようなクエリがアプリケーションにとって重要な機能である場合、通常は空間データベースを使用することを強くお勧めします。

もちろん、1の距離式を使用するなど、このクエリの一部についてはコーディング/アプリケーションロジックに頼ることができますが、車輪を再発明する必要はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.