Your SlideShare is downloading. ×
0
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
JGrass and uDig, chronicles of a lovestory
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

JGrass and uDig, chronicles of a lovestory

4,218

Published on

Presentation at foss4g 2007

Presentation at foss4g 2007

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,218
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
107
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. JGrass and uDig, chronicles of a lovestory a preview of JGrass 3.0 Andrea Antonello - HydroloGIS CUDAM of the University of Trento University of Urbino Victoria 2007-09-25
    • 2. ...and at the very first begin there was the GIS... GRASS
    • 3. ...but it seemed to suffer from an academical and poweruser sindrome...
      • used a lot in academic field, but has problems to get to professionals and public administrations in Italy
      • created on unix based systems and exploits its capacities on those systems best
      • as for all the high level things, the level of contents is proportional to the complexity of the initial learning curve
      The community feels the need for graphical interfaces ...Qgis, Tcltk, Python, Java...
    • 4. ...and then there was JGrass...
    • 5. JGrass 1.0
      • JGrass 1.0 starts in 2004 from the collaboration of the C.U.D.A.M. of the University of Trento and the I.C.E.N.S. of Kingston
      • the aim is to expand GRASS with a usability such to get it out of the academic environment to the average user
      • it gets born basically as a java GUI to GRASS released under GPL
      • the project encounters difficulties to expand and build up a community, in part because of the java-choice, which was criticised to be non-GPL
      • the major sponsor is the C.U.D.A.M. through projects
      JGrass choses a precise direction: the protection and modeling of the territory
    • 6. JGrass 1.0 – environmental modeling? So what? ...it gets filled up with tools developed at the University of Trento, department of hydrology and hydraulic, Faculty of Engineering hydro-geomorphologic models that work on raster basis
    • 7. JGrass 1.0 – creation of profiles
    • 8. JGrass 1.0 – raster map algebra
    • 9. JGrass 1.0 – statistical analysis and reports
    • 10. JGrass 1.0 – definition of environmental attributes rainfall data drainage direction network extraction total contributing area rescaled distances and hydrologic attributes slope, curvatures and geo-morphologic attributes
    • 11. JGrass 1.0 – Peakflow: the hydrologic model in JGrass
    • 12. JGrass 1.0 – Shalstab: hillslope stability
    • 13. JGrass 2.0 – searching for a community
    • 14. JGrass 2.0 – searching for a community
      • 2006 JGrass 2.0 is released
      • it tries to follow the users needs, that find it very scientific but rather useless “if I can't view my shapefile in it”
      • there is an effort to create a community, since the number of stable developers at that time was oscillating between 1 and 2
      • the foundings are not many more than before and the development goes on in the direction of those who pay
      • however some voluntary work is done getting in touch with the geotools technology in order to gain some rudimentary vector support
    • 15. JGrass 2.0 – support for shapefile/postgis
    • 16. JGrass 2.0 – support for dwg files
    • 17. JGrass 3.0 – do not reinvent the wheel please...
      • At the begin of 2007 the JGrass team decided :
      • that they had suffered enough in their solo trip
      • that they had to join one of the other vector supporting java gis community (which wasn't an easy choice, Jump-flavors, GvSig, uDig)
      • in the end to join the uDig community because of their clean framework and amount of documentation
    • 18. JGrass 3.0 – joining the udig community
      • Advantages:
      • find a helpful community based on bussiness mentality
      • a mature and stable base framework with available literature
      • a plugin system with extention points that “force” to a clean and robust development
      • Disadvantages:
      • rather steep development learning curve
      • uDig isn't an analysis application
    • 19. JGrass 3.0 – what is behind it?
      • the GRASS raster service
      • the JGrass Console
      • OpenMI
      • BIRT and charting
    • 20. The GRASS raster service
      • first thing was adding native support for GRASS rasters in read/write mode and a udig service was created for the GRASS workspace
    • 21. The GRASS raster service
      • first thing was adding native support for GRASS rasters in read/write mode and a udig service was created for the GRASS workspace
      GRASSDB : folder that holds all the locations LOCATION : holds the information of the used projection, holds all the mapsets MAPSET : the user space inside which the active working region is defined PERMANENT : particular mapset used to hold location informations ACTIVE REGION : the region definition (boundaries and resolution) inside which most GRASS commands apply
    • 22. The GRASS raster service
      • first thing was adding native support for GRASS rasters in read/write mode and a udig service was created for the GRASS workspace
    • 23. The GRASS raster service
      • first thing was adding native support for GRASS rasters in read/write mode and a udig service was created for the GRASS workspace
    • 24. The GRASS raster service
      • first thing was adding native support for GRASS rasters in read/write mode and a udig service was created for the GRASS workspace
      grass-ascii raster esri-ascii raster fluidturtle raster
    • 25. The active region
      • first thing was adding native support for GRASS rasters in read/write mode and a udig service was created for the GRASS workspace
    • 26. Colortables and categories
      • GRASS rasters support color ramps
    • 27. Colortables and categories
      • GRASS rasters support categories
    • 28. How to access a raster map?
    • 29. GRASS raster service – issues
      • GRASS saves a PROJ_INFO file in the PERMANENT mapset, but that file can't be built without GRASS functions. So for now there is the need to create a PROJ_INFO.WKT in the same folder. If that file is not present, the user is asked to chose a projection.
      • Reprojection on the fly is not possible. A GRASS workspace has a predefined projection and all the maps are consistent with that. So at the moment if you are working with a GRASS workspace, that one ist the first to be dragged into the project, in order to define the projection of the map.
      • uDig doesn't support dragging folders into the catalog, so if you want to drag the GRASS location into the catalog , you first need to create an empty file with .jgrass extention. Drag that and the magic is done.
      • GRASS doesn't support alpha as a persistent value. JGrass does it by putting the alpha as a comment into GRASS's colorfile.
      Not yet completely resolved issues:
    • 30. JGrass 3.0 – the JGrass console
      • support java scripting (beanshell)
      • be extensible
      • support the JGRASS model language based on openMI standards
      • support native GRASS commands
      • be usable in batch mode in order to be used for example in web environments (geoserver?)
    • 31. The JGrass console
      • click on the console icon
      • the editor appears with a few advices
      • rightclick gives the menu needed for execution
    • 32. The JGrass console – java scripting with beanshell
      • beanshell is supported
      • methods can be defined
      • simplified java can be used
      • rightclick and chose run from the menu
      • the content of the window is executed inside the editor's own console
    • 33. The JGrass console – getting GRASS into the game
      • on whatever environment, if a GRASS installation is present, it can be exploited
      • a preferences page defines the needed paths
    • 34. The JGrass console – getting GRASS into the game
      • with GRASS configured the commands can be executed by wrapping them into grass{}
      • example output of r.info
    • 35. The JGrass console – getting GRASS into the game
      • with GRASS configured the commands can be executed by wrapping them into grass{}
      • example output of r.info
      • ask for help if you don't know the usage
    • 36. The JGrass console – the JGrass Modeling Language
      • support was created for the JGrass Modeling Language
      • it is based on OpenMI Linkable Components, that base on their fundamental methods:
      • ...and other methods like prepare, finish and those for linkage
      • those components can be linked together into a pull mechanism and executed within a time interval
    • 37. The JGrass console – OpenMI
      • OpenMI is a set of standard interfaces that defines interaction between environmental models
      • they are beeing used worldwide on important hydrologic and hydraulic projects as obec, modflow and even Hec-Ras
      • there is no real standard for OGC in it, so for JGrass we extended the interfaces to support the feature model and RaserData, which is basically a bounding box with a defined resolution
    • 38. The JGrass console – the JGrass Modeling Language
      • jgrass models are wrapped into jgrass{}
      • variables can be used from the beanshell environment by using the $ sign
      • return values can be asked from the values and they then can be used in the beanshell environment
      • this gives the possibility to easyly create also complex algorythms without having to know the whole development framework – write and execute!
    • 39. The JGrass console – the JGrass Modeling Language
      • from the jgrass modeling language syntax on compiling time the openmi linkable components are created and linked together properly
      • also nesting of models is supported and those are linked together at runtime
      Regarding OpenMI:
      • when run or compile is clicked some magic happens: the content of the editor is passed thorught a compiler which generates the openmi based components.
      • the model above would then look like...
    • 40. The JGrass console – the JGrass Modeling Language
    • 41. The JGrass console – the JGrass Modeling Language
    • 42. The JGrass console – the JGrass Modeling Language Introducing time:
      • rightclicking gives access to the session preferences
      • a different workspace can be set for different console sessions
      • time dependency with defined timesteps can be added
      • the models are then executed in a loop increasing the timestep
    • 43. The JGrass console – ongoing and future work
      • integration of the statistic R package into the scripting as R{} blocks
      • creation of the Visual Console based on the GEF framework
    • 44. JGrass 3.0 – starting with BIRT's smallest part: charting
      • eclipse based reporting system
      • does report creation as simple lists of data, more complex, also letters and documents etc etc... and...
      • CHARTS!
    • 45. JGrass 3.0 – the chart view – the profile tool
      • r.profile tool opens the chart view
      • clicking on the map shows the profile over the selected map
    • 46. JGrass 3.0 – the chart view – the profile tool
      • r.profile tool opens the chart view
      • clicking on the map shows the profile over the selected map
      • preferences can be set
    • 47. JGrass 3.0 – the chart view – the profile tool
      • r.profile tool opens the chart view
      • clicking on the map shows the profile over the selected map
      • preferences can be set
      • and the chart looks much better...
    • 48. JGrass 3.0 – what if 3 is a dimension?
      • integration of the VISAD scientific library
      • famous for its datamodel
      • supplies a 3D rendering system based on java3D
    • 49. JGrass 3.0 – tools for fieldmapping
      • shapes creation in runtime through a NMEA GPS
      • possibility to chose type of shape, stop, save, start from scratch or create multiple shapes
    • 50. JGrass 3.0 – conclusioni
      • JGrass 3.0 release is expected for February 2008
      • released at the MIGG2008 course for geomorphologic modeling
      www.jgrass.org
      • R support
      • GRASS vectors support (European Code Sprint in November?)
    • 51. JGrass and uDig, chronicles of a lovestory a preview of JGrass 3.0

    ×