Cartographic Modeling Language Approach for
CyberGIS:
A Demonstration with Flux Footprint Modeling
Michael E. Hodgson, April Hiscox, Shaowen Wang, Babak Behzad,
Sara Flecher, Kiumars Soltani, Yan Liu and Anand Padmanabhan
12 hour samples of NH4 concentrations.
Where did the samples come from?
Receptor
Location
Meteorological sampling at
10-hz (i.e. Big Data)
One-Dimensional Flux Footprint Model
Z = f(downwind distance)
-> Calculate spatial probability for 1 met sample; then
integrate with ~500,000 others.
Probability
(Horst and Weil, 1992)
Receptor
Location
Downwind Distance
• Implementation by a GIS Analyst would require distance,
direction, and algebraic operators.
How would a GIS analyst implement this spatial-temporal model?
Likely in a script (e.g. AML, EML, Python) with CML-type language.
What is the Cartographic Modeling Language
(CML) Framework?
• Common language for spatial modeling within the GIS
community (some may argue only for raster modeling)
• Widely accepted in the GIS analyst community
• Widely implemented in the GIS Software Industry
• Common approach used in education.
Analogy: Structured Query Language (SQL) in DBMS
Building a Model Within the
ArcMap ‘Environment’
Command Line
Tool
Model Builder
GUI
Script (e.g. Python)
c) 2009 M.E. Hodgson
Visual Basic Application (VBA)
Chaining GIS Operations to Represent a Model: Model Builder
Development of a Geographic Model
USER
Graphical Model
(e.g. Model Builder/Maker, Stella)
Programming Language
(e.g. VBA, C, FORTRAN)
Script
(e.g. AML, EML, Python, PHP)
Interface (Data Access)
Interface (Operators)
11
11
CPU
11
CPU
CPU
CPU
CPU
CPU
1
CPU
Geospatial Data
Geographic Operators (library)
Development of Geographic Model
(Implementation Approach)
USER
What must the user know to aid
in the parallel decomposition?
Graphical Model
(e.g. Model Builder/Maker, Stella)
Programming Language
(e.g. VBA, C, FORTRAN)
Translator
Script
(e.g. AML, EML, Python)
Interface (Data Access)
Interface (Operators)
11
11
CPU
11
CPU
CPU
CPU
CPU
CPU
Geospatial Data
Geographic Operators (library)
Location of Tower and Receptor
One-Dimensional Modeled Results
Parallelization Strategies
• Parallelize Euclidean direction and distance
matrices calculation
– Merge multiple loops into single
• Temporal loop Parallelization
• Parallel modules exposed as library functions
• Provides basis of CML operator development
– Lowers the barrier-to-entry for parallel computing
Descargar

Introduction - University of Illinois at Urbana–Champaign