[geos-devel] C API coordinate sequence dimensions
Sean Gillies
sgillies at frii.com
Mon Jan 12 14:00:21 EST 2009
Ah, I didn't know this. Which ones?
On Jan 12, 2009, at 11:40 AM, Paul Ramsey wrote:
> Not all operations are 2D, just 99% of them. Some of the overlay ops
> try to compute "correct" derived Z-values.
>
> P
>
> On Jan 12, 2009, at 10:04 AM, Sean Gillies wrote:
>
>> So, the dimension argument in GEOSCoordSeq_create is ignored unless
>> the active sequence implementation takes dimensions other than 3?
>>
>> Why is GEOS's default sequence 3D when all operations are 2D?
>>
>> Sean
>>
>> On Jan 12, 2009, at 10:56 AM, Martin Davis wrote:
>>
>>> Actually JTS implements this correctly. The return value from
>>> getDimension is computed by the implementation of
>>> CoordinateSequence. In the case of DefaultCoordinateSequence
>>> (which by the way is deprecated and replaced by
>>> CoordinateArraySequence) the value is alway 3, since the
>>> Coordinate representation used by these sequences always allows
>>> for 3 ordinates.
>>>
>>> In the case of PackedCoordinateSequence the dimension can be
>>> selected on creation, and this is the value that is returned by
>>> getDimension.
>>>
>>> Sanak wrote:
>>>> Hi list,
>>>>
>>>> I don't know that this is a known bug, but
>>>> CoordinateArraySequence.getDimension() method always return 3.
>>>>
>>>> [trunk/source/headers/geos/geom/CoordinateArraySequence.h - line
>>>> 88]
>>>> size_t getDimension() const { return 3; }
>>>>
>>>>
>>>> JTS(JTS Topology Suite) seems to be also the same.
>>>>
>>>> [jts/src/com/vividsolutions/jts/geom/
>>>> DefaultCoordinateSequence.java - line 95]
>>>> public int getDimension() { return 3; }
>>>>
>>>> I don't know that this is a specification or not...
>>>>
>>>> Regards,
>>>>
>>>> Sanak.
>>>>
>>>> 2009/1/12 Sean Gillies <sgillies at frii.com
>>>> <mailto:sgillies at frii.com>>
>>>>
>>>> I'm finding that GEOSCoordSeq_getDimensions returns 3 no matter
>>>> what
>>>>
>>>> # Accessing libgeos_c via Python ctypes
>>>> >>> s = lgeos.GEOSCoordSeq_create(2, 2)
>>>> >>> ndim = c_int()
>>>> >>> lgeos.GEOSCoordSeq_getDimensions(s, byref(ndim))
>>>> 1
>>>> >>> ndim
>>>> c_long(3)
>>>>
>>>> Is this a known bug? Looks like we're only testing creation of 3D
>>>> coordinate sequences in
>>>>
>>>> http://trac.osgeo.org/geos/browser/trunk/tests/unit/capi/GEOSCoordSeqTest.cpp
>>>>
>>>> --
>>>> Sean Gillies
>>>> http://sgillies.net
>>>>
>>>> _______________________________________________
>>>> geos-devel mailing list
>>>> geos-devel at lists.osgeo.org <mailto:geos-devel at lists.osgeo.org>
>>>> http://lists.osgeo.org/mailman/listinfo/geos-devel
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> geos-devel mailing list
>>>> geos-devel at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/geos-devel
>>>
>>> --
>>> Martin Davis
>>> Senior Technical Architect
>>> Refractions Research, Inc.
>>> (250) 383-3022
>>>
>>> _______________________________________________
>>> geos-devel mailing list
>>> geos-devel at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/geos-devel
>>
>>
>>
>> --
>> Sean Gillies
>> sean.gillies at gmail.com
>> http://sgillies.net
>>
>> _______________________________________________
>> geos-devel mailing list
>> geos-devel at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/geos-devel
>
>
> --
> Paul Ramsey
> pramsey at cleverelephant.ca
> +1 250 885 0632
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geos-devel
More information about the geos-devel
mailing list