Skip to main content

Hello FME Community,

I'm currently working on a project that involves a large number of subdomains and domains, and I have my data available in table format. I'm looking for guidance on how to organize this data into a geodatabase (GDB) using FME, while adhering to domain conventions.

Specifically, I would like to know:

  1. How can I create subdomains within a GDB using FME?
  2. What steps are involved in defining domains for attributes within the GDB?
  3. Are there any best practices or recommended workflows for organizing subdomains and domains efficiently?

Any insights, tips, or examples would be greatly appreciated. Thank you in advance for your help!

Best regards,

Vishnu N V

Have a look at the article Working with Geodatabase Subtypes: Writing A Subtype

You can find this and other articles when you search the Knowledge Base.


Thank you for your reply. I've already been watching, But my requirement is to create a new subtype domain from scratch. I don't have any sample subtype domain geodatabase available; I only have table data.


I don’t think FME can natively create a new Domain or Subtype (someone correct me if i’m wrong).

I’d suggest you use ArcPy in a PythonCaller to create them

https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/create-domain.htm
https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/add-subtype.htm


Thank you for your reply. I don't have any experience with arcpy or PythonCaller. Do you have any ideas on how to manage and implement the code in PythonCaller?. My current requirement is to create 10,000 subtypes for a list of corresponding 1,500 types in a single or multiple geodatabases.


Thank you for your reply. I don't have any experience with arcpy or PythonCaller. Do you have any ideas on how to manage and implement the code in PythonCaller?. My current requirement is to create 10,000 subtypes for a list of corresponding 1,500 types in a single or multiple geodatabases.

There is nothing out of the box to create file geodatabases with domains and subtypes. You will have to study the esri documentation and learn to implement that in a workbench using PythonCallers.

I found a workspace template on the FME hub which creates a file geodatabase with domains from excel input, but no subtypes. It also is from 2017… What you want to do might be complex to build, not something I would advise to start with learning FME.


Thank you for your reply. I don't have any experience with arcpy or PythonCaller. Do you have any ideas on how to manage and implement the code in PythonCaller?. My current requirement is to create 10,000 subtypes for a list of corresponding 1,500 types in a single or multiple geodatabases.

There is nothing out of the box to create file geodatabases with domains and subtypes. You will have to study the esri documentation and learn to implement that in a workbench using PythonCallers. This is may easier nowadays with ChatGPT / AI assistant in FME.

I found a workspace template on the FME hub which creates a file geodatabase with domains from excel input, but no subtypes. It also is from 2017… What you want to do might be complex to build, not something I would advise to start with learning FME.

I cannot link to the FME hub, but you can google it. Search “for Create_empty_FGDB” + FME hub


Agree with @nielsgerrits on ChatGPT being a great starting place for things like this!!
https://chat.openai.com/share/315bc0a3-3bbe-4308-b47e-f75d5ce45f7d

In regards to FME and ArcPy/Python here are some documents/discussions on it:


Agree with @nielsgerrits on ChatGPT being a great starting place for things like this!!
https://chat.openai.com/share/315bc0a3-3bbe-4308-b47e-f75d5ce45f7d

In regards to FME and ArcPy/Python here are some documents/discussions on it:

Also, in FME 2023, in the PythonCaller, you can ask the AI assistant to generate PythonCaller implemented code to create a new file geodatabase. You can just work from there, creating a featureclass, creating attributes, creating domains and subtypes, assign these to the attributes. It is a lot of work, but is now easier than ever before.


Reply