Submitted by , posted on 11 April 2005

Image Description, by

On Wednesday, April 6th, I found out about googles new beta mapping service from this Yahoo news article. I loved this tool, but thought I could improve on a few things. With that, I present to you my version of a 2D GIS ortho viewer over the internet. Its my first program in Java (started learning it Wednesday), but I think its relatively feature complete. Everything was written from scratch, and its a brand new algorithm I developed during my sleepless nights. Here it is for your viewing pleasure :

As for technology details :

It uses a dynamically growing quadtree to house the near infinite resolutions. This means that you can throw in a very low resolution image with an extremely high resolution image and not lose any pixel accuracy when you zoom into the high resolution subset. There is still a little shakyness when you zoom into the low resolution imagery, but this wasn't an issue to me so I never bothered to fix it. Its only there because I don't have the disk space to upload bigger imagery. The quad tree automatically adjusts and frees itself to your viewing position, such that you're never wasting unncessary memory.

Each raster is treated separately. This method is specific to 2D only, but it works pretty nicely. Because each one is separate, we can toggle them on/off as well as apply blending/swiping between the different layers to give true GIS functionality. It should scale very well for thousands of images as well.

The loaded raster resolutions in pixels are :
16,252 x 18,362
7,964 x 11,258
4,320 x 2160

Big by todays graphics card standards, but small by GIS standards. I wish I could upload more higher resolution imagery, but I am limited by my webhost. The current scene takes up a little over 130Mb compressed on the website as it is.

More info is available in the write up on the applet page.


Image of the Day Gallery



Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.