Skip to main content

Currently I have a schema mapping table stored on a ESRI Geodatabse table. Trying to use the SchemaMapper I found that the reader does not allow me to select the ESRI readers:

I tried to create a custom reader that connect to the ESRI Geodatabase, but the SchemaMapper does not recognize my custom reader neither.

what should I do in order to be able to extract the schema mapping table for the SchemaMapper from the geodatabase?, or how to enable the custom reader?

 

thanks

Hi @xtian79,

You could write the schema tabel into a csv with an initial workspace and then use it in the following workspace with the SchemaMapper.


Hi @xtian79,

You could write the schema tabel into a csv with an initial workspace and then use it in the following workspace with the SchemaMapper.

It would be possible to have the schema table in memory?


I tried it by selecting the Generic format in the SchemaMapper and then selecting a File Geodatabase, specifying the format in the Generic reader parameters. However, it looks like all columns except ObjectID are empty that way, so it's not useful... (I did doublecheck and read the same geodatabase through a regular generic reader and that did work fine).

I don't have ESRI software on this machine so I had to use the OpenAPI option, maybe it will work through ArcObjects. If not, I think @itay's suggestion is the best way to do it at the moment, although you may want to create an idea for the SchemaMapper to be able to use features in memory as a source.


It would be possible to have the schema table in memory?

I dont know if that is possible and it is also not something you use the SchemaMapper for.

Usually it is used to provide flexibility when mapping changes take place, if your mapping is not dynamic I would suggest looking into other ways to map.


I dont know if that is possible and it is also not something you use the SchemaMapper for.

Usually it is used to provide flexibility when mapping changes take place, if your mapping is not dynamic I would suggest looking into other ways to map.

when I say in memory, I mean to read the mapping in the workspace with one reader and then pass it to the SchemaMapper with out having to write it to the disk


when I say in memory, I mean to read the mapping in the workspace with one reader and then pass it to the SchemaMapper with out having to write it to the disk

You could probably write in to an attribute (in memory) but I dont see a way for the SchemaMapper to use it....