Hello,
I'm trying to go through layers in projects and I have an imported project from ArcMap with annotations and I'm trying to get the AnnotationFeature from AnnotationLayer that has AnnotationSubLayers, but i keep getting Feature object.
Does anyone have a valid code and data example?
Thank you!
Here is what I have and something is wrong:
//this finds 3 Annotations in view extent (I can see in GUI it has same TextString, different AnnotationClassId,SymbolID)
SpatialQueryFilter qf = new SpatialQueryFilter();
qf.FilterGeometry = viewExtentGeometry;
qf.SpatialRelationship = SpatialRelationship.Intersects;
...
if (_lyr is AnnotationLayer alr)
return ConsumeCursorAnnotation(alr.Search(qf));
...
/// this returns null when casted to AnnotationFeature
private IEnumerable<AnnotationFeature> ConsumeCursorAnnotation(RowCursor featureCursor)
{
while (featureCursor.MoveNext())
yield return featureCursor.Current as AnnotationFeature;
}
Solved! Go to Solution.
Hello,
The problem here is your data.
Annotation data from ArcMap needs to be upgraded in order to be editable and completely recognized within ArcGIS Pro. Use the "Upgrade Dataset" GP tool to accomplish this.
You can currently view the ArcMap annotation data in ArcGIS Pro, but if you jump to the "List by Editing" tab of the Contents pane you will see an exclamation point with a tooltip indicating the data is not editable.
Once the tool is run, ArcGIS Pro will recognize your data as annotation features.and your code will cast to AnnotationFeatures successfully.
But an important note. The Upgrade dataset GP tool will upgrade the feature class "in place". A copy is not made. Once the tool is run, the data can no longer be edited in ArcMap. So if having the data in ArcMap format is important to you then you should make a copy of it first and run the GP tool on the copy.
It is not possible to have annotation data editable in both ArcMap and Pro at the same time.
In addition, here's some helpful information on working with annotations in the ArcGIS Pro API.
https://github.com/Esri/arcgis-pro-sdk/wiki/ProConcepts-Editing-Annotation
Hope this helps
Narelle
Hi,
Here are some snippets relating to Annotations: ProSnippets: Annotation.
There is also a Concept doc available.
Thanks
Uma
Hello,
The problem here is your data.
Annotation data from ArcMap needs to be upgraded in order to be editable and completely recognized within ArcGIS Pro. Use the "Upgrade Dataset" GP tool to accomplish this.
You can currently view the ArcMap annotation data in ArcGIS Pro, but if you jump to the "List by Editing" tab of the Contents pane you will see an exclamation point with a tooltip indicating the data is not editable.
Once the tool is run, ArcGIS Pro will recognize your data as annotation features.and your code will cast to AnnotationFeatures successfully.
But an important note. The Upgrade dataset GP tool will upgrade the feature class "in place". A copy is not made. Once the tool is run, the data can no longer be edited in ArcMap. So if having the data in ArcMap format is important to you then you should make a copy of it first and run the GP tool on the copy.
It is not possible to have annotation data editable in both ArcMap and Pro at the same time.
In addition, here's some helpful information on working with annotations in the ArcGIS Pro API.
https://github.com/Esri/arcgis-pro-sdk/wiki/ProConcepts-Editing-Annotation
Hope this helps
Narelle
Thank you both for great sources and quick help! The Update Dataset GP tool command solved my problem!
Cheers
Petr