/// <summary> /// /// </summary> /// <param name="g"></param> /// <returns> /// A clone of g based on a CoordinateSequence created by this /// GeometryFactory's CoordinateSequenceFactory. /// </returns> public virtual IGeometry CreateGeometry(IGeometry g) { // could this be cached to make this more efficient? Or maybe it isn't enough overhead to bother GeometryEditor editor = new GeometryEditor(this); return editor.Edit(g, new AnonymousCoordinateOperationImpl()); }
/// <summary> /// /// </summary> /// <param name="geom"></param> /// <returns></returns> public virtual IGeometry Reduce(IGeometry geom) { GeometryEditor geomEdit; if (_changePrecisionModel) { // GeometryFactory newFactory = new GeometryFactory(_newPrecisionModel, geom.SRID); GeometryFactory newFactory = new GeometryFactory(_newPrecisionModel); geomEdit = new GeometryEditor(newFactory); } else // don't change point factory geomEdit = new GeometryEditor(); return geomEdit.Edit(geom, new PrecisionReducerCoordinateOperation(this)); }