Re: FDO Sqlite provider Fgf2Wkb function to support MultiCurveString

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: FDO Sqlite provider Fgf2Wkb function to support MultiCurveString

Hi Greg

Thanks for your reply. We understand the issue of arcs and tesselation. For us, we already anticipate on this within MAP, adding sufficient tesselation removing and avoiding arcs as a clenaup pre-process from CAD to GIS.
This is a general approach as we know arcs can cause somewhere down the process issues as not all GIS is capable of dealing with those arcs.

Having that said, for us it would be sufficient just to treat the MAP Multicurve input as Linestring or multilinestring without dealing with the arcs (a s these are not in scope for us). We just need those lines from MAP into SQLITE.
This can still be a constraint, as it is now, in the FDO Provider.

Thus, we only require the Multicurvestring (without arcs) to become linestring or multilinestring (equally without arcs).



On Thu, Mar 10, 2016 at 12:22 AM, Greg Boone [via] <[hidden email]> wrote:
Hi Luc,

As far as I remember FGF is a super-set or extension to WKB.

WKB supports 7 geometry types: Point (1), LineString (2), Polygon (3), MultiPoint (4), MultiLineString (5), MultiPolygon (6), GeometryCollection (7).

FGF extends the types. Besides the 7 types, FGF also has CurveString (10), CurvePolygon (11), MultiCurveString (12), MultiCurvePolygon (13).

If Autodesk Map uses FGF types such as CurveString by default, converting those to WKB would require some form of conversion to simpler types and such a conversion does offer some challenges. For example, Arcs segments may need to be tessellated into many simple points. This is probably why the Fgf2Wkb function did not handle these types when it was written.

Some effort could be made to update Fgf2Wkb and that may prevent the crash, but I do wonder what kind of experience you would have in Map in your data was returned in a tessellated format and displayed as such in Map.


-----Original Message-----
From: fdo-users [mailto:[hidden email]] On Behalf Of lucvanlinden
Sent: Tuesday, March 08, 2016 4:07 AM
To: [hidden email]
Subject: [fdo-users] FDO Sqlite provider Fgf2Wkb function to support MultiCurveString


We are facing following issue:

Autodesk MAP 3D 2016 + FDO sqlite Provider 4.0.

If the sqlite file Layer/tables are set to use the WKB encoding, instead of FGF encoding, MAP 3D crashes when creating Linestrings. Map3D always passes MultiCurveString to the SQLiteProvider. However this geometry type is only supported by FGF encoding, not WKB encoding.

We need to use the WKB encoding in Sqlite for interoperability.


From the feedback from AutoDesk DEV team, they do not want to solve this crashing their end, this is due to the following function in the SQLITE fdo

FDO Sqlite provider has a method which converts FGF format to WKB format.
It’s in file
The method name is
int Fgf2Wkb(const unsigned char* fgf, unsigned char* wkb)

But it doesn’t support extended geometry types such as MultiCurveString.


Would there be anyone to help us in getting this function extended to support the MultiCurveString?


View this message in context:
Sent from the FDO Users mailing list archive at
fdo-users mailing list
[hidden email]
fdo-users mailing list
[hidden email]

If you reply to this email, your message will be added to the discussion below:
To unsubscribe from FDO Sqlite provider Fgf2Wkb function to support MultiCurveString, click here.