I recently gave a course at the University of Potsdam about scripting in uDig. Since I didn't want me to take again more than a year to get this to you all (see here), I posted them already to slideshare.
This will soon be converted to a tutorial for the uDig community and available from its documentation section.
It will also be the big version of what I am going to present as a workshop to this years FOSS4G. Lets see if it gets picked.
I just wrote a blog post about the Humboldt Alignment Editor here. It is written in Italian and I don't think I will have the energy to translate it in English right now (sorry!), but for the tutorial part, I think that google translate might do the trick. :)
Obviously if you have questions, just post them here, I will be happy to answer.
About one and a half years ago I gave a course about Java Open Source GIS Development at the University of Potsdam for the Geoinformation Research Group, Department of Geography.
I always wanted to publish this material and make it nicer so people could use it... well, busy times and whatever... I ended up never publishing it.
So I simply do it now, without any additions and changes.
The course leads you through the development with geotools, jgrasstools with many code snippets and adding modules to the Spatial Toolbox of uDig.
The course is made of 5 parts, the pdfs are linked here on my slideshare page:
Recently I proposed to add an Editor to uDig, which would support Geoscript scripting from within uDig. The full proposal (RFC) is here.
Since there were some comments/questions in the community and I think some small missunderstandings, I would like to give a small overview of what is there already and how it should work. I will not repeat here what already mentioned in the RFC.
Currently this is in proposal state and will get into uDig only if the PSC will vote in favour. That said, we are working already on it for a while now, so there is some to show.
1) Open the editor
Two new icons appear, the will allow to open the editor creating a new empty script or to open an existing script.
We will create a new one. The user will be prompted to save the new script to file and an empty editor is opened.
There are a few tool inside the editor, needed to start and stop scripts, or set the heap memory allowed to be used by a script or enable logging.
2) Script away, with command completion and syntax coloring
Inside the editor some basic command completion is available. For geoscript objects, as for example the widely use Geometry:
but also for methods, as for example the fromWKT, a handy way to create geometries on the fly:
You might have noted that first the completion proposals that start with the inserted text are suggested and after those also the once that simply contain the text.
You might also have noted that keywords have a nice syntax coloring, in order to make the script more readable... and often to help users to make sure they have no typos :)
3) run your script
Once you have something you want to run, simply push the start button. The script will be run through the Spatial Toolbox engine and print the output in the console view. Let's create two polygons and intersect them.
4) plot some result - missing imports
Geoscript needs you to define the modules you want to use in your script through the import directive, which is usually placed at the top of the script.
If we try to plot the result by simply adding the plotting directive, it will fail, because the plot module was not imported:
The editor supplies a quick way to import the most common modules, which can be useful for people starting with the scripting and that do not know where the modules are. Push the button at the right of the stop button and the imports are added to the top. After that the script will work:
Geoscript allows for some fun, the best way to get into it is to start from the tutorials page. Just to add one more complex example, lets see a script that can render a map, properly styled, to an image:
Guys it is 2013, a GIS needs a scripting engine!!
We started with the JGrass scripting years ago and failed. Now that geoscript is here, this sounds like the way to run.