Goal: Use the KLIC Transformer output to produce a FileGDB. I have used Esri Geodatabase (File Geodb Open API) as the writer.
What the workspace does: Reads raw KLIC output, Builds dynamic layer name, GeometryValidator → GeometryCoercer, AttributeKeeper keeps only required attributes, (Latest attempt) GeometryFilter to keep only Line geometry to avoid mixed-geometry, FileGDB FeatureWriter with Feature Class or Table Name = dynamic layer name, Dynamic Schema Definition = OFF, Table Handling = Create If Needed (sometimes Overwrite If Exists while testing), No dynamic schema port connected.
What happens: Translation reports success, In the output GDB, I get only one feature class (the first encountered). For all other values in the dynamic layer name field, the writer logs warnings and doesn’t create those classes.
What I’ve tried: Narrowed the schema with AttributeKeeper. Verified in an Inspector that dynamic layer name field has many correct, distinct values (not just one). Deleted the output GDB between runs and refreshed ArcGIS Pro. Tried filtering to Line only (GeometryFilter) to avoid mixed geometry per layer. Earlier I hit the classic FileGDB “The field already exists” error due to auto-renaming collisions, which AttributeKeeper resolved. Current blocker is only one class created, others rejected with geometry/schema warnings.
Questions
-
With dynamic per-feature table names and Dynamic Schema OFF, is the FileGDB Writer expected to create multiple feature classes on the fly, or do I need to supply a dynamic schema (Schema port)?
-
If dynamic schema is required, is this the correct pattern?
-
SchemaScanner (Group By = dynamic layer name attribute, Scan Mode = Union/First Feature) → connect its Schema output to the writer’s schema port, and the line-only data stream to the main writer port
-
-
Alternatively, is it better practice to avoid the schema port and instead encode geometry into the name, so each feature class is guaranteed a single geometry type?
-
Any FileGDB-specific gotchas here that explain why only the first class is created and the rest are rejected?