[geos-devel] Exposing PrecisionModel, GeometryPrecisionReducer in the C API
manisandro at gmail.com
Wed Jan 7 00:54:32 PST 2015
On 06.01.2015 13:34, Sandro Santilli wrote:
> On Mon, Jan 05, 2015 at 05:17:26PM +0100, Sandro Mani wrote:
>> On 23.12.2014 14:23, Sandro Mani wrote:
>>> Following the initial discussion in ticket #713 , I'd like to
>>> discuss the exposing of PrecisionModel and
>>> GeometryPrecisionReducer methods in the C API.
>>>  http://trac.osgeo.org/geos/ticket/713
>>>  http://trac.osgeo.org/geos/wiki/GSoC/CAPI_PrecisionModel
>> Any comments on this? Should I move ahead and post a complete patch?
> I'm not very comfortable with forcing callers to take care of
> keeping a PrecisionModel object alive. As you noted it
> would be a good idea to just have GeometryFactory keep a copy
> of that. I'm actually not even sure this isn't the case already,
> should check.
GeometryFactory does make a copy of the PrecisionModel passed by the
user, so it is not necessary to keep the copy around.
> If I recall correctly a previous proposal was to "downgrade" the
> precision model to an argument to the GeometryFactory constructor.
> What do you think ?
By this you mean not exposting the PrecisionModel at all, and instead
doing something like this?:
/** Geometry Factory **/
typedef struct GEOSGeometryFactory_t GEOSGeometryFactory;
extern GEOSGeometryFactory* GEOSGeometryFactory_create(int SRID);
GEOSGeometryFactory_create_fixedPrecision(int SRID, double scale);
extern void GEOSGeometryFactory_destroy(GEOSGeometryFactory* factory);
I'm ok with that, it is actually cleaner.
More information about the geos-devel