Sunday, December 5, 2010

Another bit of grace of uDig to simplify the concept of Location

With the jgrasstools effort we also are abstracting the whole raster formats, which before was just the GRASS binary raster format, to be whatever a geotools GridCoverage can be. This is/will make it easy to anyone to run the processing algorithms on any geotiff the same way as on en ESRI ascii grid.

Taking a bit the distance from the GRASS location and mapset concept was one of the things that we thought would help us a bit, since we are often in the middle of two worlds, between userfriendlyness seeking users and in-assembly-thinking academics. :)

Well, as stated at the begin, we chose to be able to use the jgrasstools on any raster format directly.

At our last JGrass course however we figured out that some users will simply make incredible mistakes without any guiding hand, speak: without locking them into a geographically well defined workspace, inside which they at least do not screw up the projection information.

And that is the GRASS location. As akward it is always for the users to first understand the purpose and meaning of location and mapset, it afterwards might save their lives.

So we made a new try. Which is to create a bunch of small tools that would help people get in and out of a GRASS location, as if it was a folder somewhere on the system.
Tools to handle a bit automagically the active region concept.
Tools that would help users to get started with the hated geotiff that they got from their local administration.

So the most important bit is probably the fact that now we can create a Location and mapset directly from an input file:

This right now supports geotiffs and esri ascii grids that have information about the projection they are in (prj file mostly). Set file and names for the location and mapset and you are ready to start:

The active region has been made a bit more responsive to what happenes. On the left upper side it shows you permanently to what location and mapset it is referring to, so that no user can be confused again about which mapset it is using for processing:

The catalog JGrass service has been empowered:

By rightclicking on the location you now can:
* open the system filebrowser on the location. This is particuary handy when you want to rename a mapset for example
* add a new mapset to the selected location

The same applies for the mapsets:

By rightclicking on a mapset you now can:
* same as for the location open the mapset folder with your system file browser
* import dirctly into the mapset an esrii ascii or a geotiff. Files in different projection than the mapset will be reprojected on their way in
* delete a mapset from the location
* set the selected mapset as the active one for all processing done. The active region for this mapset will be shown to highlight the processing region that will be used. This had to be done in the settings before.

And finally we have the map actions:

From here you can:
* trigger a map summary for a quick statistic on the selected raster
* export maps (also multiple in one go) directly to esri ascii grid and geotiffs
* rename maps
* remove maps
* copy a map on the active region. This is usually usefull, since at the begin the user will ave a DTM of a larger area than the one to study. Once defined the area of interest, simply select with the active region bbox selector that smaller area and copy the map. It will be cut on the active region
* set the active region to te selected raster map. If more than one map is selected, the active region will be expanded to contain them all
* reproject a map by directly creating a new location and/or mapset
* mosaci maps, i.e. patch them together. If you have 4 maps that contain parts of your area of interest (following Murphys law, it will be placed in the corner of all four), you probably want to first patch the maps and then extract the smaller region of interest

I guess that's it. While I believe that some of you reading this will think: how the hell should this be usefull? others will definitely count the time to get the next release of uDig. Because yes, most of the above is in uDig, even without JGrass extentions. Not that you would do much from here on with a raster and without JGrass :)

Oh, and BTW, the geosilk iconset rocks!

update: had to change the map actions screenshot, since I was forgetting the mapreprojection to new location


The Hydrology Guy said...

Dear Moovida, I like it. I personally have a problem with the name "Location" which seems to me not to represent the set of coordinate system, projection, and work region that it represents, even if I do not find a more appropriate name. I hope that this could be useful also to export JGrass works (Location plus mapset) into a bundled file that could be transferred to other users that can drag and drop in their own workspaces. Would it be possible (to have .jgrass bundled of files) ?


The Hydrology Guy said...

I thought a good new name for Location would be Atlas (or JGrass Atlas).