SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
Linking environmental models together to
  make the world a better place: the GIS
               approach

             Geoinformatics FCE CTU
         Prague, Czech Republic, 19th of May 2011



              Andrea Antonello (HydroloGIS)
        Olaf David (Colorado State University/USDA)
The importance of being... GIS




a container for environmental sciences...
Horton Machine, geo-hydro toolbox in
             GRASS
JGrass, hydro-geomorphology based on
             GRASS formats
 • first wanted to be a userfriendly gui for GRASS
 • a toolbox for geomorphology and hydrology
Soon it became clear what was missing to make the world
a better place:
 • a standard (accepted) modelling system
 • a modern, mature and extensible rich client
   framework
uDig, the GIS app to create apps
...the glue for different applications?



The reciepe so far:
  • GIS
  • a fair amount of
    science
  •?
What do we mean when we say linking
             models?

                          A simple example




 ESRI ASCII, TIF, GRASS                      ESRI ASCII, TIF, GRASS
  COVERAGE READER
                               PITFILLER      COVERAGE WRITER
Still a simple example




ESRI ASCII, TIF, GRASS
 COVERAGE READER
                                  PITFILLER




                                                  ESRI ASCII, TIF, GRASS
                               FLOWDIRECTIONS      COVERAGE WRITER
Still a simple example, but trickier




ESRI ASCII, TIF, GRASS                     ESRI ASCII, TIF, GRASS
 COVERAGE READER
                            PITFILLER       COVERAGE WRITER




                                           ESRI ASCII, TIF, GRASS
                         FLOWDIRECTIONS     COVERAGE WRITER
But what about this?

                                  GRADIENT
ESRI ASCII, TIF, GRASS
 COVERAGE READER

                                               CURVATURES
  PITFILLER


FLOWDIRECTIONS              DRAIDIR                  AB


                             EXTRACTNETWORK
 RESCALED DISTANCE
     SUP E SUB                                TOPINDEX


                   RAINFALL AND               PEAKFLOW
                   SATURATION                               CSV, DATABASE
                   PARAMETERS                                 WRITER
And this?




                                            ity
                               wind e humid
                                pres rature


                                         d
                                                     ENERGY INDEX




                               relativ re
                                    spee
                                 tempe
                                     su
    CSV, DATABASE
      READER




                                                                                                  ity
                                                                                    rela ssure ture
                                                                      JAMI




                                                                                          pe mid
      rain




                                                                                      pre pera
                                                                   other meteo




                                                                                      d s hu
                                                                                            ed
                                                                                   win tive
                                                                                        tem
                                                                  interpolation

      KRIGING                           rain
 rain interpolation

                                                                                  ENERGY BALANCE
basins                      s       o   ns
                        sin    tati
rain gauges           ba teo s
                       me
                                                                                                        Pnet, SWE

                                     ns
      SHAPEFILE                  basi
     AND POSTGIS
                                                                                                        CSV, DATABASE
       READER                                     SNOW, GLACIER                                           WRITER
                                                   VEGETATION
                                                   PARAMETERS
And then there is time
Consider there will be parameters and modules that execute just once, there
might be an external timeline, which could even be paused when no data are
available.

                                                                     1x calc
                                             ity
                                wind e humid
                                 pres rature


                                          d
                                                      ENERGY INDEX
                                relativ re
                                     spee
                                  tempe

     CSV, DATABASE                    su

       READER




                                                                                                   ity
                                                                                     rela ssure ture
                                                                       JAMI




                                                                                           pe mid
       rain




                                                                                       pre pera
                                                                    other meteo




                                                                                       d s hu
                                                                                             ed
                                                                                    win tive
                                                                                         tem
                                                                   interpolation

       KRIGING                         rain
  rain interpolation


 basins
 rain gauges




       SHAPEFILE
      AND POSTGIS
                         sin
                             s
                       ba teo s
                        me
                                tati
                                     on




                                  basi
                                      ns
                                        s



                                                                     t             ENERGY BALANCE

                                                                                                         Pnet, SWE



                                                                                                         CSV, DATABASE
        READER                                     SNOW, GLACIER                                           WRITER

pause dt                                            VEGETATION
                                                    PARAMETERS
                                                                     1x param
What other problems do we have for a modelling
             environment to work?

• modules come from different authors
• modules come in different.. ehm flavours
• nowadays it should be possible to load library
  modules at runtime
• they should not change the original code too much
• to be able to connect them, the modules need to be
  datatype abstract
• ...and possibly have the timeline external
What do we mean when we say linking models?


inputFilePathForModule1            t1...tn                  outputFilePathOfModule1
                                                                                                    t1...tn
                     DATA READER
                                   MODULE 1   DATA WRITER                             DATA READER
                                                                                                    MODULE 2      DATA WRITER




  inputFilePathForModule1
                                                                                                              outputFilePathOfModule1




              DATA READER                                                                       DATA WRITER

                                      MODULE 1                      MODULE 2
                                                                                                                   t1
                                                                                                                   tn
The (European) OpenMI approach
Considering that:
  • OpenMI seemed to become de facto a standard (still)
  • important actors in hydrology (ex. DHI and Deltares)
  • OpenMI was missing GIS notions
We decided to:
  • invest two years to migrate our modules to that
    framework
  • invest time and resources to join the technical
    steering committee
The (European) OpenMI approach
The modelling approach was the usual. Init your thing,
then execute, at the end dispose.

 public void initialize( IArgument[] properties ) throws Exception {
     // ...
 }




 public IValueSet getValues( ITime time, String linkID ) throws Exception {
     // ...
 }




Being OpenMI a set of standard interfaces, the
user/developer is forced to follow those apis.
The (European) OpenMI approach
We learned that:
 • for our purposes the framework was too invasive (for
   large models than many small modules?)
 • migration effort was too big
 • by the time we finished a new major release was
   ready
 • at that time we were the only ones supplying open
   source modules (so who to test linking with?)
 • back then we never were able to get GIS stuff into
   OpenMI (now they discuss with OGC)
The (American) OMS3 approach
At a conference our team came in touch with the Object
Modelling System.

Welcome to the Object Modeling System ... modeling
framework ... based on components ... project active
among the U.S. Department of Agriculture and partner
agencies ... highly inter-operable and lightweight
modeling framework for component-based model and
simulation development on multiple platforms.

Well, we had heared that before.
Annotations on your code
Basically OMS3 supplies a set of Annotations to put on
the code to describe it.

Class description useful             for    the     generation      of
documentation and guis.

 @Description("It fills the depression points present within a DEM.")
 @Documentation("Pitfiller.html")
 @Author(name = "David Tarboton")
 @Keywords("Dem manipulation, Geomorphology, DrainDir")
 @Label(JGTConstants.DEMMANIPULATION)
 @Name("pit")
 @Status(Status.CERTIFIED)
 public class Pitfiller {
     // ...
 }
Definition and description of input and output parameter

 @Description("The map of digital elevation model (DEM).")
 @In
 public GridCoverage2D inElev;

 @Description("The depitted elevation map.")
 @Out
 public GridCoverage2D outPit = null;



Definition of the method to be executed

 @Execute
 public void process() throws Exception {
     // ...
 }
What about native code?

             How does OMS3 help?

• Use FORTRAN code in OMS directly (no C/C++
  bridge required)
• Define OMS components in FORTRAN
• Integrated with build system
• Allow automatic documentation generation from
  source
Requirements?

• FORTRAN 90+ syntax
• ISO_C_BINDING
• GCC 4.4+ / gfortran

! @Execute
SUBROUTINE we(eroout, eroout_len,runoff,peakro,effdrn)

    ! @In
    CHARACTER(kind = C_CHAR, len = eroout_len) :: eroout
    INTEGER(C_INT), intent(in), VALUE :: eroout_len

    ! @In
    REAL(C_FLOAT) :: runoff,peakro,effdrn
    ..



 http://gcc.gnu.org/onlinedocs/gfortran/ISO_005fC_005fBINDING.html
OpenMI vs. OMS3: our experience
Extending OMS3 with GIS: the genesis of
             JGrasstools
OMS3 brought some important advantages:
 •   USDA has lots of open source OMS3 modules
 •   flat learning curve for instant gratification
 •   fast migration of code
 •   abstraction of I/O is perfect choice, clean code
 • possibility of external handling of the timeline
We decided to not migrate JGrass to use OMS3, but
instead to extract the processing algorithms to a
geomorphologic     and   hydrologic   library, the
JGrasstools.
What can we find in JGrasstools?

                    Engineering
Major environmental models:
 • hydro-geomorphological risk
 • hydropower, solar potential and renewable energies
 • LiDAR data analysis
Maximum discharge: Peakflow
Interpolators: Kriging, Jami
Full hydrological cycle: Adige, Hymod
Snowmodel, simplified hydraulic model
Network Management
Powerful and well known software for water supply
system and stormwater network system design and
maintainance:
 • Epanet
 • Trento_p
Epanet integration in uDig
The Horton Machine: geomorphologic and hydrologic
                     toolbox




   http://code.google.com/p/jgrasstools/wiki/HortonMachine


         JGrass gears: generic GIS toolbox




    http://code.google.com/p/jgrasstools/wiki/JGrassGears
How to use JGrasstools
• in applications (see Epanet for uDig)
• through the scripting engine (groovy, oms, geoscript)

        sim = new oms3.SimBuilder(logging:'ALL').sim(name:'pitfiller') {
           model {
              components {
                'pitfiller'         'pit'
                'reader'            'rasterreader'
                'writer'            'rasterwriter'
              }
              parameter {
                'reader.file'       'D:dataspearfish60newuser1celldtm'
                'writer.file'       'D:dataspearfish60newuser1cellpit'
              }
              connect {
                'reader.outRaster' 'pitfiller.inElev'
                'pitfiller.outPit'   'writer.inRaster'
              }
           }
        }
        sim.run();
• from commandline

        ./jgrasstools.sh script.oms




   So what about normal users??
OMS3, GIS and JGrasstools made simple

                Introducing the OmsBox
user frontend
     the OmsBox is a frontend for GIS users, a a
     graphical user interface that can load any OMS3
     annotated module

uDig based
     eclipse/rcp/uDig plugin to integrate in GIS. Mouse
     clicks, region settings, raster resolution and all
     needed GIS notions are supplied to the widgets
oms3 generated guis
     the guis are generated from the OMS3 annotations.
     The GIS knows only OMS3.

gui labels and docs
     the gui labels and documentations are now
     responsability of the module developer/maintainer

licensing issues
     the OmsBox is a LGPL plugin for uDig (compatible
     with OMS3). Loaded OMS3 libraries can choose the
     license. JGrasstools is GPL.
The OmsBox in uDig




• integrated in uDig   • region settings auto-fill
• drag & drop          • different debug levels
• listens to clicks    • separate processes
OmsBox gui generation: @Label
OmsBox gui generation: ClassName
OmsBox gui generation: @In/@Out fields
OmsBox gui generation: field @Description
OmsBox gui generation: field @Units and @Range
OmsBox gui generation: on the fly documentation
OmsBox gui generation: on the fly documentation
Geoinformatics FCE CTU
                Prague, Czech Republic, 19th of May 2011


Useful links:
  • http://www.javaforge.com/project/oms
  • http://www.jgrasstools.org
  • http://udig.refractions.net
  • http://www.geotools.org

Contenu connexe

En vedette

JGrass Workshop: Horton Machine (FOSS4G2008)
JGrass Workshop: Horton Machine (FOSS4G2008)JGrass Workshop: Horton Machine (FOSS4G2008)
JGrass Workshop: Horton Machine (FOSS4G2008)Andrea Antonello
 
Diy(finished)
Diy(finished)Diy(finished)
Diy(finished)RandyBett
 
Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...
Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...
Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...Envision Technology Advisors
 
Hampton Court
Hampton CourtHampton Court
Hampton Courtdrialog
 
Diacritice romanesti in Y.M by Prajescu Ioana
Diacritice romanesti in Y.M by Prajescu IoanaDiacritice romanesti in Y.M by Prajescu Ioana
Diacritice romanesti in Y.M by Prajescu Ioanaprajescuioana
 
How students designed RC's 50th Anniversary Logo
How students designed RC's 50th Anniversary LogoHow students designed RC's 50th Anniversary Logo
How students designed RC's 50th Anniversary LogoManuel Powell Rodriguez
 
PPACA: What You Need to Know (June 2013)
PPACA: What You Need to Know (June 2013)PPACA: What You Need to Know (June 2013)
PPACA: What You Need to Know (June 2013)Travis Sinquefield
 
02 pauta y_tabla_de_notacion_interna0
02 pauta y_tabla_de_notacion_interna002 pauta y_tabla_de_notacion_interna0
02 pauta y_tabla_de_notacion_interna0joseph quenaya neyra
 
Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...
Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...
Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...Waqas Tariq
 
Model for the environmental impact assessment of neighbourhoods - Damien Trigaux
Model for the environmental impact assessment of neighbourhoods - Damien TrigauxModel for the environmental impact assessment of neighbourhoods - Damien Trigaux
Model for the environmental impact assessment of neighbourhoods - Damien TrigauxDS2BE
 
Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?
Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?
Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?Andrea Antonello
 
Geopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kidGeopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kidAndrea Antonello
 
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...Brad Evans
 

En vedette (19)

JGrass Workshop: Horton Machine (FOSS4G2008)
JGrass Workshop: Horton Machine (FOSS4G2008)JGrass Workshop: Horton Machine (FOSS4G2008)
JGrass Workshop: Horton Machine (FOSS4G2008)
 
JGrass Present Future
JGrass Present FutureJGrass Present Future
JGrass Present Future
 
formulare web
formulare webformulare web
formulare web
 
Shakespeare
ShakespeareShakespeare
Shakespeare
 
Diy(finished)
Diy(finished)Diy(finished)
Diy(finished)
 
Ppt
PptPpt
Ppt
 
Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...
Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...
Meeting the Challenges of HIPAA Compliance, Phishing Attacks, and Mobile Secu...
 
EcommerceCamp Toronto -- Moneris
EcommerceCamp Toronto -- MonerisEcommerceCamp Toronto -- Moneris
EcommerceCamp Toronto -- Moneris
 
Hampton Court
Hampton CourtHampton Court
Hampton Court
 
AB CV FULL
AB CV FULLAB CV FULL
AB CV FULL
 
Diacritice romanesti in Y.M by Prajescu Ioana
Diacritice romanesti in Y.M by Prajescu IoanaDiacritice romanesti in Y.M by Prajescu Ioana
Diacritice romanesti in Y.M by Prajescu Ioana
 
How students designed RC's 50th Anniversary Logo
How students designed RC's 50th Anniversary LogoHow students designed RC's 50th Anniversary Logo
How students designed RC's 50th Anniversary Logo
 
PPACA: What You Need to Know (June 2013)
PPACA: What You Need to Know (June 2013)PPACA: What You Need to Know (June 2013)
PPACA: What You Need to Know (June 2013)
 
02 pauta y_tabla_de_notacion_interna0
02 pauta y_tabla_de_notacion_interna002 pauta y_tabla_de_notacion_interna0
02 pauta y_tabla_de_notacion_interna0
 
Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...
Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...
Comparison of Interpolation Methods in Prediction the Pattern of Basal Stem R...
 
Model for the environmental impact assessment of neighbourhoods - Damien Trigaux
Model for the environmental impact assessment of neighbourhoods - Damien TrigauxModel for the environmental impact assessment of neighbourhoods - Damien Trigaux
Model for the environmental impact assessment of neighbourhoods - Damien Trigaux
 
Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?
Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?
Rilevare in campagna con il cellulare: Solo un gioco o il nostro futuro?
 
Geopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kidGeopaparazzi, history of a digital mapping kid
Geopaparazzi, history of a digital mapping kid
 
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
TERN eMAST : Observations and terrestrial ecosystem models : Terrestrial Ecos...
 

Plus de Andrea Antonello

Smash & Geopaparazzi - State of the art 2021
Smash & Geopaparazzi - State of the art 2021Smash & Geopaparazzi - State of the art 2021
Smash & Geopaparazzi - State of the art 2021Andrea Antonello
 
GEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATIONGEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATIONAndrea Antonello
 
GEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATIONGEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATIONAndrea Antonello
 
Geopaparazzi Survey Server workshop
Geopaparazzi Survey Server workshopGeopaparazzi Survey Server workshop
Geopaparazzi Survey Server workshopAndrea Antonello
 
Geopaparazzi Survey Server Installation
Geopaparazzi Survey Server InstallationGeopaparazzi Survey Server Installation
Geopaparazzi Survey Server InstallationAndrea Antonello
 
Modelling natural hazards in gvSIG with the HortonMachine plugins
Modelling natural hazards in gvSIG with the HortonMachine pluginsModelling natural hazards in gvSIG with the HortonMachine plugins
Modelling natural hazards in gvSIG with the HortonMachine pluginsAndrea Antonello
 
GEOPAPARAZZI: STATE OF THE ART
GEOPAPARAZZI: STATE OF THE ARTGEOPAPARAZZI: STATE OF THE ART
GEOPAPARAZZI: STATE OF THE ARTAndrea Antonello
 
Geopaparazzi - NEVER OUT OF DATA IN THE FIELD
Geopaparazzi - NEVER OUT OF DATA IN THE FIELDGeopaparazzi - NEVER OUT OF DATA IN THE FIELD
Geopaparazzi - NEVER OUT OF DATA IN THE FIELDAndrea Antonello
 
The HortonMachine, for data analysis to help scientists... and not only
The HortonMachine, for data analysis to help scientists... and not onlyThe HortonMachine, for data analysis to help scientists... and not only
The HortonMachine, for data analysis to help scientists... and not onlyAndrea Antonello
 
Geopaparazzi & gvSIG Mobile - state of the art
Geopaparazzi & gvSIG Mobile - state of the artGeopaparazzi & gvSIG Mobile - state of the art
Geopaparazzi & gvSIG Mobile - state of the artAndrea Antonello
 
PART 6: FROM GEO INTO YOUR REPORT
PART 6: FROM GEO INTO YOUR REPORTPART 6: FROM GEO INTO YOUR REPORT
PART 6: FROM GEO INTO YOUR REPORTAndrea Antonello
 
PART 4: GEOGRAPHIC SCRIPTING
PART 4: GEOGRAPHIC SCRIPTINGPART 4: GEOGRAPHIC SCRIPTING
PART 4: GEOGRAPHIC SCRIPTINGAndrea Antonello
 
PART 3: THE SCRIPTING COMPOSER AND PYTHON
PART 3: THE SCRIPTING COMPOSER AND PYTHONPART 3: THE SCRIPTING COMPOSER AND PYTHON
PART 3: THE SCRIPTING COMPOSER AND PYTHONAndrea Antonello
 
Foss4g2016 Geopaparazzi Workshop
Foss4g2016 Geopaparazzi WorkshopFoss4g2016 Geopaparazzi Workshop
Foss4g2016 Geopaparazzi WorkshopAndrea Antonello
 
New tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIG
New tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIGNew tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIG
New tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIGAndrea Antonello
 
Geographic scripting in uDig
Geographic scripting in uDigGeographic scripting in uDig
Geographic scripting in uDigAndrea Antonello
 
03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developer03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developerAndrea Antonello
 
02 Geographic scripting in uDig - halfway between user and developer
02 Geographic scripting in uDig - halfway between user and developer02 Geographic scripting in uDig - halfway between user and developer
02 Geographic scripting in uDig - halfway between user and developerAndrea Antonello
 
05 Geographic scripting in uDig - halfway between user and developer
05 Geographic scripting in uDig - halfway between user and developer05 Geographic scripting in uDig - halfway between user and developer
05 Geographic scripting in uDig - halfway between user and developerAndrea Antonello
 

Plus de Andrea Antonello (20)

Smash & Geopaparazzi - State of the art 2021
Smash & Geopaparazzi - State of the art 2021Smash & Geopaparazzi - State of the art 2021
Smash & Geopaparazzi - State of the art 2021
 
GEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATIONGEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI: STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
 
GEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATIONGEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
GEOPAPARAZZI STATE OF THE ART OF THE DIGITAL FIELD MAPPING APPLICATION
 
Geopaparazzi Survey Server workshop
Geopaparazzi Survey Server workshopGeopaparazzi Survey Server workshop
Geopaparazzi Survey Server workshop
 
Geopaparazzi Survey Server Installation
Geopaparazzi Survey Server InstallationGeopaparazzi Survey Server Installation
Geopaparazzi Survey Server Installation
 
Modelling natural hazards in gvSIG with the HortonMachine plugins
Modelling natural hazards in gvSIG with the HortonMachine pluginsModelling natural hazards in gvSIG with the HortonMachine plugins
Modelling natural hazards in gvSIG with the HortonMachine plugins
 
GEOPAPARAZZI: STATE OF THE ART
GEOPAPARAZZI: STATE OF THE ARTGEOPAPARAZZI: STATE OF THE ART
GEOPAPARAZZI: STATE OF THE ART
 
Geopaparazzi - NEVER OUT OF DATA IN THE FIELD
Geopaparazzi - NEVER OUT OF DATA IN THE FIELDGeopaparazzi - NEVER OUT OF DATA IN THE FIELD
Geopaparazzi - NEVER OUT OF DATA IN THE FIELD
 
The HortonMachine, for data analysis to help scientists... and not only
The HortonMachine, for data analysis to help scientists... and not onlyThe HortonMachine, for data analysis to help scientists... and not only
The HortonMachine, for data analysis to help scientists... and not only
 
Geopaparazzi & gvSIG Mobile - state of the art
Geopaparazzi & gvSIG Mobile - state of the artGeopaparazzi & gvSIG Mobile - state of the art
Geopaparazzi & gvSIG Mobile - state of the art
 
PART 6: FROM GEO INTO YOUR REPORT
PART 6: FROM GEO INTO YOUR REPORTPART 6: FROM GEO INTO YOUR REPORT
PART 6: FROM GEO INTO YOUR REPORT
 
PART 5: RASTER DATA
PART 5: RASTER DATAPART 5: RASTER DATA
PART 5: RASTER DATA
 
PART 4: GEOGRAPHIC SCRIPTING
PART 4: GEOGRAPHIC SCRIPTINGPART 4: GEOGRAPHIC SCRIPTING
PART 4: GEOGRAPHIC SCRIPTING
 
PART 3: THE SCRIPTING COMPOSER AND PYTHON
PART 3: THE SCRIPTING COMPOSER AND PYTHONPART 3: THE SCRIPTING COMPOSER AND PYTHON
PART 3: THE SCRIPTING COMPOSER AND PYTHON
 
Foss4g2016 Geopaparazzi Workshop
Foss4g2016 Geopaparazzi WorkshopFoss4g2016 Geopaparazzi Workshop
Foss4g2016 Geopaparazzi Workshop
 
New tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIG
New tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIGNew tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIG
New tools for LiDAR, forestry, river management and hydro-geomorphology in gvSIG
 
Geographic scripting in uDig
Geographic scripting in uDigGeographic scripting in uDig
Geographic scripting in uDig
 
03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developer03 Geographic scripting in uDig - halfway between user and developer
03 Geographic scripting in uDig - halfway between user and developer
 
02 Geographic scripting in uDig - halfway between user and developer
02 Geographic scripting in uDig - halfway between user and developer02 Geographic scripting in uDig - halfway between user and developer
02 Geographic scripting in uDig - halfway between user and developer
 
05 Geographic scripting in uDig - halfway between user and developer
05 Geographic scripting in uDig - halfway between user and developer05 Geographic scripting in uDig - halfway between user and developer
05 Geographic scripting in uDig - halfway between user and developer
 

Dernier

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 

Dernier (20)

Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 

Linking environmental models together to make the world a better place: the GIS approach

  • 1. Linking environmental models together to make the world a better place: the GIS approach Geoinformatics FCE CTU Prague, Czech Republic, 19th of May 2011 Andrea Antonello (HydroloGIS) Olaf David (Colorado State University/USDA)
  • 2. The importance of being... GIS a container for environmental sciences...
  • 3. Horton Machine, geo-hydro toolbox in GRASS
  • 4. JGrass, hydro-geomorphology based on GRASS formats • first wanted to be a userfriendly gui for GRASS • a toolbox for geomorphology and hydrology Soon it became clear what was missing to make the world a better place: • a standard (accepted) modelling system • a modern, mature and extensible rich client framework
  • 5. uDig, the GIS app to create apps
  • 6. ...the glue for different applications? The reciepe so far: • GIS • a fair amount of science •?
  • 7. What do we mean when we say linking models? A simple example ESRI ASCII, TIF, GRASS ESRI ASCII, TIF, GRASS COVERAGE READER PITFILLER COVERAGE WRITER
  • 8. Still a simple example ESRI ASCII, TIF, GRASS COVERAGE READER PITFILLER ESRI ASCII, TIF, GRASS FLOWDIRECTIONS COVERAGE WRITER
  • 9. Still a simple example, but trickier ESRI ASCII, TIF, GRASS ESRI ASCII, TIF, GRASS COVERAGE READER PITFILLER COVERAGE WRITER ESRI ASCII, TIF, GRASS FLOWDIRECTIONS COVERAGE WRITER
  • 10. But what about this? GRADIENT ESRI ASCII, TIF, GRASS COVERAGE READER CURVATURES PITFILLER FLOWDIRECTIONS DRAIDIR AB EXTRACTNETWORK RESCALED DISTANCE SUP E SUB TOPINDEX RAINFALL AND PEAKFLOW SATURATION CSV, DATABASE PARAMETERS WRITER
  • 11. And this? ity wind e humid pres rature d ENERGY INDEX relativ re spee tempe su CSV, DATABASE READER ity rela ssure ture JAMI pe mid rain pre pera other meteo d s hu ed win tive tem interpolation KRIGING rain rain interpolation ENERGY BALANCE basins s o ns sin tati rain gauges ba teo s me Pnet, SWE ns SHAPEFILE basi AND POSTGIS CSV, DATABASE READER SNOW, GLACIER WRITER VEGETATION PARAMETERS
  • 12. And then there is time Consider there will be parameters and modules that execute just once, there might be an external timeline, which could even be paused when no data are available. 1x calc ity wind e humid pres rature d ENERGY INDEX relativ re spee tempe CSV, DATABASE su READER ity rela ssure ture JAMI pe mid rain pre pera other meteo d s hu ed win tive tem interpolation KRIGING rain rain interpolation basins rain gauges SHAPEFILE AND POSTGIS sin s ba teo s me tati on basi ns s t ENERGY BALANCE Pnet, SWE CSV, DATABASE READER SNOW, GLACIER WRITER pause dt VEGETATION PARAMETERS 1x param
  • 13. What other problems do we have for a modelling environment to work? • modules come from different authors • modules come in different.. ehm flavours • nowadays it should be possible to load library modules at runtime • they should not change the original code too much • to be able to connect them, the modules need to be datatype abstract • ...and possibly have the timeline external
  • 14. What do we mean when we say linking models? inputFilePathForModule1 t1...tn outputFilePathOfModule1 t1...tn DATA READER MODULE 1 DATA WRITER DATA READER MODULE 2 DATA WRITER inputFilePathForModule1 outputFilePathOfModule1 DATA READER DATA WRITER MODULE 1 MODULE 2 t1 tn
  • 15. The (European) OpenMI approach Considering that: • OpenMI seemed to become de facto a standard (still) • important actors in hydrology (ex. DHI and Deltares) • OpenMI was missing GIS notions We decided to: • invest two years to migrate our modules to that framework • invest time and resources to join the technical steering committee
  • 16. The (European) OpenMI approach The modelling approach was the usual. Init your thing, then execute, at the end dispose. public void initialize( IArgument[] properties ) throws Exception { // ... } public IValueSet getValues( ITime time, String linkID ) throws Exception { // ... } Being OpenMI a set of standard interfaces, the user/developer is forced to follow those apis.
  • 17. The (European) OpenMI approach We learned that: • for our purposes the framework was too invasive (for large models than many small modules?) • migration effort was too big • by the time we finished a new major release was ready • at that time we were the only ones supplying open source modules (so who to test linking with?) • back then we never were able to get GIS stuff into OpenMI (now they discuss with OGC)
  • 18. The (American) OMS3 approach At a conference our team came in touch with the Object Modelling System. Welcome to the Object Modeling System ... modeling framework ... based on components ... project active among the U.S. Department of Agriculture and partner agencies ... highly inter-operable and lightweight modeling framework for component-based model and simulation development on multiple platforms. Well, we had heared that before.
  • 19. Annotations on your code Basically OMS3 supplies a set of Annotations to put on the code to describe it. Class description useful for the generation of documentation and guis. @Description("It fills the depression points present within a DEM.") @Documentation("Pitfiller.html") @Author(name = "David Tarboton") @Keywords("Dem manipulation, Geomorphology, DrainDir") @Label(JGTConstants.DEMMANIPULATION) @Name("pit") @Status(Status.CERTIFIED) public class Pitfiller { // ... }
  • 20. Definition and description of input and output parameter @Description("The map of digital elevation model (DEM).") @In public GridCoverage2D inElev; @Description("The depitted elevation map.") @Out public GridCoverage2D outPit = null; Definition of the method to be executed @Execute public void process() throws Exception { // ... }
  • 21. What about native code? How does OMS3 help? • Use FORTRAN code in OMS directly (no C/C++ bridge required) • Define OMS components in FORTRAN • Integrated with build system • Allow automatic documentation generation from source
  • 22. Requirements? • FORTRAN 90+ syntax • ISO_C_BINDING • GCC 4.4+ / gfortran ! @Execute SUBROUTINE we(eroout, eroout_len,runoff,peakro,effdrn) ! @In CHARACTER(kind = C_CHAR, len = eroout_len) :: eroout INTEGER(C_INT), intent(in), VALUE :: eroout_len ! @In REAL(C_FLOAT) :: runoff,peakro,effdrn .. http://gcc.gnu.org/onlinedocs/gfortran/ISO_005fC_005fBINDING.html
  • 23. OpenMI vs. OMS3: our experience
  • 24. Extending OMS3 with GIS: the genesis of JGrasstools OMS3 brought some important advantages: • USDA has lots of open source OMS3 modules • flat learning curve for instant gratification • fast migration of code • abstraction of I/O is perfect choice, clean code • possibility of external handling of the timeline We decided to not migrate JGrass to use OMS3, but instead to extract the processing algorithms to a geomorphologic and hydrologic library, the JGrasstools.
  • 25. What can we find in JGrasstools? Engineering Major environmental models: • hydro-geomorphological risk • hydropower, solar potential and renewable energies • LiDAR data analysis
  • 28. Full hydrological cycle: Adige, Hymod
  • 30. Network Management Powerful and well known software for water supply system and stormwater network system design and maintainance: • Epanet • Trento_p
  • 32. The Horton Machine: geomorphologic and hydrologic toolbox http://code.google.com/p/jgrasstools/wiki/HortonMachine JGrass gears: generic GIS toolbox http://code.google.com/p/jgrasstools/wiki/JGrassGears
  • 33. How to use JGrasstools • in applications (see Epanet for uDig) • through the scripting engine (groovy, oms, geoscript) sim = new oms3.SimBuilder(logging:'ALL').sim(name:'pitfiller') { model { components { 'pitfiller' 'pit' 'reader' 'rasterreader' 'writer' 'rasterwriter' } parameter { 'reader.file' 'D:dataspearfish60newuser1celldtm' 'writer.file' 'D:dataspearfish60newuser1cellpit' } connect { 'reader.outRaster' 'pitfiller.inElev' 'pitfiller.outPit' 'writer.inRaster' } } } sim.run();
  • 34. • from commandline ./jgrasstools.sh script.oms So what about normal users??
  • 35. OMS3, GIS and JGrasstools made simple Introducing the OmsBox user frontend the OmsBox is a frontend for GIS users, a a graphical user interface that can load any OMS3 annotated module uDig based eclipse/rcp/uDig plugin to integrate in GIS. Mouse clicks, region settings, raster resolution and all needed GIS notions are supplied to the widgets
  • 36. oms3 generated guis the guis are generated from the OMS3 annotations. The GIS knows only OMS3. gui labels and docs the gui labels and documentations are now responsability of the module developer/maintainer licensing issues the OmsBox is a LGPL plugin for uDig (compatible with OMS3). Loaded OMS3 libraries can choose the license. JGrasstools is GPL.
  • 37. The OmsBox in uDig • integrated in uDig • region settings auto-fill • drag & drop • different debug levels • listens to clicks • separate processes
  • 40. OmsBox gui generation: @In/@Out fields
  • 41. OmsBox gui generation: field @Description
  • 42. OmsBox gui generation: field @Units and @Range
  • 43. OmsBox gui generation: on the fly documentation
  • 44. OmsBox gui generation: on the fly documentation
  • 45. Geoinformatics FCE CTU Prague, Czech Republic, 19th of May 2011 Useful links: • http://www.javaforge.com/project/oms • http://www.jgrasstools.org • http://udig.refractions.net • http://www.geotools.org