Stack Overflow, as most developers will already know, is a question and answer site for programmers. It’s perfect for mainstream development questions in any programming language, and has also become the support site of choice for some newer programming communities such as Android developers. image

It can also be used as a barometer to see which current open source GIS projects have gained traction in the mainstream programming world. I took the full list of OSGeo projects from http://www.osgeo.org/ and ran queries on the site to see how many questions there were for each project. The results are as follows (as of May 2010):

Continue reading »

May 162010

I wanna hang a map of the world in my house. Then I’m gonna put pins into all the locations that I’ve traveled to. But first, I’m gonna have to travel to the top two corners of the map so it won’t fall down.

http://en.wikipedia.org/wiki/Mitch_Hedberg

As I previously wrote, one of the ways to get through the task of documenting a project is to turn the documentation process into a coding project. Documentation sometimes seems pointless as the likelihood of anyone other than yourself reading it are low to nil.

To increase the chances pretty pictures always help. If they are also useful then the documentation starts to have real value. Up until now I’ve been using Microsoft’s Visio, but recently I tried out a couple of online tools.

Class Diagrams

The MapServer Mapscript documentation currently uses of diagrams made from ASCII text to illustrate relationships between classes. I’m not sure if these were generated automatically, but the images now appear a little dated. They do  however have the advantage over an image of being able to copy and paste class names.

+-------+ 0..*     1 +-------+
| Class | <--------> | Layer |
+-------+            +-------+

I tried to recreate these diagrams using the online service http://yuml.me/. On the site you enter your model description using a fairly basic syntax. From then on the same diagram can be accessed using different URLs, which are used to control display and formatting options.

http://yuml.me/diagram/scruffy;dir:lr/class/%5BHashtable%5D1..1-%3E1%5BClass%7Bbg:yellow%7D%5D,%5BLabel%20%5D0..1-%3E1%5BClass%5D,%20%5BStyle%5D0..*-%3E1%5BClass%5D,%5BClass%5D0..*-%3E1%5BLayer%7Bbg:green%7D%5D

The diagram above was created using the syntax below. You can play around with this sample by clicking here.

[Hashtable]1..1->1[Class{bg:yellow}],
[Label ]0..1->1[Class],
[Style]0..*->1[Class],
[Class]0..*->1[Layer{bg:green}]

Continue reading »

MasqueradeThirty years ago Kitt Williams wrote, or rather painted, the children’s book  Masquerade. Each page had a picture that contained hidden clues pointing to the location of an 18-carat gold, jewel-encrusted hare buried somewhere in Britain. It sparked a National treasure hunt and sold 2 million copies.

I remember being fascinated with the pictures and the theories and solutions bandied about by those older and wiser than I. The majority of programmers seem to have a fondness for puzzles and riddles, and the beauty and success of the book was that it involved transposing clues to maps and real-world locations.

Geocaching

Geocaching could be seen as a successor to Williams’s book.  As someone working in technology and geography it should seemingly be an ideal pastime. However the fact geocaching is a trademarked word owned by a company named Groundspeak kills a little of the mystique. Secondly it appears to me to be the equivalent of driving around in the middle of nowhere with a bad in-car GPS trying to find an address that’s missing from the database.

Continue reading »

image With an impending election in the UK, the Conservatives, the current opposition party have decided to try and win some votes by cutting spending in IT. On the upside they plan to scrap ID cards if elected. Which GIS projects this may affect is impossible to tell as:

He [the shadow chancellor] was unable to cite specific projects, as opposition parties are not allowed to inspect government contracts.

What would be ideal is if IT projects were able to be scrutinised by the opposition parties, and the public. It appears Australia is far more open with their government tenders, and even include the actual costs involved which would be considered as extremely sensitive business data in other countries.

image

Continue reading »

..or do geodevelopers require mathematics?

MyCircle.Area seems simpler.. Alan Skorkin has a great post on “you don’t need math skills to be a good developer but you do need them to be a great one.” Geo-technology developers have similar requirements, and the majority of GISs revolve around CRUD operations. However due to the nature of spatial data we occasionally get to meddle in the world’s of projections, geometry, typology, and set theory more than our counterparts in other sectors.

The Ancient Mysteries

There are now five bridges in Königsberg..Whilst concentrating on algorithms and recursion is a definite benefit to all developers, us spatial developers need a few more specific tricks.  Euler’s 1736 paper on Seven Bridges of Königsberg is one of the first academic writings on modern topology. The titles of these mathematics puzzles create an aura of mysteriousness and arcane knowledge that definitely sweetens the somewhat dour algebra underneath.

The solution (or non-solution) to this problem underpins many of the more advanced techniques used by GIS packages today. The “Travelling Salesman”, whilst conjuring up less interesting images, relies on similar principles of graph theory. Continue reading »

With the rise of the neogeographers, along with the increased awareness and use of GIS thanks to the web, more and more positions are open for developers looking to move away from writing business accounting logic, and into the exciting “new” world of spatial data. I’ve noticed a few gotchas that have happened to developers with no GIS background while working on projects, so this list may at least raise awareness of some of the hurdles.

image

1. Get to Know your GIS Application

Most desktop development in GIS involves building extensions to an existing application using an existing programming library. In order to avoid reinventing the wheel you need to be able to use your GIS desktop package.

Before developing any automated tasks, manually go through the process to get a feel for any issues that may arise, and learn some of the terminology used by the program for the various functions. If the application has an option for hatched polygon fills, this option is also likely to be buried somewhere in the API. If you can’t find what you are looking for then run what you are trying to accomplish past a GIS user.

Continue reading »