Skip to main content

I have an ESRI database containing several type of Feature : geomoetric (points, lines, and polygones) and non geometric feature. I would like to know if it was possible to apply a transformers (ReframeReprojection) to this Reader and get the transformed geodatabase as Writer with the same structure than the first one?

Thanks in advance,

Arnaud

 

It is possible using dynamic schema.

This is a pretty detailed tutorial that is very close to your question:

https://knowledge.safe.com/articles/1157/dynamic-workflow-tutorial-destination-schema-as-a.html


This procedure seems to works perfectly, but one problem remains, all the feature which were not affected by the transformers (ie the non geoémetric feature) are not in the new database. I still can copy/paste these features from my first database but is it possible to keep them by using the dynamic workflow?


the features (feature classes) going through a dynamic transformation, are controlled by the feature types to read parameter onset the reader parameters in the navigator window. Are the non spatial features selected or available in the parameter?


i'm sorry i made a mistake, in fact it was not the non geometric features which were not read/affected by the transfomation but the empty features, even if these features are empty i still want to keep them to save the general structure of the database. Is there a way to keep the empty features after using a dynamic transformation?


FME is driven by features, so when there are no features, nothing happens. That's why empty input tables aren't written in the output dataset.

There are a couple of workarounds in this previous answer, however:

https://knowledge.safe.com/questions/21606/force-table-creation-if-table-is-empty.html


Thanks for the link to this old post but the using of dynamic schema suggest that I need to use SQL to write a feature in my empty tables and then delete it, but SQL Creator and SQL Executor do not support ESRI GeoDatabase.


You could try using a template XML for your target db to create te empty tables.


I have the empty version of the Geodatabase that i want to obtain with the transformers (ReframeReprojection). I tried to use it in 2 different ways in the Writer's parameters:

1) Use it as a template File Geodatabase

2) Export its structure from ArcCatag in XML format and use it as a XML Workspacedocument

For each method it worked on the beginning of my geodatabase but then i got the following error :

The error number from ArcObjects is: '-2147216556'. The error message from ArcObjects is: {Objects in this class can not be updated outside of a session}

But I can't open an updating session on an object that I did not create...


I have the empty version of the Geodatabase that i want to obtain with the transformers (ReframeReprojection). I tried to use it in 2 different ways in the Writer's parameters:

1) Use it as a template File Geodatabase

2) Export its structure from ArcCatag in XML format and use it as a XML Workspacedocument

For each method it worked on the beginning of my geodatabase but then i got the following error :

The error number from ArcObjects is: '-2147216556'. The error message from ArcObjects is: {Objects in this class can not be updated outside of a session}

But I can't open an updating session on an object that I did not create...

strange...consider opening a support at http://www.safe.com/support/

 

 


I have the empty version of the Geodatabase that i want to obtain with the transformers (ReframeReprojection). I tried to use it in 2 different ways in the Writer's parameters:

1) Use it as a template File Geodatabase

2) Export its structure from ArcCatag in XML format and use it as a XML Workspacedocument

For each method it worked on the beginning of my geodatabase but then i got the following error :

The error number from ArcObjects is: '-2147216556'. The error message from ArcObjects is: {Objects in this class can not be updated outside of a session}

But I can't open an updating session on an object that I did not create...

Try setting "Transaction type" to "Edit session"

Reply