I have a polygon feature class within an ArcSDE Geodatbase.
Within ArcMap I have created a polygon using the Circle edit tool.
I am now accessing the data within SQL Server 2017.
My question is can I programmatically identify that this polygon is a Circle within SQL server?
I can obviously identify the feature with statements such as:
SELECT Shape.STGeometryType(); RETURNS Polygon
SELECT Shape.STAsText(); RETURNS POLYGON ((2423859.4153780821 2495265.7907268363, 2423859.4101329744 2495265.7907232433,.....)) plus many more vertices.
But these don't delve into the feature geometry detail I require.
I would like to dig deeper and identify that the feature is circular and contains curves.
The primary reason I ask is I have another feature class with thousands of records and some of them are circular polygons. Once I identify them I intend on cleaning them up (simplifying to envelopes and deleting where possible) to improve performance on our various clients.
Any help would be appreciated.
If you are going to work with EGDB data outside of Esri products, I suggest you learn about the EGDB structure in SQL Server. You can start with Enterprise geodatabase system tables—Manage geodatabases in SQL Server | ArcGIS Desktop .
For your specific question, read the sections from Outside ArcGIS and down in SQL Server spatial types and ArcGIS—Manage geodatabases in SQL Server | ArcGIS Desktop
I was aware of the addition of the gdb_geomattr_data column (when we upgraded to 10.6.1) which stores additional geometric elements. In regards to this column I note the ESRI link you provided provided states:
The additional geometric elements include the following:
I am hoping to use this column to identify additional elements such as the circular arcs/curves within the polygons I am targeting. But with this column being VARBINARY type - I am not sure how to uncover the circular arcs/curves. Any ideas on a specific SQL query that might do this?