I've changed Geometry::getEnvelopeInternal() to return a const Envelope *. This way memory copies are reduced and I think we are closer in specs as JTS. Each Geometry will keep its Envelope as a cache, computing it only once when requested. --strk;