Solved

What geodatabase version does a FeatureWriter in FME 2023.2 produce when the version parameter is set to "Current?"

  • 9 January 2024
  • 8 replies
  • 11 views

Badge +1

I am running FME 2023.2 and have a dynamic workspace that is creating a File Geodatabase (FGDB) with a FeatureWriter, and I am running against ArcGIS Pro 3.2. Recently, I have wanted to access some annotation class properties in that GDB, but I find that I cannot access them. ArcGIS Pro says that the FGDB is version 10.0 and that I need to upgrade the FGDB to the latest version to activate those properties. I looked at the log for the last run that built the FGDB, and I see "Created and connected to the ArcGIS 10.0 File Geodatabase at '[Location]\\template_General_Prod.gdb'" I checked the FeatureReader geodatabase version parameter, and it is set to "Current." So, ArcGIS Pro is telling me that there is a later FGDB version than 10.0, while FME, though set to "Current," is creating a 10.0 version FGDB.

 

I am confused. Can FME only create a maximum 10.0 FGDB version, or is there actually no later FGDB version ... or is something else going on?

 

icon

Best answer by debbiatsafe 16 January 2024, 22:24

View original

8 replies

Userlevel 2
Badge +17

Hello @tcrossman​ 

What message are you seeing in ArcGIS Pro when viewing annotation feature class properties? If the message is "The feature class is from an earlier release. Upgrade the dataset to edit its properties.", it may be related to an annotation feature class being read-only in Pro as it is not a Pro annotation. Pro annotations can be created by setting the Geometry parameter in the Geodatabase writer feature type to geodb_pro_annotation.

image

Badge +1

Hello @tcrossman​ 

What message are you seeing in ArcGIS Pro when viewing annotation feature class properties? If the message is "The feature class is from an earlier release. Upgrade the dataset to edit its properties.", it may be related to an annotation feature class being read-only in Pro as it is not a Pro annotation. Pro annotations can be created by setting the Geometry parameter in the Geodatabase writer feature type to geodb_pro_annotation.

image

Thank you so much, @debbiatsafe​. That is, of course, exactly what is going on. What my workspace is doing is dynamically building template (unpopulated) geodatabases from schema features. Accordingly, in the FeatureWriter in question, the Geometry Parameter is set to "From Schema Definition." That is required for the dynamic write. So, I have a couple of questions in follow-up:

  • To implement the Pro annotation in this case, can I set the geodb_type attribute for annotation feature types (currently set to geodb_polygon) to geodb_pro_annotation to accomplish the same thing as you describe above?
  • If so, is there any format attribute or other means during processing to access and uncheck the "Annotation created with new features" checkbox property in the Annotation Feature Class Properties of the annotation schema features? It would be less error prone and certainly more convenient for the workflow not to have to go into each annotation feature class after the FGDBs are built to uncheck that property manually (and I do have to have it unchecked before loading features, but that's another story).
Badge +1

Thank you so much, @debbiatsafe​. That is, of course, exactly what is going on. What my workspace is doing is dynamically building template (unpopulated) geodatabases from schema features. Accordingly, in the FeatureWriter in question, the Geometry Parameter is set to "From Schema Definition." That is required for the dynamic write. So, I have a couple of questions in follow-up:

  • To implement the Pro annotation in this case, can I set the geodb_type attribute for annotation feature types (currently set to geodb_polygon) to geodb_pro_annotation to accomplish the same thing as you describe above?
  • If so, is there any format attribute or other means during processing to access and uncheck the "Annotation created with new features" checkbox property in the Annotation Feature Class Properties of the annotation schema features? It would be less error prone and certainly more convenient for the workflow not to have to go into each annotation feature class after the FGDBs are built to uncheck that property manually (and I do have to have it unchecked before loading features, but that's another story).

BTW, I tried setting geodb_type to geodb_pro_annotation, as I asked about in the first bulleted question above. When I look at the Annotation Feature Class Properties of an annotation feature class in the resulting FGDBs, this is what I see:

imageI get the warning message that the annotation feature class was created in ArcGIS Desktop and that I have to upgrade the "dataset" [quotes added], whatever is meant by the "dataset," to edit its properties. Also, the "Annotation created with new features" property isn't even shown, let alone editable. So, it looks like "simply" setting geodb_type to geodb_pro_annotation does not accomplish what I am after. There is more to it than that, if my desired outcome is even possible.

Badge +1

Thank you so much, @debbiatsafe​. That is, of course, exactly what is going on. What my workspace is doing is dynamically building template (unpopulated) geodatabases from schema features. Accordingly, in the FeatureWriter in question, the Geometry Parameter is set to "From Schema Definition." That is required for the dynamic write. So, I have a couple of questions in follow-up:

  • To implement the Pro annotation in this case, can I set the geodb_type attribute for annotation feature types (currently set to geodb_polygon) to geodb_pro_annotation to accomplish the same thing as you describe above?
  • If so, is there any format attribute or other means during processing to access and uncheck the "Annotation created with new features" checkbox property in the Annotation Feature Class Properties of the annotation schema features? It would be less error prone and certainly more convenient for the workflow not to have to go into each annotation feature class after the FGDBs are built to uncheck that property manually (and I do have to have it unchecked before loading features, but that's another story).

OK, my bad. I had an errant flow structure in my workspace; however, even with that problem eliminated, the setting of geodb_type to geodb_pro_annotation leaves me back where I was:

imageFME still seems to be building Desktop FGDBs, and the "Annotation created with new features" property isn't editable in Pro. I have the Esri ArcGIS Compatibility parameter set to Esri ArcGIS Server/ArcGIs Pro and the Python Compatibility set to Esri ArcGIS Python 3.9 (not that the latter should have any bearing). Would setting the ArcGIS Compatibility to Auto have any different effect? (I ask only because running the workspace to test it would take 20+ minutes.) Also, the translation log says that the installed ArcGIS version is 3.2 and that Python 3.9 was successfully loaded. When the warning message above says "Upgrade the dataset ...," what does it mean by "dataset?" I am back to thinking that FME cannot write Pro GDBs or Pro annotation feature classes.

Badge +1

Thank you so much, @debbiatsafe​. That is, of course, exactly what is going on. What my workspace is doing is dynamically building template (unpopulated) geodatabases from schema features. Accordingly, in the FeatureWriter in question, the Geometry Parameter is set to "From Schema Definition." That is required for the dynamic write. So, I have a couple of questions in follow-up:

  • To implement the Pro annotation in this case, can I set the geodb_type attribute for annotation feature types (currently set to geodb_polygon) to geodb_pro_annotation to accomplish the same thing as you describe above?
  • If so, is there any format attribute or other means during processing to access and uncheck the "Annotation created with new features" checkbox property in the Annotation Feature Class Properties of the annotation schema features? It would be less error prone and certainly more convenient for the workflow not to have to go into each annotation feature class after the FGDBs are built to uncheck that property manually (and I do have to have it unchecked before loading features, but that's another story).

Let me ask a direct question: Given that I cannot change the Geometry parameter in the FeatureWriter from "From Schema Definition" to "geodb_pro_annotation," what format attributes do I set--and to what values--to acheive the same thing as changing the Geometry parameter? I have geodb_type (set to geodb_pro_annotation) and fme_type (set to fme_no_geom) currently present, but I could add and set any other necessary ones.

Badge +1

Thank you so much, @debbiatsafe​. That is, of course, exactly what is going on. What my workspace is doing is dynamically building template (unpopulated) geodatabases from schema features. Accordingly, in the FeatureWriter in question, the Geometry Parameter is set to "From Schema Definition." That is required for the dynamic write. So, I have a couple of questions in follow-up:

  • To implement the Pro annotation in this case, can I set the geodb_type attribute for annotation feature types (currently set to geodb_polygon) to geodb_pro_annotation to accomplish the same thing as you describe above?
  • If so, is there any format attribute or other means during processing to access and uncheck the "Annotation created with new features" checkbox property in the Annotation Feature Class Properties of the annotation schema features? It would be less error prone and certainly more convenient for the workflow not to have to go into each annotation feature class after the FGDBs are built to uncheck that property manually (and I do have to have it unchecked before loading features, but that's another story).

Update: So, the geodatabase produced from my schema features is in latest-ArcGIS-release format; it can't be upraded further (according to the attempt to use the Upgrade Geodatabase tool in ArcGIS Pro 3.2). The annotation feature classes, however, produced with geodb_type set to geodb_pro_annotation, is ArcGIS Desktop annotation. I used the Upgrade Dataset tool in ArcGIS Pro to upgrade the test annotation dataset. The result is that the annotation is now Pro annotation, and the "Annotation created with new features" annotation feature class attribute is now editable. I ran this upgraded data through a FeatureWriter to inspect the schema, and the relevant format attributes are: geodb_type=geodb_pro_annotation, fme_type=fme_no_geom, and fme_geometery{0}=fme_text. I then checked my input schema features for building the GDBs, and the latter format attributes are all set as indicated. Conclusion: FME is incapable of creating unpopulated ArcGIS Pro annotation feature classes, at least from schema features. Please tell me I am incorrect ... or (sigh) confirm that I am correct.

Userlevel 2
Badge +17

Thank you so much, @debbiatsafe​. That is, of course, exactly what is going on. What my workspace is doing is dynamically building template (unpopulated) geodatabases from schema features. Accordingly, in the FeatureWriter in question, the Geometry Parameter is set to "From Schema Definition." That is required for the dynamic write. So, I have a couple of questions in follow-up:

  • To implement the Pro annotation in this case, can I set the geodb_type attribute for annotation feature types (currently set to geodb_polygon) to geodb_pro_annotation to accomplish the same thing as you describe above?
  • If so, is there any format attribute or other means during processing to access and uncheck the "Annotation created with new features" checkbox property in the Annotation Feature Class Properties of the annotation schema features? It would be less error prone and certainly more convenient for the workflow not to have to go into each annotation feature class after the FGDBs are built to uncheck that property manually (and I do have to have it unchecked before loading features, but that's another story).

Hello @tcrossman​ 

You are correct in that when a dynamic geodatabase writer receives a text feature, it is automatically mapped to the geodb_annotation geometry type. It does not matter if the feature's geometry_type attribute is already set to geodb_pro_annotation or not. This is incorrect and I will be filing a bug report to get this fixed.

I was able to find a workaround by routing any text features to a specific feature type in the dynamic FeatureWriter where the Geometry parameter is set to geodb_pro_annotation. Everything else remains dynamic. I have attached an example of this workflow to this post. Hopefully it will work for your use case in the meantime.

Badge +1

Thank you so much, @debbiatsafe​. That is, of course, exactly what is going on. What my workspace is doing is dynamically building template (unpopulated) geodatabases from schema features. Accordingly, in the FeatureWriter in question, the Geometry Parameter is set to "From Schema Definition." That is required for the dynamic write. So, I have a couple of questions in follow-up:

  • To implement the Pro annotation in this case, can I set the geodb_type attribute for annotation feature types (currently set to geodb_polygon) to geodb_pro_annotation to accomplish the same thing as you describe above?
  • If so, is there any format attribute or other means during processing to access and uncheck the "Annotation created with new features" checkbox property in the Annotation Feature Class Properties of the annotation schema features? It would be less error prone and certainly more convenient for the workflow not to have to go into each annotation feature class after the FGDBs are built to uncheck that property manually (and I do have to have it unchecked before loading features, but that's another story).

Thank you, @debbiatsafe​. I did implement your workaround above, but I still get only Desktop annotation. At least annotation builds. Earlier, I had implemented writing the annotation feature classes out in a separate FeatureWriter with Geometry set to geodb_pro_annotation, and no annotation feature classes built at all. Consequently, when the PythonCaller to apply relationships got to my one feature-linked annotation feature class, the workspace failed, saying that the feature class didn't exist ... which it didn't.

 

Thanks for submitting the bug report, and I will just live with the manual upgrade/property edit process for now.

Reply