Sunday, February 12, 2012

Geopaparazzi 2.6.0 is out - OSM, Mixare and GeoSMS

[for an Italian version of this article, click here]

We just released Geopaparazzi 2.6.0 to the market.

I was really looking forward to this release because it contains a ton of new stuff some were expecting. Let's try to see some of it.

1) Openstreetmap support

This is likely the most important change for this version. We now have the possibility to create OSM points of interest and synchronize them with the OSM accoutn online.

First one has to activate OSM support in the preferences:

If OSM support is activated, once geopaparazzi restarts, the user is prompted to download the OSM tags. This is a library of symbols and definitions of OSM tags.

The map view will then prefsent a small OSM-logo handle at the right side of the map. If that one is pulled, it shows the OSM categories available.

Entering one of the category, the various tags are presented:

And when selected, the user gets the form with the definition of the selected tag. Once filled out and pressed ok at the bottom of the form, the point is saved and kept ready for upload to OSM.

From the categories view one can upload the OSM points to his account. The application just askes for a description for the changeset it is going to upload.

If the user and password were inserted properly in the preferences, geopaparazzi will connect to a WPS service written and made available by Luca Delucchi. The WPS will take care to upload the points to the defined OSM account. A big thanks goes to Luca, who helped me to understand the necessary OSM internals. He alos wrote the actual WPS service, made it available for all geopaparazzi users and also prepared the OSM tags library.

2) OGC GeoSMS support

This version has support for the recently released OGC GeoSMS specification. This works in two ways: for sending geosms, but also for incoming geosms.

The sms preferences allow to "enable sms catcher", which will handle incoming geosms, while the panic number is instead the number that will be used to send geosms to.

Let's start with outgoing geosms'. Geopaparazzi has the bottom "panic" bar. From there a user can send a panic message, which will send to the configured number a geosms containing the positions following OGC specs and a message asking for help. There is a second button that can be used to send a customized geosms. It will ask the user for a cutom text to add to the location definition.

What happens instead when a GeoSMS is recieved? If the catcher is enabled in the settings, geopaparazzi will parse the incoming message and recognize the GeoSMS format. It will notify the user that such a message has arrived:

The notification makes it then possible to open the GeoSMS with one of the available applications on the phone, that can handle the position information.

So once selected the notification:

And opening it for example with a well know application we can see that I was preparing some screenshots for my talk at the Italian GRASS and GFOSS user meeting in Trieste:

3) augmented reality with mixare

In this version we added the ability to view all points of interest contained in the current geopaparazzi view in mixare. I already described the feature in this post.
The entry point is the menu in the map view:

4) create a new project

While this has been a bit odd in the past, it now follows a more natural workflow. You are asked for the name of the new project and geopaparazzi creates the project and loads it.

5) bookmarks

One this I was missing, was a very easy way to add bookmarks to geopaparazzi. So we added a check on the presence of a bookmarks.csv file in the project folder (by default geopaprazzi). If the file is there and it contains points in the form:

Hotel Trieste, 45.642043,13.780791
Grassday Trieste,45.65844,13.79320

those points will be loaded in the application and appear in the bookmarks list.

This feature lead me to have a ton of bookmarks and defined the need for a way to filter them. So the bookmarks list now has a textfield that filters the bookmarks by name:

6) center on gps

After having risked to make car accidents just to pan while driving in order to have the actual position visible, we added a function to have the gps alwasy inside the current window, through automatic panning. It can be switched on in the gps preferences:

7) enhanced charting with zoom to markers

Just to remind that one, I wrote already here about it.

8) osmdroid doesn't kill tiles any more

Some developers from the osmdroid (the engine we use to display the maps) community finally solved the bug that in certain low memory conditions were killing all the OSM tiles, leaving the user with no more maps. This was one of the worst bugs ever, since it had happend to several user that they found themself out in the field with no network and no more maps. This has now finally been solved!!!

9) possibility to use network based position

This was asked by several users so we thought we could add it. In the setting it is now possible to ask geopaparazzi to use network based position definition instead of GPS based. Even if I do not like it that much, I agree that it is handy sometimes.

Tuesday, February 7, 2012

Bob knows how to build a dam... with uDig and jgrasstools

Well, I assume everyone knows Bob the builder. Ok, my sisters kids had to teach me of his existence, but apart of my ignorance Bob seems to be a quite famous guy.

Anyway, we needed someone to build dams and human artefacts on raster, to better handle hydraulic simulations. This might be the case of many people playing with elevation models, since the available terrain models many times do not consider human works you need to consider and the surface models are not usable for certain purposes.

So we finally decided to implement the Bob The Builder Tool in jgrasstools. A tool the would give us the possibility to easily modify the elevation model in a assisted way.

So from the next jgrasstools release on in uDig you will be able to do what I will describe in the rest of this post.

Just for fun, assume you want to do some kind of simulation considering the presence of a dam.

First let's check the region we consider:

and the same in 3d (the arrow should help understanding where is where):

Let's define a smaller region on which we want to place the dam. The module will require two feature layers:
1) a polygon layer containing the bounds of the artefact
2) a point layer containing an elevation attribute, which will represent elevation points that will be used to interpolate the surface inside the polygon area.

The module then creates a new raster with the dam merged into the environment:

The aspect put with transparency on top of the dem gives the impression that not much happened, but the 3d doesn't lie:

The module creates the dam shape in every point in which the dam's elevation is higher than the terrain. There is also a possibility (a flag) to erode, if necessary, which in the above case would generate the following:

Thanks Bob :)