Question

How to dynamically create Arcsde Feature Class with domains and dynamic feature class names?

  • 20 December 2019
  • 4 replies
  • 0 views

Badge

Hi

I need to create in dynamic way ESRI Feature Class with domains fields. Feature Class names are dynamic so there is a problem to use XML schema template which defines only one, static feature class.

I cant also import schema to Writer because FME do not import domains field definitions (am I right?) so when FME create new FC I don't get domain fields.

Thanks for any suggestions


4 replies

Badge +2

@arekpierchala I don't think FME can do this on it's own. My guess would be that you'll have to develop some arcpy to create the domains after you have written the data. Possibly a combination of FeatureWriter and PythonCaller. You'll have to accumulate a list of the unique values for each domain attribute using the DuplicateFilter & Aggregator (Attributes to Concatenate)

Badge +8

Maybe @mmccart might have an idea?

Badge

@arekpierchala I don't think FME can do this on it's own. My guess would be that you'll have to develop some arcpy to create the domains after you have written the data. Possibly a combination of FeatureWriter and PythonCaller. You'll have to accumulate a list of the unique values for each domain attribute using the DuplicateFilter & Aggregator (Attributes to Concatenate)

I've done some tests with XML template of FC definition. Its simple Python to replace FC name in XML, but there is a problem to replace Coordinate System definition in XML. In my outputs each different feature class need to have different coord sys :(

Badge +2

I've done some tests with XML template of FC definition. Its simple Python to replace FC name in XML, but there is a problem to replace Coordinate System definition in XML. In my outputs each different feature class need to have different coord sys :(

Not sure if this would make it less dynamic, but have you tried handling the coordinate system portion using Conditional Values in the CoordinateSystemSetter (or Reprojector if you are reprojecting)?

Reply