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
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.
So is it not even possible to find out if a feature class is an Annotation using the API?