Pregunta

Tengo una aplicación que recibe una serie de datos que caracterizan procesos espaciales y temporales tridimensionales.Luego filtra estos datos y crea acciones que luego se envían a los procesos que realizan las acciones.Enjuague y repita.

Actualmente, tengo una colección de filtros personalizados que realizan muchos cálculos espaciales/temporales complicados.

Muchas veces, cuando hablo de mi sistema con personas de mi empresa, me preguntan si estoy usando un motor de reglas.

Todavía tengo que encontrar un motor de reglas que sea capaz de razonar bien temporal y espacialmente.(Cosas como:¿Cuándo se acercan dos entidades 3D?¿La entidad 3D A alguna vez estuvo contenida en la región 3D B?Si la entidad C está cerca de la entidad D pero está orientada hacia atrás con respecto a C, entonces realice la acción D.)

He mirado Drools, Cyc, Jess en el pasado (digamos hace 3 o 4 años).Es hora de reexaminar el estado del arte.¿Alguna sugerencia?¿Algún estándar que conozca que respalde este tipo de razonamiento?¿Alguna norma de facto?¿Alguna aplicación?

¡Gracias!

¿Fue útil?

Solución

Premisa - recordar que una basada en SQL 1 DBMS es un (muy capaz) motor de inferencia, como puede verse a partir de estas comparaciones entre SQL y Prolog:

Para abordar específicamente las aplicaciones de espacio-temporales, este libro le ayudará a:

Es decir, la combinación de intervalos y Teoría relación es posible razonar acerca de los problemas espacio-temporales de manera efectiva (ver 5.2 Aplicaciones de los intervalos de ).

Por supuesto, si su sistema de base de SQL-no es (todavía) equipado con un intervalo (y otros) los operadores que tendrá que extenderse de manera apropiada ( a través de almacenes procedimientos y / o definida por el usuario Funciones -. UDF)

Actualización: rozando el documento señaló en los comentarios de acuerdo timemirror ( Hacia una 3D espacial lenguaje de consulta para la Construcción de Modelos de Información ) lo hacen esencialmente lo que tocaron arriba:

  

(última página)

     

CONCEPTOS DE APLICACIÓN

     

La aplicación del resumen   sistema de tipos en un lenguaje de consulta se   llevarse a cabo sobre la base de la consulta   lenguaje SQL, que es un ampliamente   norma establecida en el campo de la   bases de datos relacionales a objetos. los   SQL estándar internacional: 1999   extiende el modelo relacional para   incluir aspectos orientados a objetos, tales   como la posibilidad de definir complejo   tipos de datos abstractos con integrada   métodos.

No estoy de acuerdo con la "base de datos relacional de objetos" terminología (por razones fuera de tema aquí), pero creo que el resto es pertinente.


Actualización: una cotización regardind 3D y la teoría del intervalo del libro citado anteriormente:

  

NOTA: Todos los intervalos discutido   hasta el momento puede ser considerado como   unidimensional. Sin embargo, podríamos   querer combinar dos unidimensional   intervalos para formar una de dos dimensiones   intervalo. Por ejemplo, una forma rectangular   parcela de tierra podría ser pensado como   un intervalo de dos dimensiones, porque   es, por definición, un objeto con   longitud y anchura, cada uno de los cuales es   básicamente un intervalo unidimensional   medida a lo largo algunos eje. Y de   Por supuesto, podemos extender esta idea a cualquier   número de dimensiones . Por ejemplo, una   (Bastante simple!) Podría ser la construcción   considerada como una de tres dimensiones   intervalo: Es un objeto de longitud,   anchura, y la altura, o en otras palabras una   cuboides. (De manera más realista, una   edificio podría ser considerado como un conjunto de   varios de estos paralelepípedos que se superponen en   diversas maneras.) y así sucesivamente. En que   se indica, sin embargo, nos limitaremos   atención a intervalos unidimensionales   específicamente, salvo explícita   declaraciones en sentido contrario, y nos   se omite el "unidimensional"   calificador para simplicidad.

Nota:

  1. escribí basadas en SQL no relacional porque hay maneras de utilizar este tipo de DBMS que se apartan por completo de la teoría relacional.

Otros consejos

Esto es razonamiento espacial...Hay algunos modelos, pero 9DE-IM ahora es aceptado por OGC y está implementado en PostGIS y otras herramientas de programación.

PostGIS implementa un motor de razonamiento espacial basado en un modelo de 9 intersecciones extendido dimensionalmente...9DE-IM..

http://postgis.refractions.net/documentation/manual-svn/ch04.html#DE-9IM consulte la sección 4.3.6.1.Teoría...


También lo hace Java Topology Suite (y Net Topology suite para C#, etc.)...

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

En particular, echa un vistazo a las cosas relacionadas con la geometría.como

booleano está relacionado = geometría.relate( geometría2, "T*T***T**" )

Puede probar las relaciones o filtrar datos en función de ellas.Funciona con puntos, líneas, polígonos, etc.


Esto podría ayudar en cuestiones temporales.

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

Salida SpatialRules en http://www.objectfx.com/ . Es un procesador de eventos complejos geoespacial para 2D y 3D.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top