image Or perhaps that should be rephrased start browser-based raster GIS?

GIS data is split into two base types – vector data – geometric shapes, usually further split into points, lines, and polygons, and raster data – cell-based or “pixelated” data.

Graphics on the web mirror this divide. On the vector side SVG – scalable vector graphics, is used in many browsers to display geometric shapes. On the raster side “dumb” images come in many well known formats such as bitmaps, GIFs, PNGs, and JPEGs.

Vector geometries are easily manipulated after drawing as they have an abstract model to work with (the SVG, or KML document), which the browser can then convert to the DOM. As an example OpenLayers includes two vector renderers – one for SVG (see source code), one for VML (used by the ever-unique IE), and since the start of this year a new canvas renderer.

The canvas renderer is used to draw features to the new canvas element which is part of the HTML5 specification. This allows access to images loaded into the canvas through new programming interfaces such as the Canvas 2D Context API.  It is this part of the HTML5 specification that could change the way we work with raster data on the web.

imageThe following is the first in a series of posts related to configuring a 64-bit Windows server as a GIS server  using MapServer and Python.

Why move to 64-bit?

If a server’s operating system and hardware are 64-bit it seems a waste not to take advantage of them. It may be better to look at the question why move to 64-bit software, as why wouldn’t you move to 64-bit software?

Its nice to be able to claim one-upmanship over commercial GIS products who are only now bringing out 64 bit versions. However having gone through the pain of setting up Open Source GIS applications on Windows I’m not surprised companies took the time to simplify the process (and wait for Microsoft to do some of the legwork) rather than dealing with all the 32/64 bit support issues too early.

Jun 242010

image Moving to new versions in OpenSource has in the past been like playing Russian roulette. Just now clicking on “Upgrade to WordPress 3.0″ I thought would lead to a greater understanding of the database schema, template inconsistencies, and plug-in idiosynchrocies of WordPress as I met an inevitable “Upgrade Failed. Please see log for details” message.

But no! Five seconds later, all was successful, and everything looked as before. There have been numerous bug fixes and improvements, but after a brief look through the list I didn’t see any “killer” new features.

In the world of GIS however there are a number of important new versions coming up this summer.

Continue reading »

Putting code under source control is on most checklists for modern software development. Even small side projects, scripts, and code snippets can benefit from being under source control. For example:

  • When you improve the code others can see the changes and get the benefits
  • If someone else improves the code those improvements can be passed back to you via an automated process

BitBucket is a hosting service for the code-source control system Mercurial. Mecurial is part of a new-wave of distributed source control systems that have the following advantages and disadvantages over regular non-distributed source control:

Continue reading »

Jun 062010

image Everyone loves aerial photography. Some of its early pioneers were the James Bonds of their era. Twenty years ago people could go round neighbourhoods in England and sell people frames photographs of their houses from the air.

Today people spend hours looking at the aerial photography layer on Google Maps wondering why so many people have outdoor swimming pools in the UK..

People also like free data. And companies like data free from the Google Terms of Service even more. The successful OpenStreetMap wiki refers to what seems to be the perfect datasource – the OpenAerialMap (OAM) project, however it starts with the rather ominous opening statement:

It was available at http://openaerialmap.org/ but…

image Maybe I’m a little late in finding this, but if you have FireFox 3.5 or higher try clicking this link (you will have to agree to let your browser divulge your location to open the link). The JavaScript code run when clicking the link is as follows, and can also be pasted directly into your address bar:

javascript:navigator.geolocation.getCurrentPosition(
function(position){
window.location.href="http://maps.google.com/?ll="+position.coords.latitude+",
"+position.coords.longitude;});

I believe the navigator.geolocation object is also available in Safari, iPhone, and Chrome. The Mozilla documentation provides more details on its use. This StackOverflow question asks which browsers and devices it applies to, and this is set to grow if it becomes part of the browser standards – the W3C has an online draft Geolocation API Specification. They list the following use cases: 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 »