[fdo-users] FDO 3.1 vs 3.2

George McLean gmclean at gorge.net
Wed Jan 2 15:39:19 EST 2008


Thanks Gavin,

I do have clients that are using Oracle and storing Z would be useful. I 
will check the capabilities and process accordingly. I appreciate the 
advice!

George

Gavin Cramer wrote:
> Hello, George.  The geometry type package supports Z and M.  However, MySQL does not.  The MySQL Provider denotes this by only reporting XY as the supported dimensionality in the FdoIGeometryCapabilities::GetDimensionalities method.
>
> I would guess that an extra check has been added, rather than letting it quietly "succeed" with invalid data.  I am not sure exactly where your error originates in the provider, but I only see this error being issued from FdoRdbmsFeatureReader::GetGeometry (and FdoRdbmsSQLDataReader).  One would not expect a reader, as the return value from an Insert command, to be carrying geometry.  If that's where it is coming from anyway, there could stand to be an improvement by catching it before the Insert can execute.
>
> Regardless, what you have now is correct for MySQL, since it only supports XY.  If your application will target other kinds of datastores, it would do well to check GetDimensionalities to make sure that the desired dimensionality is supported.  If you need a handy tool to add or remove dimensions, take a look at FdoSpatialGeometryConverter.
>
> Gavin
>
>
> -----Original Message-----
> From: fdo-users-bounces at lists.osgeo.org [mailto:fdo-users-bounces at lists.osgeo.org] On Behalf Of George McLean
> Sent: Wednesday, January 02, 2008 2:18 PM
> To: FDO Users Mail List
> Subject: Re: [fdo-users] FDO 3.1 vs 3.2
>
> I just thought I would follow up with a fix for the unsupported geometry
> type error I was getting. This may already be well known but I thought
> someone might benefit from my experience. From what I can tell osgeo.fdo
> geometry types do not support Z or M in the definition of the geometry.
> I changed the dimensionality in the call to gf.CreatePoint from 2 which
> gave me XYZM to 0 which gave me XY. This also worked with the call to
> CreateLineString.
>
> George
>
>
> George McLean wrote:
>   
>> Hello,
>>
>> I am finally getting around to updating a .NET application to run in
>> Map 2008 so I am running into some issues using the FDO 3.2 libraries.
>> In the code below I am using the MySQL provider to insert point
>> objects into a MySQL database. I get an error "Unsupported Geometry
>> Type" for all my points using the following code.
>>
>>        ' Load the geometry object
>>        Dim d(3) As Double
>>        d(0) = BlRef.Position.X
>>        d(1) = BlRef.Position.Y
>>        d(2) = BlRef.Position.Z
>>        Dim geoPoint As OSGeo.FDO.Geometry.IPoint
>>        geoPoint = gf.CreatePoint(3, d)
>>        Dim byteArray() As Byte
>>        byteArray = gf.GetFgf(geoPoint) ' gf.GetAgf(geoPoint)
>>        fdoGeoData = New OSGeo.FDO.Expression.GeometryValue(byteArray)
>>        fdoPropertyValue = New
>> OSGeo.FDO.Commands.PropertyValue("geometry", fdoGeoData)
>>        fdoValueCollectionIndex = fdoPropertyValues.Add(fdoPropertyValue)
>>        ' Insert into FDO
>>        Dim fdoFeatureReader As osgeo.Fdo.Commands.Feature.IFeatureReader
>>        Try
>>
>>            fdoFeatureReader = fdoInsertObject.Execute()
>>            fdoTrans.Commit()
>>            fdoFeatureReader.Dispose()
>>
>>
>> This code was working fine using the appropriate FDO 3.1 libraries. I
>> have similar code for loading LineString features that also fails in
>> 3.2. Any suggestions on how to debug this?
>>
>> Thanks
>>
>> George McLean
>> _______________________________________________
>> fdo-users mailing list
>> fdo-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/fdo-users
>>
>>
>>     
>
> _______________________________________________
> fdo-users mailing list
> fdo-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/fdo-users
> _______________________________________________
> fdo-users mailing list
> fdo-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/fdo-users
>
>
>   



More information about the fdo-users mailing list