SharpGIS

#GIS from a .NET developer's perspective

Atlas released with Go-Live license

Atlas has just been released with a Go-Live license, so we now can use it on our websites. Woohoo !
“Atlas” makes it possible to easily take advantage of AJAX techniques on the Web and enables you to create ASP.NET pages with a rich, responsive UI and server communication.

I see a lot of potential when combining this with a map viewer, like Microsofts Live Local.

I have tried implementing Atlas in my Ajax demo on the SharpMap website, and it works great ! It's almost too easy :-)
I used Atlas for autocompletion when searching for cities, and for updating the cities-in-view list below the map.

Delaunay Triangulation in .NET 2.0

Based on an article by Paul Bourke, I've created a small light-weight .NET 2.0 library to triangulate point data. The library includes a small Windows Forms example showing how the library works.

Using the generic point type 'Point<T>' you can triangulate points with any attribute added to it. For instance to triangulate points with a Z-height, create a list with double-types for Z like this:

  List<Point<double>> Vertices = new List<Point<double>>();
//Add vertices ...
//Do triangulation
List<Triangulator.Geometry.Triangle> tris = Triangulator.Delauney.Triangulate(Vertices);


Otherwise you can just derive from and extend the 'Geometry.Point' class to triangulate points with more methods and properties.

 

The Delauney triangulation doesn't handle duplicate points very well (that is multiple points whose X and Y properties are equal). Luckily we now have anonymous methods to set up a simple predicate to check if we already have a point in my list before I add it:

  Triangulator.Geometry.Point pNew = new Triangulator.Geometry.Point(234.4,782.1); //New point to add
if(!Vertices.Exists(delegate(Triangulator.Geometry.Point p) { return pNew.Equals2D(p); }))
Vertices.Add(pNew);

 

The library can be downloaded here including a small demo-app. Feel free to use it as you like.