Martin, could you try this snapping with JTS ? input: POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0)) snap_to: POINT(0.5 0) In GEOS, it returns: POLYGON ((0.5 0, 0.5 0, 1 1, 0 1, 0.5 0)) --strk; () Free GIS & Flash consultant/developer /\ http://strk.keybit.net/services.html