Rules engine for spatial and temporal reasoning?

前端 未结 3 531
粉色の甜心
粉色の甜心 2020-12-17 07:16

I have an application that receives a number of datums that characterize 3 dimensional spatial and temporal processes. It then filters these datums and creates actions whic

相关标签:
3条回答
  • 2020-12-17 07:42

    Premise - remember that a SQL-based1 DBMS is a (quite capable) inference engine, as can be seen from these comparisons between SQL and Prolog:

    • prolog to SQL converter
    • difference between SQL and Prolog

    To address specifically your spatio-temporal applications, this book will help:

    • TEMPORAL DATA AND THE RELATIONAL MODEL - A Detailed Investigation into the Application of Interval and Relation Theory to the Problem of Temporal Database Management.

    That is, combining Interval and Relation Theory is possible to reasoning about spatio-temporal problems effectively (see 5.2 Applications of Intervals).

    Of course, if your SQL-based DBMS is not (yet) equipped with interval (and other) operators you will need to extend it appropriately (via store-procedures and/or User-Defined Functions - UDFs).

    Update: skimming the paper pointed out in comments by timemirror (Towards a 3D Spatial Query Language for Building Information Models) they do essentially what I touched on above:

    (last page)

    IMPLEMENTATION CONCEPTS

    The implementation of the abstract type system into a query language will be performed on the basis of the query language SQL, which is a widely established standard in the field of object-relational databases. The international standard SQL:1999 extends the relational model to include object-oriented aspects, such as the possibility to define complex abstract data types with integrated methods.

    I do not concur with the "object-relational database" terminology (for reason off-topic here) but I think the rest is pertinent.


    Update: a quote regardind 3D and interval theory from the book cited above:

    NOTE: All of the intervals discussed so far can be thought of as one-dimensional. However, we might want to combine two one-dimensional intervals to form a twodimensional interval. For example, a rectangular plot of ground might be thought of as a two-dimensional interval, because it is, by definition, an object with length and width, each of which is basically a one-dimensional interval measured along some axis. And, of course, we can extend this idea to any number of dimensions. For example, a (rather simple!) building might be regarded as a three-dimensional interval: It is an object with length, width, and height, or in other words a cuboid. (More realistically, a building might be regarded as a set of several such cuboids that overlap in various ways.) And so on. In what follows, however, we will restrict our attention to one-dimensional intervals specifically, barring explicit statements to the contrary, and we will omit the "one-dimensional" qualifier for simplicity.

    Note

    1. I wrote SQL-based and not relational because there are ways to use such DBMSes that completely deviate from relational theory.
    0 讨论(0)
  • 2020-12-17 07:57

    This is Spatial Reasoning... a few models but 9DE-IM is now accepted by OGC and implemented in PostGIS and other programming tools.

    PostGIS implements a spatial reasoning engine based on dimensionally extended 9 intersection model... 9DE-IM..

    http://postgis.refractions.net/documentation/manual-svn/ch04.html#DE-9IM check sect 4.3.6.1. Theory...


    So does the Java Topology Suite (and Net Topology suite for C# etc)...

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

    In particualr check out the geometry.relate stuff.. such as

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

    You can test the relationships, or filter data based on them. Works with pts, lines, polygons etc...


    This might help on temporal stuff..

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

    0 讨论(0)
  • 2020-12-17 07:59

    Check out SpatialRules at http://www.objectfx.com/. It's a geospatial complex event processor for 2D and 3D.

    0 讨论(0)
提交回复
热议问题