MapWindow Open-Source Conference Coming Up

Thanks to Twitter, I see that the 3rd annual MapWindow Open-Source GIS Conference is coming up at the end of June. It is being held in Velp, The Netherlands. I call this conference out because it has a strong, but not exclusive, concentration on open-source GIS tools for the .Net environment, such as DotSpatial, SharpMap, and NTS. Additionally, there will be content on non-.Net tools such as PostGIS, OpenLayers and others. This makes sense as any complete stack usually contains a mix of technologies. PostGIS is almost the de facto standard back-end for open-source geo stacks and QGIS is probably the best open-source editor for it so inclusion of such tools is quite necessary.


For a number of reasons, I can’t attend but I’ll be watching the live stream with interest. It’s location in Europe makes a lot of sense. I’ve always noticed that my early posts on SharpMap get a large portion of traffic from Europe and a majority of the user base of zigGIS was European so I suspect there is a lot of demand there for open-source tools built on .Net. This conference could be a good one-stop shop if you are interested in such tools.

Where Has The Time Gone?

It’s been four years to the day since I started this blog. This was not my first attempt at blogging but I wasn’t happy with my first one so it’s been lost to the recycle bin of history. It was (and still is) intended to be an outlet for my observations and experiences arising from my work. Sometimes, that means I post code and other times it means I post rants.

My first post was regarding a bug with raster layers in ArcGIS 9.2. That project evolved to include the use of SharpMap and PostGIS, which led me to get involved with zigGIS. From there, I got more involved with open-source GIS while also staying current with the various permutations of Esri technology (I can now say I was working with it when it was “EE ESS ARE EYE”).

Now I just need a cake.

Today, I’m still working with a lot of Esri tools (especially since I still do a lot of work for the government) but I still maintain a mix of open-source tools and, more recently, have begun working with various cloud platforms (see recent posts on WeoGeo, GeoCommons and Arc2Earth).

So, whereas I was probably spending over 80% of my time working with ESRI tools when I started, I’d say that number is closer to 50% now. I would not, however, read much into that other than my own personal decisions. I feel the broader perspective of working with a variety of tools makes me a better consultant, regardless of which platform my customer has chosen.

Over the past four years, I have gotten to know a lot of very smart people as a direct result of this blog so it’s definitely been a positive experience for me.

To all who have stopped by over that time, please accept my sincerest thanks.

SpatiaLite Provider Now In SharpMap Repository

I got a surprise e-mail from Felix today letting me know that the SpatiaLite provider I posted some time ago, along with Kev’s great spatial index work, has been included in the SharpMap repository. If you’re looking for one place to pick them up, now you’ve got it.

If you haven’t checked out SharpMap or SpatiaLite, I highly recommend both.

SpatiaLite Provider Code for SharpMap 0.9

I mentioned in an earlier post that I was working on building a SpatiaLite data provider for SharpMap 0.9. That effort was mainly a learning exercise for me as work has already begun on one for SharpMap 2.0. I am making the source code available below. I have unit tested it (thanks mbUnit3 and Gallio) so it should be pretty solid. Continue reading “SpatiaLite Provider Code for SharpMap 0.9”

Writing GeoJSON from SharpMap, Part 1.5

Following up on my post a few months back about GeoJSON and SharpMap; here is the code to the converter as it stands so far. I have mentioned recently that things have been pretty busy at work so I have progressed on this more slowly than I had wished. I have yet to insert code to handle CRS but I thought it would be better to post something than nothing.

Basically, I just had to do some modifications to Morten’s original code for handling WKT. It was pretty straightforward owing mainly to the quality of Morten’s code. So here it is. Enjoy… Continue reading “Writing GeoJSON from SharpMap, Part 1.5”

Odds and Ends (SpatiaLite and Stuff)

It has been quite a while since I last blogged. The holidays are always a busy time of year with family a friends and work has been somewhat busy as well. We established a new presence in Colorado Springs (I’ll be traveling there at the end of January). Additionally, I’ve been busy with project work and have recently begun spend part time on a customer site. So, the blog has been squeezed a little.

I am doing more work with ArcGIS Server 9.3 and the Javascript API but probably won’t have enough to blog about for a few more weeks. Also, at the urging of Adam Estrada, I have begun dabbling more with SpatiaLite. You may remember my post some time ago about integrating SQLite with SharpMap. SpatiaLite is a spatial extension to SQLite and it seems to be very powerful. I am currently re-working my previous code so that I’ll have a SpatiaLite provider for SharpMap. With the use of the SQLite OLEDB provider, this has gone fairly smoothly.

The thing I really like about it is the portability. You can basically drop a couple of DLLs and go. Additionally, SpatiaLite has strong support for many spatial operations so it can be a fairly robust analysis back-end. These two attributes raise a lot of possibilities for mobile applications. I have done some mobile development work with PostGIS (okay, the platforms were fairly heavy but they were in vehicles that rolled around) and it worked well but SpatiaLite might ease some of those “in the field” workflows, especially the delivery of relevant basemap information.

With regard to SharpMap, it looks like SpatiaLite provider is under way for 2.0. I am doing my own for 0.9 because it helps me get more comfortable with SpatiaLite. Once I am finished, I’ll be happy to share my code but you may want to take a look at what’s being implemented with 2.0. It’s fairly elegant.

Also of interest, the SpatiaLite Users Google Group.

Update: the code for SharpMap 2.0 is currently located here.

Writing GeoJSON from SharpMap, Part 1

In between proposals, white papers and the like, I’ve been able to do a little coding to keep myself sane. Recently, I have been playing with SharpMap, GeoJSON and OpenLayers. But not necessarily in that order. Originally, I was looking over the GeoJSON spec to get more of a feel for it and decided that it would be fun (I know) to write an exporter for SharpMap. There is already a converter to write SharpMap geometries as WKT so I went ahead and built another one to convert to GeoJSON. In order to test it, I decided to use OpenLayers. Continue reading “Writing GeoJSON from SharpMap, Part 1”