Question

I ai une application qui reçoit un certain nombre de repères qui caractérisent les processus 3 spatiales et temporelles dimensions. Il filtre alors ces points de référence et crée des actions qui sont ensuite envoyés aux processus qui exécutent les actions. Rincer et répéter.

À l'heure actuelle, j'ai une collection de filtres personnalisés qui effectuent beaucoup de calculs spatiaux / temporels complexes.

Plusieurs fois que je discute de mon système à des personnes dans mon entreprise, ils demandent si j'utilise un moteur de règles.

Je dois encore trouver un moteur de règles qui est capable de bien raisonner temporellement et spatialement. (Des choses comme:?. Quand les deux entités 3D jamais fermer Est entité 3D A jamais contenu dans la région 3D B Si l'entité C est proche entité D mais orientée vers l'arrière par rapport à C, puis effectuer une action D)

Je l'ai regardé Drools, Cyc, Jess dans le passé (par exemple il y a 3-4 ans). Il est temps de réexaminer l'état de l'art. Aucune suggestion? Toutes les normes que vous savez de ce soutien ce genre de raisonnement? Toutes les normes? Defacto Toutes les applications?

Merci!

Était-ce utile?

La solution

Prémisse - rappelez-vous qu'une SQL basée sur 1 SGBD est un moteur d'inférence (tout à fait capable), comme on peut le voir à partir de ces comparaisons entre SQL et Prolog:

Pour répondre spécifiquement à vos applications spatio-temporelles, ce livre contribuera à:

C'est, combinant intervalle et théorie des relations est possible de raisonner sur les problèmes spatio-temporels efficacement (voir 5.2 Applications de intervalles ).

Bien sûr, si votre SGBD basé sur SQL ne sont pas (encore) équipé d'intervalle (et d'autres) opérateurs vous devez étendre de façon appropriée ( via magasin-procédures et / ou définis par l'utilisateur - fonctions. UDFs)

Mise à jour: écrémage papier a souligné dans les commentaires par timemirror ( Vers une Query Language 3D spatiale pour les modèles d'information construction ) ils font essentiellement ce que je touchais au-dessus:

  

(dernière page)

     

CONCEPTS DE MISE EN ŒUVRE

     

La mise en œuvre de l'abstrait   système de type dans un langage de requête   être effectuée sur la base de la requête   langage SQL, qui est largement   norme établie dans le domaine de   bases de données objet-relationnel. le   Norme internationale SQL: 1999   étend le modèle relationnel   inclure des aspects orientés objet, tels   comme la possibilité de définir complexe   types de données abstraits avec intégré   méthodes.

Je ne suis pas d'accord avec la terminologie « base de données objet-relationnel » (pour des raisons ici hors-sujet) mais je pense que le reste est pertinent.


Mise à jour: une citation regardind théorie 3D et l'intervalle du livre cité ci-dessus:

  

NOTE: Tous les intervalles discutés   peut jusqu'à présent être considéré comme   une dimension. Cependant, nous pourrions   veulent combiner deux unidimensionnelle   intervalles pour former un à deux dimensions   intervalle. Par exemple, une forme rectangulaire   parcelle de terrain peut être considéré comme   un intervalle à deux dimensions, car il   est, par définition, un objet   longueur et en largeur, dont chacune est   fondamentalement un intervalle unidimensionnel   mesurée suivant un certain axe. Et de   Bien sûr, nous pouvons étendre cette idée à tout   nombre de dimensions . Par exemple, un   bâtiment (assez simple!) pourrait être   considéré comme un en trois dimensions   Intervalle: Il est un objet de longueur,   la largeur et la hauteur, ou en d'autres termes un   cuboïde. (De façon plus réaliste, un   bâtiment peut être considéré comme un ensemble de   plusieurs de ces parallélépipèdes qui se chevauchent dans   de diverses manières.) Et ainsi de suite. En quoi   follows, cependant, nous allons limiter notre   attention à intervalles unidimensionnels   en particulier, à moins explicite   déclarations contraires, et nous   omettra la « unidimensionnelle »   qualificatif pour la simplicité.

Remarque

  1. J'ai écrit basé sur SQL et non relationnelle parce qu'il ya des façons d'utiliser ces DBMSes qui s'écartent complètement de la théorie relationnelle.

Autres conseils

est Raisonnement Spatial ... est maintenant accepté quelques modèles mais 9DE-IM par l'OGC et mis en œuvre PostGIS et d'autres outils de programmation.

PostGIS met en oeuvre un moteur de raisonnement spatial basé sur 9 dimensions étendue modèle d'intersection ... 9DE-IM ..

http://postgis.refractions.net/documentation /manual-svn/ch04.html#DE-9IM vérifier secte 4.3.6.1. Théorie ...


Alors Java ne Topology Suite (et suite Net Topologie pour C #, etc) ...

http: // docs .codehaus.org / affichage / GEOTDOC / point + Set + théorie + et + la + DE-9IM + matrice

particualr vérifier les choses de geometry.relate .. tels que

booléen isRelated = geometry.relate (geometry2, "T * T *** T **")

Vous pouvez tester les relations ou les données de filtrage basées sur eux. Fonctionne avec pts, lignes, polygones etc ...


Cela pourrait aider sur des choses temporelles ..

http://citeseerx.ist .psu.edu / viewdoc / téléchargement? doi = 10.1.1.87.4643 & rep = rep1 & type = pdf

Consultez SpatialRules http://www.objectfx.com/ . Il est un processeur d'événements complexes géospatiale en 2D et 3D.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top