Frage

Ich habe eine Anwendung, die eine Anzahl von Bezugspunkten empfängt, die 3-dimensionale räumliche und zeitliche Prozesse zu charakterisieren. Er filtert dann diese Bezüge und erstellte Aktionen, die dann an Prozesse gesendet, die die Aktionen auszuführen. Spülen und wiederholen.

Zur Zeit habe ich eine Sammlung von benutzerdefinierten Filtern, die eine Menge von komplizierten räumlichen / zeitlichen Berechnungen durchführen.

Viele Male, wie ich mein System für Einzelpersonen in meinem Unternehmen diskutieren, sie zu fragen, ob ich eine Regel-Engine bin mit.

Ich habe noch eine Regel-Engine zu finden, der Grund auch zeitlich und räumlich der Lage ist. (Dinge wie:?. Wann sind zwei 3D-Einheiten je enger ist die 3D-Einheit A jemals in 3D-Bereich B enthält Wenn Unternehmen C in der Nähe von Einheit D sind aber orientiert nach hinten relativ zu C dann Aktion D durchführen)

Ich habe in geifert sieht, Cyc, Jess in der Vergangenheit (vor 3-4 Jahren sagen). Es ist Zeit, um erneut zu prüfen, den Stand der Technik. Irgendwelche Vorschläge? Irgendwelche Normen, dass Sie wissen, dass die Unterstützung dieser Art der Argumentation? Irgendwelche defacto Standards? Alle Anwendungen?

Danke!

War es hilfreich?

Lösung

Premise - denken Sie daran, dass ein SQL-basierte 1 DBMS ist ein (durchaus in der Lage) Inferenzmaschine, wie aus diesen Vergleich zwischen SQL und Prolog zu sehen:

Um Adresse speziell auf Ihre räumlich-zeitlichen Anwendungen, wird dieses Buch helfen:

Das heißt, die Kombination von Interval und Relation Theorie ist möglich Argumentation über räumlich-zeitliche Probleme effektiv (siehe 5.2 Anwendungen der Intervalle ).

Natürlich, wenn Ihr SQL-basierten DBMS ist (noch) nicht mit Intervall (und andere) die Betreiber müssen Sie es entsprechend erweitern ( über Shop-Verfahren und / oder Benutzerdefiniert Funktionen -. UDF)

Update: Skimming das Papier wies darauf hin, in den Kommentaren von timemirror ( Towards a 3D Spatial Query Language für Building Information Model ) sie im wesentlichen, was ich berührte oben:

  

(letzte Seite)

     

UMSETZUNG KONZEPTE

     

Die Umsetzung der abstrakten   Typ-System in eine Abfragesprache Willen   auf der Grundlage der Abfrage durchgeführt werden   Sprache SQL, die eine weit ist   etablierter Standard auf dem Gebiet der   objektrelationalen Datenbanken. Das   internationaler Standard SQL: 1999   erweitert das relationale Modell   umfassen objektorientierte Aspekte, wie   wie die Möglichkeit, komplexe zu definieren   abstrakte Datentypen mit integrierten   Methoden.

Ich bin nicht mit der „objektrelationalen Datenbank“ Terminologie übereinstimmen (zum Grund Wegthema hier), aber ich denke, der Rest relevant ist.


Update: ein Zitat regardind 3D und Intervall-Theorie aus dem Buch oben zitierten:

  

Hinweis: Alle der Intervalle diskutiert   so weit kann man sich als sein   eindimensional. Aber wir könnten   wollen zwei eindimensionale kombinieren   Intervalle einen zweidimensionalen zu bilden   Intervall. Zum Beispiel ist ein rechteckiger   Gelände könnte wie folgt beschrieben werden   ein zweidimensionales Intervall, weil es   ist per definitionem ein Objekt mit   Länge und Breite, von denen jedes   im Grunde ein eindimensionales Intervall   entlang irgendeiner Achse gemessen. Und von   Natürlich können wir diese Idee zu einem erweitern   Anzahl der Dimensionen . Zum Beispiel kann ein   (Ziemlich einfach!) Gebäude könnte sein,   gilt als eine dreidimensionale   Intervall: Es ist ein Gegenstand mit einer Länge,   Breite und Höhe, oder mit anderen Worten ein   Quader. (Mehr realistisch, ein   Gebäude könnte als eine Reihe von betrachtet werden   mehrere solche Quader, die überlappen in   verschiedene Art und Weise.) Und so weiter. In was   folgt, jedoch werden wir unsere beschränken   Aufmerksamkeit auf eindimensionale Intervallen   Insbesondere Sperrung explizite   Aussagen im Gegenteil, und wir   wird auslassen die „eindimensionale“   Qualifikation für Einfachheit.

Hinweis

  1. Ich schrieb SQL-basierte und nicht relationale , weil es Möglichkeiten gibt, solche DBMSes zu verwenden, die vollständig aus relationaler Theorie abweichen.

Andere Tipps

Dies ist Spatial Reasoning ... ein paar Modelle, aber 9DE-IM wird nun von OGC und implementiert in PostGIS und anderen Programmiertool akzeptiert.

PostGIS implementiert ein räumliches Denken Motor basierend auf Dimensionen ausgedehntes 9 Schnittmodell ... 9DE-IM ..

http://postgis.refractions.net/documentation /manual-svn/ch04.html#DE-9IM überprüfen Sekte 4.3.6.1. Theorie ...


So funktioniert die Java Topology Suite (und Net Topology Suite für C # usw.) ...

http: // docs .codehaus.org / Anzeige / GEOTDOC / Point + Set + Theorie + und + die + DE-9IM + Matrix

In particualr Check-out der geometry.relate Sachen .. wie

boolean isRelated = geometry.relate (geometrie2 "T * T *** T **")

Sie können die Beziehungen testen, oder Filterdaten basierend auf sie. Arbeiten mit pts, Linien, Polygone usw. ...


Dies könnte helfen auf zeitliche Sachen ..

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

Schauen Sie sich SpatialRules unter http://www.objectfx.com/ . Es ist ein geospatial komplexer Ereignisprozessor für 2D und 3D.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top