Mapping GISPs Again With Leaflet.markercluster

So I’ve been playing with Leaflet a lot lately. It’s become my lightweight mapping library of choice. There’s a lot it doesn’t do so I keep OpenLayers and others in the rotation as well but Leaflet is direct and to the point so I use it when I can.

Click the image to go to the live demo

A while back, I stumbled onto the Leaflet.markercluster project on GitHub, which adds a clustering layer type. I wanted to try it so I revisited my old GISP heat map demo (Silverlight) and decided to rework it. I was happy to finally get a chance to strip out the plug-in, anyway. Continue reading “Mapping GISPs Again With Leaflet.markercluster”

CartoDB/Leaflet Sample Update

A while back, I posted about some experimentation I did with Leaflet and CartoDB in the wake of FOSS4G in Denver. I recently had the chance to go back and update that sample with some spatial queries. At the time of the original post, CartoDB was still in beta and spatial queries didn’t seem to work, despite the fact that the back-end was driven by PostGIS.

Continue reading “CartoDB/Leaflet Sample Update”

CartoDB + Leaflet = Easy

One of the biggest sources of buzz at FOSS4G was CartoDB. It is a hosted solution from Vizzuality that uses PostGIS to allow you to store your spatial data online. I got a beta account a couple of weeks ago but life (i.e. paying work) kept getting in the way but I finally got to play with it recently.

One of the things that intrigued me is that, similar to Google Fusion Tables, CartoDB exposes a SQL interface through a RESTful API (I’m still not sure if the term “API” applies to REST but it’s a convenient shorthand). Essentially, CartoDB exposes PostgreSQL SQL and the spatial SQL extensions of PostGIS. Once your data is loaded, you can query it and return the results as either CartoDB’s JSON syntax, KML or GeoJSON.

With this information, I set out to build a simple application to query property data and display the results on a map in a browser. In addition to CartoDB, I elected to use the Leaflet Javascript library to accomplish the mapping (although I also experimented with OpenLayers). Displaying and styling GeoJSON in Leaflet is very straightforward and this task gave me and excuse to get a little more comfortable with it.

Continue reading “CartoDB + Leaflet = Easy”

Mapping GISP and PMP Certifications with GeoCommons and the ESRI Silverlight API

Note: The application described in this post is running here. It requires Silverlight 4.

I was perusing my LinkedIn connections and noticed that quite a few had PMP certifications. I also noticed that most of those who did seemed to be in the Washington, DC area. Of course, given that I live in that region, my sample could be a bit skewed but then I started thinking out loud (via Twitter):

I would love to see a heat map showing concentrations of PMPs. I bet the DC area would be white-hot. I suspect others not so much.

Naturally, I could not let this sit. How hard could it be? It turns out it wasn’t that hard so I decided to throw a small app together to look at the data. In the process of working out an approach, I decided to also look at GISP certifications because the data set is smaller and is available as one download from the GISCI. Here’s a blow-by-blow:
Continue reading “Mapping GISP and PMP Certifications with GeoCommons and the ESRI Silverlight API”

StatCounter Recent Visitor Map

Overview of “Recent Visitor Map” feature.

This probably old news but I’m pretty impressed by it. I’m referring to the recent visitor map on We do a lot of web development where I work (both GIS and not) and I like to keep an eye on tools that may be useful in that area. StatCounter provides a free service that keeps track of who’s visiting a site. It can track IP, referring links, etc. It’s pretty standard stuff but their reporting tools are nice so I thought I’d check it out.

Anyway, one feature they have that I didn’t know about when I signed up is a “recent visitor map” that places push-pins on Google Maps to identify where your visitors are coming from. Clearly it’s using some form of GeoIP and it’s not exact (no, I can’t find your house with it unless you live at your ISP). I instrumented my blog and it shows a good spread from all over the world. StatCounter has a javascript version and a version based on a web bug. Both can be mapped but the javascript version gives you more information, including things like referring links. My blog is hosted on which doesn’t allow me to embed script tags in posts or widgets (ahem) but I instrumented another site with the javascript version and it works well. A screen capture of the map is below:

What? People don’t read my blog in Antarctica?

If you click on a push-pin you access information such as IP address, ISP, city/state/country, time spent on the page, OS, browser, referring page, etc. This has the potential to be a good, low-key business intelligence tool. You can see where your visitors are coming from and, with the javascript version, how they’re getting there. On the other web site, I have discovered that a lot of traffic is driven there via some of my ArcScripts posts, with a lesser degree coming from my blog. The biggest referrer tends to be Google and you can actually see the full query string so you can see the search terms.

As for the web bug version I set up on my blog, I’ve been able to figure out that a couple of big system integrators (who act as their own ISP) are interested in SharpMap.

I find this tool to be an ideal application of the push-pin mapping concept.

Update: Here’s another example showing some of the specific interest generated by the “Death of ESRI” post (the IP address and host name have been blurred to protect the innocent):

Another StatCounter example…