point in polygon analysis for moving objects farid karimipour mahmoud r. delavar andrew u. frank...
DESCRIPTION
Farid Karimipour Mahmoud R. Delavar Andrew U. Frank Hani Rezayan Point in Polygon Analysis for Moving Objects DMGIS’ 05 Pontypridd, Wales, UK September 5 – 8, 2005 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.TRANSCRIPT
Point in Polygon Point in Polygon AnalysisAnalysis
for Moving Objectsfor Moving ObjectsFarid KarimipourFarid KarimipourMahmoud R. Mahmoud R. DelavarDelavarAndrew U. FrankAndrew U. FrankHani RezayanHani Rezayan
University of Tehran, IranUniversity of Tehran, IranUniversity of Tehran, IranUniversity of Tehran, Iran
Technical University Vienna, Technical University Vienna, AustriaAustria
University of Tehran, IranUniversity of Tehran, Iran
Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5 – 8, 2005September 5 – 8, 2005
DMGIS’ 05DMGIS’ 05
Presenter:Presenter:Eva GrumEva Grum
Technical University Vienna, Technical University Vienna, AustriaAustria
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
OverviewOverview
Time in GIScience Moving objects Computational model formalization Case Study: Point in polygon analyses
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
GoalsGoals
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.
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
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
GI Science and Theory : GI Science and Theory : TimeTime
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
GI Theory Development:GI Theory Development:Category TheoryCategory 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!).
A
C
B
D
f1
f2 f4f3
f5
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Functors give a principled Functors give a principled way of extending an way of extending an algebraalgebra“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)
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Examples for well known Examples for well known Functors: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!
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
GI Theory Development:GI Theory Development:FunctorFunctorA mapping between categories: Let C and D be categories. A functor F 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 .
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Functional Formalization of Functional Formalization of TimeTimeChange 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 timeThese functions are Functors!
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Extending analytical Extending analytical functions to work with functions to work with temporal datatemporal dataGiven 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)
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Case Study: Point in Polygon Case Study: Point in Polygon Analysis for Moving ObjectsAnalysis for Moving ObjectsGiven 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ï diagrametc.
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Time Lifting of Primitive Elements
Changing Number Changing Point
Time Lifting of Basic Operators
Time LiftingTime Lifting
type Changing v = time → v
lift0 a = \t → alift1 op a = \t → op (a t)lift2 op a b = \t → op (a t) (b t)
(+) = lift2 (+)(-) = lift2 (-)(*) = lift2 (*)(/) = lift2 (/)
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Lifting the analytical Lifting the analytical functionfunctionpointInPolygon::
Point a -> [Polygon a] -> Id_of_Polygon
Without programming lifted by overloading to:
pointInPolygon:: Changing (Point a) -> [Polygon a] -> Changing Id_of_Polygon
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
Case Study: Case Study:
Point ID t=0 t=10 t=20
1 4 5 3
2 9 7 4
3 10 6 1
4 2 3 8
5 6 7 5
t=0
Determine for a moving point the polygon it is in for different time points
Farid KarimipourFarid KarimipourMahmoud R. DelavarMahmoud R. DelavarAndrew U. Frank Andrew U. Frank Hani RezayanHani Rezayan
Point in Polygon Point in Polygon Analysis for Moving Analysis for Moving
ObjectsObjects
DMGIS’ 05DMGIS’ 05Pontypridd, Wales, UKPontypridd, Wales, UKSeptember 5September 5 – – 8, 20058, 2005
ConclusionsConclusions
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.