Tuesday, June 30, 2009

JGrass and its sick community...

Today I closed 2 of the 3 active mailinglists of JGrass.
What a horrible feeling... it is now about 10 years I develop for FOSS software and never had to act like this.

Killing the mailinglists kills an open source project, needless to say.

But not killing them would kill us... so let's see if users will make the effort to keep at least the jgrass-users list alive. I really hope that converging efforts into on single list might do better.
The developers have been redirected to the udig developers list, since many of the questions were anyway related to udig core.

JGrass has always been a small kid with a lot of problems and an incredible difficulty to gather friends. This is due to it's nature and some dynamics I don't understand even now.

JGrass is a scientific based tool, that also wants to be a full powered desktop GIS. So what?

Let me think out loud and write down some comments:

With JGrass you can do complete hydrological risk studies, from the begin to the end of the study JGrass has all the tools. These tools are mainly useful to Engineers and Geologists. The problem is that most of those do a hydrological study once a year. Which means that at that time they come into the list, ask newbie questions and get help to do the job. Then for the rest of the year they disappear, since they have something else to do. When a "JGrass-job" comes again, here they come again, with almost the same questions, since JGrass evolved and no one was paying attention. Quite frustrating being always in need of founding to develop JGrass and having to help people doing their jobs for free.

Differently from other hydro-morphological toolkits, JGrass contains some heavy models and it is not possible to think it as a library. Instead we need a friendly yet powerful environment to get things rolling at the last state of art of technology.
Luckily we found that framework in uDig and we are glad of the migration we did every day since then. In fact, JGrass right now is at one of its best moments and quickly evolving (which makes me even more sad right now).

HydroloGIS is not able to be the only developer, the only release maintainer, the only docs writer, the only mailinglist answerer, and so on... Therefore the decision to cut away something. And what would that something be? Sad to say, but the only thing that we as HydroloGIS do not need and that we initially set up only for the community... a community that even now doesn't get what they are losing.

I am not telling it is not my fault. It probably is in some way. I am instead telling that I want to make things better. If I have time I want to spend it on developing, making better releases and write some documentation... not on newbie questions that other users would be able to answer.

Thursday, June 18, 2009

Netcdf will get into JGrass with arrows

My summer of code project is proceeding.

Not to much to say here, just a link to some news and a mandatory screenshot:



To see the animation, follow...

Tuesday, June 16, 2009

GeoPaparazzi as the BeeGIS companion - part I

Alright, today we tested GeoPaparazzi for the first time in field.

The tool is funny and easy to use. My battery lasted the morning and then was finished. But I guess that is ok, since it had to log the gps and took many pictures and many notes.

Alright, before I have no time to do it, I want to show the use as companion of BeeGIS.

So I connect my HTC Dream via USB to my Ubuntu box. The phone asks me if I want to mount it as disk. I say yes and I get the following:


Note that GeoPaparazzi creates a folder geopaparazzi at the root of your sdcard.

Ok, then I start up BeeGIS and enter the File->Import dialog and find the Import GeoPaparazzi Data Folder item:


The next asks me for the geopaprazzi root folder and the processed items folder:



Once pushed finish, everything found inside the data folder will be imported as follows. I will explain how later. Images import is still not there, since I have some parts to fix first. Therefore the import will bring notes into a shapfile and the gpslog into both a lines shapefile and a points shapefile:



The NOTES shapefile is created with a TIMESTAMP and DESCRIPTION field:



The GPSLOG LINES shapefile is created with a STARTDATE and ENDDATE field:




And finally the GPSLOG POINTS shapefile is created with an ALTIMETRY and DATE field:



That's it for now, coming back soon with the orientated pictures part.

Sunday, June 14, 2009

GeoPaparazzi is born!


GeoParazzi enables your android phone to do digital field mapping.

You can find some screenshot at the project page: http://www.geopaparazzi.eu


Now the BeeGIS part has to be done in order to import the collected data... but that one should be really easy.

Wednesday, June 10, 2009

uDig Code Grind 2009

Since I am not sure if people reading here are aware of the udig blog, I will link from here to the first small even announcement:



Thursday, May 28, 2009

Anatomy of a field mapping

As promised in the last post, I will spend a moment to show how to import pictures and sync them with the gps log that was taken during the field mapping.

Since the maps we used are not for public view, the backgrounds of the maps in this post will be quite empty. But that isn't so important for what we want to see.

Imagine you made your field mapping, spent the day out in the sun, took gps points, created geonotes and your colleague continuosly took pictures to be able to better understand what is going on once you are back home and have to review the work and do analyses.

So now you are at home and have a bunch of geonotes that might look like the following:



your embedded database view tells you through a quick query that the gps log saved 3695 points:


your colleague tells you that he took 64 pictures:


again your colleague tells you that when you started the field mapping in the morning the gps utctime and the digital camera time had a difference of 2 hours and 1 minute.

This is all you need. Go under File -> import -> Other -> Import Photos



The next tab asks you two things:
  • the pictures folder
  • the time shift between gps and camera (gps time - camera time in seconds) in my case 2 hours and 1 minute = -7260 seconds



Push Finish and it will import the pictures as geonotes in the position in which gps log and picture time match:




And pictures that were found to be out of range of time are not added (in this case 3 pics that were on the camera from another day):



In fact things look a bit more crowded now:



Better use the fieldbook to have a better look:


Isn't that a helping hand for your job? It is for ours at least! :)

Caveats:
  • don't forget to write somewhere the time difference between the gps and the camera. Without that things will not work
  • you have to import the photos from the digital media of the camera directly, without coping it somewhere. This is due to the fact that java can read only the files last modification date and time (as opposed to the creation time, which would be much better in this case). So if you move it, that one will change. So if you have to move it, make sure to zip it to an archive, since that one, once extracted again, preserves the original timestamp.

PS: I will try to make a build for those that would like to try in the next days. I first want to solve the "unable to load map" bug, which I finally know how to solve...

Monday, May 25, 2009

Digital field mapping enhancements

Last week we did a couple of days of digital field mapping with BeeGIS and the students of the University of Urbino.

It has been a quite cool time and good places to see, but it also triggered some bugfixing and enhancements, which is good. Let's have a look at them.

1) the gps tool was not dummy proof

People not used to the tool tend to push every button very often and break things.
So I reviewed the gps tool bar a bit and it looks like that:


That means that no button is enabled until the gps is not logging.

If you push the logging (first from left) button without having connected the gps, it will prompt you for it:


and after properly having set everything you can start to use the tools you like:



2) the layer creation was not gis-dummy proof

When asking people to create a new layer on which to record gps point, line or polygon shapes on, people often got lost by that task. I agree that a person using the tool should know what he is doing and whioch projection he would like to use, but anyway, when you are on the field, things need to go much faster than usual.

That's why I added three new buttons:


Those actions create new layer ready to work with. The user is only asked where (i.e. to which shapefile) to save the layer. The layer is then created with the current's map projection, loaded into the catalog and map on top of the other layers. The created layer contains only two field, both of type string, called name and description. The user is assumed to use these action only at the begin, afterwards the layer creation tool can be used.

3) Give a look at the embedded database

A new view is available in JGrass and BeeGIS.
Go in the window menu:


select the other entry:


and take the database view.

This view connects and performs a login to the embedded database using the database preferences path, user and password:



and gives you a simple yet powerfull tool to browse the embedded database. This browser is usable only when you are using the H2 database, since it is the H2 itself that supplies this great tool.


4) sync your pictures

Whenever the gps is logging, the points are saved in the database with the gps's utctime and position. This information can be used to import a set of pictures taken during the field trip and put them on a map in the proper position wrapped by geonotes.

To do so go under File -> import


and choose import photos.

Tomorrow I will be on a field trip again. I will continue this afterwards, when I have taken tonns of gps points and images, in order to be able to show something real. Stay tuned.


5) unable to load map

We were not yet able to solve that, but finally we have a real error thrown that directed us to the part of code. If you have a map or a crs (seems to happen more often when Italian crs are used) for which the unable to load map always happens, please send it to us, since currently we are not able to reproduce it. But we are very near.