Skip to main content

Although the IMDF writer has a fixed schema, the option to copy attributes from another feature class is still available and will preform the action. However, when I try to copy attributes from any other dataset or feature type in the reader, they will appear as being added, but when running, they do not appear in the GeoJSON. Does there need to be some other process that will tell the IMDF writer to accept these attributes?

Hi @graceembree01​,

The IMDF schema is fixed, but it is controlled by csv file located in FME\\plugins\\imdf. If you can let me know what additions you want to the IMDF schema, I can try incorporating them into the CSV file for you.


Hi @graceembree01​,

The IMDF schema is fixed, but it is controlled by csv file located in FME\\plugins\\imdf. If you can let me know what additions you want to the IMDF schema, I can try incorporating them into the CSV file for you.

@daveatsafe (Safer)​ Is the process of additions as simple as editing that .csv? There are multiple additions that my organization will need and this will likely evolve over time so I would love to know how to do this on my own!


@daveatsafe (Safer)​ Is the process of additions as simple as editing that .csv? There are multiple additions that my organization will need and this will likely evolve over time so I would love to know how to do this on my own!

Hi @graceembree01​,

I think so, but I would like to test it to be sure. I can make the first set of changes to .csv, then test it to make sure it works correctly, especially with attributes that require a language tag. If all goes well, I will create an instruction doc for users.


@daveatsafe (Safer)​ Is the process of additions as simple as editing that .csv? There are multiple additions that my organization will need and this will likely evolve over time so I would love to know how to do this on my own!

@daveatsafe​ At the moment the simplest addition that I'd like to have would be to add an attribute to the openings feature type called "incline" with a string value that could accept the values of either "top" or "bottom", or adding an attribute to the fixtures feature type called "fixture_type" with a string value. Thank you for your help!


@daveatsafe (Safer)​ Is the process of additions as simple as editing that .csv? There are multiple additions that my organization will need and this will likely evolve over time so I would love to know how to do this on my own!

Hi @graceembree01​,

Please try the attached csv file. Before copying it to FME\\plugins\\imdf, rename the existing .csv to .backup, so you can revert if needed. FME currently will not fill in the extensions attribute on the manifest feature, but you can edit that after creating the file in any text editor.


@daveatsafe (Safer)​ Is the process of additions as simple as editing that .csv? There are multiple additions that my organization will need and this will likely evolve over time so I would love to know how to do this on my own!

@daveatsafe​ Thank you, I will try this and let you know how it goes! If I need to add any other attributes, would I be able to simply edit this .csv and copy it into FME\\plugins\\imdf?


@daveatsafe (Safer)​ Is the process of additions as simple as editing that .csv? There are multiple additions that my organization will need and this will likely evolve over time so I would love to know how to do this on my own!

@graceembree01​, as long as the new attributes are basic enumerations or strings, you can just add an entry in the CSV. If the attribute requires a language code, it might be a bit trickier.


@daveatsafe​ I was working through the process you described above after adding in additional attribute, and it does not seem to be working quite right. I am using FME through the Arc Pro data interoperability plugin, so would there be any additional file manipulation that needs to happen ?


@daveatsafe​ I was working through the process you described above after adding in additional attribute, and it does not seem to be working quite right. I am using FME through the Arc Pro data interoperability plugin, so would there be any additional file manipulation that needs to happen ?

For Interop, the csv files would be in the folder C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\plugins\\imdf. Otherwise, I don't think there should be any difference.


For Interop, the csv files would be in the folder C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\plugins\\imdf. Otherwise, I don't think there should be any difference.

I was able to find the file and copy it over and change the original to a backup file, but when I try to add a writer when using the program it fails to add the writer at all. in the Translation log the only message it get is this "Workspace generation failed. Parameter file was C:\\Users\\Grace\\AppData\\Local\\Temp\\FME_1676566099524_24448."


For Interop, the csv files would be in the folder C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\plugins\\imdf. Otherwise, I don't think there should be any difference.

The error that seems to terminate when trying to add the writer is "IMDF reader: invalid feature type direction"


For Interop, the csv files would be in the folder C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\plugins\\imdf. Otherwise, I don't think there should be any difference.

Would you mind sharing a copy of your .csv file? I would like to try to reproduce the problem.


For Interop, the csv files would be in the folder C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\plugins\\imdf. Otherwise, I don't think there should be any difference.

There were a lot of excess commas in the edited file. Please try this cleaned up version:


For Interop, the csv files would be in the folder C:\\Program Files\\ArcGIS\\Data Interoperability for ArcGIS Pro\\plugins\\imdf. Otherwise, I don't think there should be any difference.

Interesting that the commas were added, it may have something to do with the csv reader that I used to edit and save the file. Thank you for your help that worked!


Reply