150 likes | 374 Views
DMGIS’ 05. Pontypridd, Wales, UK September 5 – 8, 2005. Point in Polygon Analysis for Moving Objects. Farid Karimipour Mahmoud R. Delavar Andrew U. Frank Hani Rezayan. University of Tehran, Iran University of Tehran, Iran Technical University Vienna, Austria University of Tehran, Iran.
E N D
DMGIS’ 05 Pontypridd, Wales, UK September 5 – 8, 2005 Point in Polygon Analysisfor Moving Objects Farid Karimipour Mahmoud R. Delavar Andrew U. Frank Hani Rezayan University of Tehran, Iran University of Tehran, Iran Technical University Vienna, Austria University of Tehran, Iran Presenter: Eva Grum Technical University Vienna, Austria
Overview • Time in GIScience • Moving objects • Computational model formalization • Case Study: Point in polygon analyses
Goals • Demonstrate a uniform approach to analysis of static and dynamic situations using time lifting. • Show how it applies to operations used for the analysis of spatio-temporal data.
GI Science and Theory : Time • Everything changes: Time is a dimension of reality • Interest in change, seldom in static situation Deficiencies in current GIS: • Lack of comprehensive ontology • Discrete or partial continuous treatments • Dominance of analytical approaches • Context-based viewpoints
f1 B A f3 f4 f2 D C f5 GI Theory Development:Category Theory • Fundamental concepts • Category • A collection of primitive element types (domains), • a set of operations on those types (morphisms) • Composition of morphism: · • Identity morphism id (do nothing op!).
Functors give a principled way of extending an algebra “Many constructions of a new algebraic system from a given one also construct suitable morphism of the new algebraic system from morphism between the given ones. These constructions will be called 'functors' when they preserve identity morphism and composites of morphisms." • (Mac Lane and Birkhoff 1967 p.131)
Examples for well known Functors: • In school you were faced with the problem of dividing 2 apples among 4 people. • No solution with integers! We added rational numbers. • To find square roots to all real numbers, we went to complex numbers. • To solve geometric operations in 3d all the time, use homogenous coordinates!
GI Theory Development:Functor A mapping between categories: Let C and D be categories. A functorF from C to D is a mapping that: • Maps each object X in C to an object F(X) in D, • Maps each morphism f : R → V in C to a morphism F(f) : F(R) → F(V) in D Such that: • Identity maps to identity: F(id(X)) = id(F(X)) for every object • Composition is preserved: F(g ·f) = F(g) · F(f) for all morphisms f:XY and g:YZ .
Functional Formalization of Time Change and movement is formalized as a function from time to a position or an object property value. • Changing v = Time → v where v = any static type Time = Data type for time These functions are Functors!
Extending analytical functions to work with temporal data Given the basic operations (e.g. +, -, *) for static and dynamic data. Construct analytical functions which work for static data to apply to dynamic data: Automatically change the base operations they are constructed from. This is called “Lifting” (and is achieved by overloading)
Case Study: Point in Polygon Analysis for Moving Objects Given a method for “point in polygon” test for static points,Construct a test for moving points. Part of a series of tests to lift all low level analytical functions used in GIS to work on moving points: • Convex hull • Voronoï diagram etc.
Time Lifting • Time Lifting of Primitive Elements • Changing Number • Changing Point • Time Lifting of Basic Operators type Changing v = time → v (+) = lift2 (+) (-) = lift2 (-) (*) = lift2 (*) (/) = lift2 (/) lift0 a = \t → a lift1 op a = \t → op (a t) lift2 op a b = \t → op (a t) (b t)
Lifting the analytical function pointInPolygon:: Point a -> [Polygon a] -> Id_of_Polygon Without programming lifted by overloading to: pointInPolygon:: Changing (Point a) -> [Polygon a] -> Changing Id_of_Polygon
Determine for a moving point the polygon it is in for different time points Case Study: t=0
Conclusions • Category theory is the high level abstraction that provides the environment in which a theory of space-time fields and objects is possible. • Models for static analysis can be lifted to apply to dynamic situations without reprogramming.