Select to view content in your preferred language

Annotations are shown as Area types features through file geodatabase api

4372
2
11-16-2015 02:50 AM
BharatKale
Deactivated User

Hi,

I have been using the file geodatabse api for quite some time to read and display feature classes. I recently got a dataset that contains annotations. The limitations section at File Geodatabase API details | ArcGIS Blog  mentions that "the API will support reading the schema and data of complex geodatabase types, but will not honor geodatabase behavior on inserts, deletes or updates to the following dataset types: Annotation and Dimension feature classes, Relationship Classes..."

But the problem that I'm facing is, when I'm reading a file geodatabase that has an annotation feature class, it is showing the feature class geometry type as geometryPolygon and my display is showing the feature class also as an area type by using the text bounds as the actual data!! Here is the snippet that I have in my code to get the geometry type -

if ((hr = m_fileGeoDatabase->OpenTable(tableName, ptrTable)) == S_OK)

    {

     FieldInfo* fInfo = new FieldInfo;

     ptrTable.GetFieldInformation(*fInfo);

     fInfo->GetFieldCount(fieldCnt);    

     for (int j = 0; j < fieldCnt; j++)

     {

          fInfo->GetFieldType(j, fType);

          if (fType == fieldTypeGeometry)

          {

               fDef.GetGeometryDef(geomDef);

               geomDef.GetGeometryType(geomType);

          }

     }

    }

Now, Is there a way in the API using which I can identify whether a feature class is an annotation. if so, can I just display (no edits, inserts or deletes) the text using the API.

Bharat Kumar Kale

0 Kudos
2 Replies
LanceShipman
Esri Regular Contributor

The File Geodatabase API does not support Annotation. You can read the schema information and the data in the table, but do note provide any tools to extract coverage annotation information from the Element blob.

0 Kudos
BharatKale
Deactivated User

So is it not even possible to find out if a feature class is an Annotation using the API?

0 Kudos