And two months later, I’ve got both a new daughter and a new project.  Huzzah!

This new project builds Tom Bittner‘s work on vagueness and granularity in geographic regions.  A recent paper of his presents a formal system for classifying geographic regions based on their qualities.

It turns out that things get tricky when you want to apply a quality (like forested) to something like a region, because we don’t expect every part of that region to harbor a tree.  A bit more practically, we don’t expect a reasonable raster of a forested region to necessarily have trees in every cell – a raster where 99 out of 100 cells are forested is probably good enough.  What Tom does is give this intuition a rigorous formal treatment.

So I started a new project on Github called kraken where I’ll write up an implementation of his system in Clojure.  For the geoinformatics portion of this code, I’m taking a look at the GeoScript libraries; it looks like someone’s even started up a Clojure GeoScript library.

The initial phase of kraken is aimed to produce a faithful implementation of Tom’s system.  After this, I want to open up the classification of geographic regions to affordances.  I’m going to take a long look at what it means to associate an affordance (such as a habitat) to a region, which means I’ll take the time to write about how affordances tie into theories of dispositions, occurrences, and qualities.  I have a feeling that I’ll end up writing kraken in more of a logic-programming way, possibly with the Jena rules via seabass.  Part of the question there is whether RDF-Sparql will make sense for doing the semantic work needed.  Can’t wait to find out.