Kitware Developer blog launched

CMake - cross-platform build systemA few minutes ago, Bill Hoffman from Kitware posted short message to the CMake project mailing list with an interesting announce:

Kitware launched its first developer blog today with contributions from Company technical and business leaders.

The CMake build system is one of the main category of topics on the Kitware blog, so I presume it may be of interest of OSGeo Community as the CMake build system is slowly winning over more and more folks here :-)

First CMake-related post is about Deploying on Windows with DLL Manifest Issue

Another interesting post on the blog is Will Schroeder‘s answer to the question Why Open Source Will Rule Scientific Computing? It’s really worth reading.

PostGIS 1.5.0 will require GEOS 3.1.0+

PostGIS spatial database extension for PostgreSQLPostGirls and PostBoys, be prepared!

The upcoming release of PostGIS 1.5.0 (available as beta1 beta2) will require GEOS in version 3.1.0 or later.

The beta1 testing results suggested to bump the minimum GEOS version to 3.1.0. The GEOS requirement issue was one of the heavily discussed topics on the postgis-devel this month.

The PostGIS team is going to give GEOS a nice present for its 10th round month birthday.

PostGIS explains DE-9IM

PostGIS spatial database extension for PostgreSQLI am happy I belong to the hordes of PostGIS users. Recently I asked for a very small addition to the PostGIS manual that will explain the three basic terms of the geospatial geometry: interior, boundary and exterior.

Kevin Neufeld delivered a very well written chapter about Dimensionally Extended 9 Intersection Model (DE-9IM) with series of excellent visualisations of the non-trivial mathematics.

PostGIS - Dimensionally Extended 9 Intersection Model (DE-9IM)

Moreover, Kevin started completing the PostGIS Functions Reference with visual presentation of geometric problems together with SQL commands using various PostGIS functions that can be applied to solve particular situations. For example, what does the ST_Buffer function, how boolean predicates like ST_Contains check spatial relation of two geometries or what’s the difference between ST_Difference and ST_SymDifference.

Clearly, I’ve got way way more than I asked for or I expected. On behalf of myself and users who are about to start their adventure with PostGIS, I’d like to give big kudos to Kevin for this fantastic work!

Together with the recently documented PostgreSQL PostGIS Types and Function Support Matrix, PostGIS team is making abrupt manual a pleasant reading book.

By the way, here is a bunch of references about DE-9IM I found very useful myself:

PostGIS Function Support Matrix

PostGIS spatial database extension for PostgreSQLRegina crafted matrix of functions available in upcoming PostGIS 1.5. Currently, PostGIS 1.5 is available from trunk in the Subversion repository.

The PostGIS 1.5 documentation is available under the manual-svn node and here is the PostGIS Function Support Matrix.

Regina, great job!

By the way, there is an interesting problem with check marks. does anyone know how to define check marks based on Unicode and make them visible in IE8?

ST_PostGIS(EMPTY) => ?

PostGIS spatial database extension for PostgreSQL Having problems with understanding semantic of EMPTY geometry?

Paul Ramsey has started wrapping up a proper article on PostGIS Wiki explaining most of the issues related to understanding of emptiness of geometries bothering the community of PostGIS users, and OGC standards users in general.

Check it like it’s hot DevWikiEmptyGeometry. Thanks Paul!

Talking about data races

My countryman Bartosz Milewski – the author of one of the best C++ introductory books – the C++ In Action posted video with very interesting talk about Ownership Systems against Data Races (video is here).

Interestingly, Bartosz proposes to understand the battle with data races as a discipline-driven programming that helps, mostly C+ programmers, to avoid all this horrible pitfalls. Moreover, Bartosz presents programmers with a well-designed methodology based on types system as a tool that may guard programs against injury from data races problem and with success.

Basically (and not surprisingly) Bartosz recommends think first, act later kind of approach based on detailed analysis of what might be causing data races in your program, on identification of potential sources of data race problems. This approach is a contrary to spending hours searching for data races conditions using debugger.

The data race problem is a complex subject, but – in my opinion – Bartosz explains it in a very accessible step-by-step form. Three words summary of Bartosz’ lecture and the presented methodology is: sharing + mutability + no synchronisation = data race

Spatial Relations for Dummies

My friend Jo asked on GEOS mailing list for approachable explanation of spatial relations and Dale Lutz from Safe Software suggested something I’ve not came across myself before and what (in generalised form) I’d consider as a great idea for…a book really :-)

Spatial Relation for Dummies