2

3 次元の空間的および時間的プロセスを特徴付ける多数のデータムを受け取るアプリケーションがあります。次に、これらのデータをフィルタリングしてアクションを作成し、アクションを実行するプロセスに送信します。すすいで繰り返します。

現在、多くの複雑な空間/時間計算を実行するカスタム フィルターのコレクションがあります。

社内の個人とシステムについて話し合うと、ルール エンジンを使用しているかどうかを何度も尋ねられます。

時間的および空間的に適切に推論できるルール エンジンはまだ見つかっていません。(例: 2 つの 3D エンティティが接近するのはいつですか? 3D エンティティ A は 3D 領域 B に含まれていますか? エンティティ C がエンティティ D の近くにあるが、C に対して後方を向いている場合は、アクション D を実行します。)

私は過去に Drools、Cyc、Jess を見てきました (たとえば 3 ~ 4 年前)。最先端技術を再検討する時が来ました。助言がありますか?この種の推論をサポートする、あなたが知っている基準はありますか? デファクトスタンダードは?アプリケーションはありますか?

ありがとう!

4

3 に答える 3

1

前提 -以下の SQL と Prolog の比較からわかるように、SQL ベースの1 DBMS は (非常に有能な) 推論エンジンであることを思い出してください。

特に時空間アプリケーションに対処するには、この本が役立ちます。

つまり、区間理論と関係理論を組み合わせることで、時空間問題を効果的に推論することができます ( 5.2 区間の適用を参照)。

もちろん、SQL ベースの DBMS に間隔 (およびその他の) 演算子が (まだ) 装備されていない場合は、適切に拡張する必要があります (ストア プロシージャやユーザー定義関数 (UDF) を使用)

更新: timemirror によるコメントで指摘された論文( Towards a 3D Spatial Query Language for Building Information Models ) をざっと読むと、基本的に私が上で触れたことを実行します。

(最後のページ)

実装コンセプト

クエリ言語への抽象型システムの実装は、オブジェクト リレーショナル データベースの分野で広く確立された標準であるクエリ言語 SQL に基づいて実行されます。国際標準 SQL:1999 は、リレーショナル モデルを拡張して、統合されたメソッドを使用して複雑な抽象データ型を定義する可能性など、オブジェクト指向の側面を含めます。

「オブジェクト リレーショナル データベース」という用語には同意しませんが (ここではトピックとは関係ないため)、残りの部分は適切だと思います。


更新:上記の本からの 3D および間隔理論に関する引用:

注: これまでに説明したすべての間隔は、1 次元と考えることができます。ただし、2 つの 1 次元間隔を組み合わせて 2 次元間隔を形成したい場合があります。たとえば、地面の長方形のプロットは、定義上、長さと幅を持つオブジェクトであり、それぞれが基本的に軸に沿って測定された 1 次元の間隔であるため、2 次元の間隔と考えることができます。そしてもちろん、このアイデアを任意の数の次元に拡張できます. たとえば、(かなり単純な!) 建物は 3 次元の間隔と見なすことができます。これは、長さ、幅、高さを備えたオブジェクト、つまり直方体です。(より現実的には、建物は、さまざまな方法で重なり合ういくつかのそのような直方体のセットと見なされる場合があります。) など。ただし、以下では、明示的な記述を除いて、具体的には 1 次元間隔に注意を制限し、単純化のために「1 次元」修飾子を省略します。

ノート

  1. リレーショナル理論から完全に逸脱した DBMS を使用する方法があるため、リレーショナルではなくSQL ベースで記述しました。
于 2010-03-23T02:46:19.310 に答える
1

これは空間推論です... いくつかのモデルですが、9DE-IM は現在 OGC に受け入れられ、PostGIS やその他のプログラミング ツールに実装されています。

PostGIS は、次元的に拡張された 9 交差モデルに基づく空間推論エンジンを実装しています... 9DE-IM..

http://postgis.refractions.net/documentation/manual-svn/ch04.html#DE-9IM セクション 4.3.6.1 を確認してください。仮説...


Java Topology Suite (および C# などの Net Topology スイート) も同様です...

http://docs.codehaus.org/display/GEOTDOC/Point+Set+Theory+and+the+DE-9IM+Matrix

特に、geometry.relate などをチェックしてください。

boolean isRelated = geometry.relate( geometry2, "T*T***T**" )

リレーションシップをテストしたり、それらに基づいてデータをフィルター処理したりできます。ポイント、ライン、ポリゴンなどで動作します...


これは一時的なものに役立つかもしれません..

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.4643&rep=rep1&type=pdf

于 2010-03-20T02:07:26.213 に答える
1

http://www.objectfx.com/で SpatialRules を確認してください。これは、2D および 3D 用の地理空間複合イベント プロセッサです。

于 2011-04-01T21:55:38.313 に答える