I've made the isvalid() function return invalidity message (if geometry is invalid). It works only with geos >= 2.1.0 (IsValidOp was bogus before that). NOTE: it's both postgis and geos from CVS... --strk;