5

Inspired by a question that was asked earlier today about curves in a Spatialite database. I haven't been able to find any documentation online about whether a Spatialite database can store true curves (or true arcs).

I am using ArcGIS Desktop and am unable to edit a Spatialite database directly, so any data in the Spatialite DB will be copied across using ArcMap.

If I have polyline feature classes and copy these into a Spatialite database, will any true curves in my feature class remain as a true curve in Spatialite, or will it be densified somehow?

5

Polylines stored in a Spatialite database through ArcGIS Desktop do not appear store true curves. Any curves in the lines are densified into straight segments and vertices.

To test this I created a circle in a file-geodatabase (FGDB) feature class. I then copied this feature class into my Spatialite DB. To verify that the copy normally copied curves, I also copied the feature class into another file-geodatabase and a personal geodatabase (PGDB).

While the circle kept its curve in the feature class copied to the second FGDB and the PGDB, it did not keep the curve in Spatialite.

FGDB circle:
FGDB circle

PGDB circle:
PGDB circle

Spatialite circle:
enter image description here

To show vertices for the Spatialite feature class I needed to copy the feature class back into my FGDB, so I also wanted to test the Spatialite data directly.

This answer to How to identify "true arcs" in Arcmap? includes a python snippet to quickly check whether a feature contains true curves - here are my results:

FGDBMaster
You have true curves!
Spatialite
No curves here
PGDB
You have true curves!
FGDB
You have true curves! 

Now I understand that this doesn't signal that Spatialite doesn't support true curves at all, or that other GIS applications can't do it, it just shows that the Spatialite support in ArcGIS Desktop doesn't appear to support true curves but instead densifies them.

  • Spatialite does not support true curves. – Donny V. Apr 2 at 17:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.