SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

JGrass Workshop: Horton Machine (FOSS4G2008)
JGrass Workshop: Horton Machine (FOSS4G2008)JGrass Workshop: Horton Machine (FOSS4G2008)
JGrass Workshop: Horton Machine (FOSS4G2008)
Andrea Antonello
 
JGrass Present Future
JGrass Present FutureJGrass Present Future
JGrass Present Future
Andrea Antonello
 
Shakespeare
ShakespeareShakespeare
Shakespeare
Paulo Freire
 
Diy(finished)
Diy(finished)Diy(finished)
Diy(finished)RandyBett
 
Ppt
PptPpt
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
 
EcommerceCamp Toronto -- Moneris
EcommerceCamp Toronto -- MonerisEcommerceCamp Toronto -- Moneris
EcommerceCamp Toronto -- Moneris
EcommerceCampToronto
 
Hampton Court
Hampton CourtHampton Court
Hampton Court
drialog
 
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 Logo
Manuel 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_interna0
joseph 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 Trigaux
DS2BE
 
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 kid
Andrea 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
 

Viewers also liked (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...
 

More from 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 2021
Andrea 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 APPLICATION
Andrea 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 APPLICATION
Andrea Antonello
 
Geopaparazzi Survey Server workshop
Geopaparazzi Survey Server workshopGeopaparazzi Survey Server workshop
Geopaparazzi Survey Server workshop
Andrea Antonello
 
Geopaparazzi Survey Server Installation
Geopaparazzi Survey Server InstallationGeopaparazzi Survey Server Installation
Geopaparazzi Survey Server Installation
Andrea 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 plugins
Andrea Antonello
 
GEOPAPARAZZI: STATE OF THE ART
GEOPAPARAZZI: STATE OF THE ARTGEOPAPARAZZI: STATE OF THE ART
GEOPAPARAZZI: STATE OF THE ART
Andrea 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 FIELD
Andrea 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 only
Andrea 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 art
Andrea 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 REPORT
Andrea Antonello
 
PART 5: RASTER DATA
PART 5: RASTER DATAPART 5: RASTER DATA
PART 5: RASTER DATA
Andrea Antonello
 
PART 4: GEOGRAPHIC SCRIPTING
PART 4: GEOGRAPHIC SCRIPTINGPART 4: GEOGRAPHIC SCRIPTING
PART 4: GEOGRAPHIC SCRIPTING
Andrea 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 PYTHON
Andrea Antonello
 
Foss4g2016 Geopaparazzi Workshop
Foss4g2016 Geopaparazzi WorkshopFoss4g2016 Geopaparazzi Workshop
Foss4g2016 Geopaparazzi Workshop
Andrea 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 gvSIG
Andrea Antonello
 
Geographic scripting in uDig
Geographic scripting in uDigGeographic scripting in uDig
Geographic scripting in uDig
Andrea 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 developer
Andrea 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 developer
Andrea 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 developer
Andrea Antonello
 

More from 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
 

Recently uploaded

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 

Recently uploaded (20)

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 

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