Question

Convert GML to ESRI GeoDatase failed


Badge +1

I try to convert the attached dataset into ESRI GeoDatabase It failed following message. But there is not duplicated fields in my dataset

Thanks

image 


12 replies

Userlevel 6
Badge +31

What is the field name it tries to create? The max field name length in a gdb is 64 characters, if it is longer it might be truncated? Also see File geodatabase size and name limits.

Also, the BADNEWS errors in the log are often displayed when the log level is set to Debug. I would only use that level when looking for something specific as most of the time these messages are confusing. You can change the log level under options, translation, log message filter.

Badge +2

@viviancfhung​ a lot depends on how you are reading your GML file. If you have an XSD file , then use that as the GML Application Schema on your OGC GML (Geography Markup Language) reader parameters. If you do not have the XSD file, then set Ignore Application Schema: Yes. Now you have to set the GML Feature Elements. Looking at your GML file, using "geodatastore" (you have to type that) seems to give a good result. If you are using a plan XML reader, then you get long names depending on what you select in Elements To Match (best result is again "geodatastore" )

 

Also, it might depend on whether you are using the Esri Geodatabase (File Geodb) Writer or the Esri Geodatabase (File Geodb Open API) writer.

 

But I think the OGC GML (Geography Markup Language) with GML Feature Elements: geodatastore will give you the results you want

Badge +1

@viviancfhung​ a lot depends on how you are reading your GML file. If you have an XSD file , then use that as the GML Application Schema on your OGC GML (Geography Markup Language) reader parameters. If you do not have the XSD file, then set Ignore Application Schema: Yes. Now you have to set the GML Feature Elements. Looking at your GML file, using "geodatastore" (you have to type that) seems to give a good result. If you are using a plan XML reader, then you get long names depending on what you select in Elements To Match (best result is again "geodatastore" )

 

Also, it might depend on whether you are using the Esri Geodatabase (File Geodb) Writer or the Esri Geodatabase (File Geodb Open API) writer.

 

But I think the OGC GML (Geography Markup Language) with GML Feature Elements: geodatastore will give you the results you want

no xsd, we use OGC GML + set ignore schema : yes , But we are using dynamic mode, so can't set GML Feature Elements.

We use Esri Geodatabase (File Geodb) Writer :

  • We failed. The reason should be line 412,413 and 414 in log file.

We use Esri Geodatabase (File Geodb Open API) writer

  • We failed. The reason is "esri GeometryPoint" not support

As a result we failed in all ways

Either Esri Geodatabase (File Geodb) Writer or Esri Geodatabase (File Geodb Open API) writer can be ok in my case.

But both of them are failed

 

Badge +1

What is the field name it tries to create? The max field name length in a gdb is 64 characters, if it is longer it might be truncated? Also see File geodatabase size and name limits.

Also, the BADNEWS errors in the log are often displayed when the log level is set to Debug. I would only use that level when looking for something specific as most of the time these messages are confusing. You can change the log level under options, translation, log message filter.

I know what's the bad news errors. But my problem are lines 412,413 and 414

Badge +2

no xsd, we use OGC GML + set ignore schema : yes , But we are using dynamic mode, so can't set GML Feature Elements.

We use Esri Geodatabase (File Geodb) Writer :

  • We failed. The reason should be line 412,413 and 414 in log file.

We use Esri Geodatabase (File Geodb Open API) writer

  • We failed. The reason is "esri GeometryPoint" not support

As a result we failed in all ways

Either Esri Geodatabase (File Geodb) Writer or Esri Geodatabase (File Geodb Open API) writer can be ok in my case.

But both of them are failed

 

@viviancfhung​  Without including the workspace or the log files it is hard to determine the error on line 412 etc.

I think FME is incorrectly mapping GML Y?N to a Boolean. If you can use an Geodb Template (gmldump.gdb in the attached) on your writer then you can fix the schema.

 

Badge +2

no xsd, we use OGC GML + set ignore schema : yes , But we are using dynamic mode, so can't set GML Feature Elements.

We use Esri Geodatabase (File Geodb) Writer :

  • We failed. The reason should be line 412,413 and 414 in log file.

We use Esri Geodatabase (File Geodb Open API) writer

  • We failed. The reason is "esri GeometryPoint" not support

As a result we failed in all ways

Either Esri Geodatabase (File Geodb) Writer or Esri Geodatabase (File Geodb Open API) writer can be ok in my case.

But both of them are failed

 

missing example

Badge +1

no xsd, we use OGC GML + set ignore schema : yes , But we are using dynamic mode, so can't set GML Feature Elements.

We use Esri Geodatabase (File Geodb) Writer :

  • We failed. The reason should be line 412,413 and 414 in log file.

We use Esri Geodatabase (File Geodb Open API) writer

  • We failed. The reason is "esri GeometryPoint" not support

As a result we failed in all ways

Either Esri Geodatabase (File Geodb) Writer or Esri Geodatabase (File Geodb Open API) writer can be ok in my case.

But both of them are failed

 

Thanks for your help,

I tried to open the gmldump.gdb from FME data inspector, But nothing found.

I tried by ArcgisPro and Qgis. Both of them can read any data from gmldump.gdb. This is same as my case

Userlevel 6
Badge +31

I think I now better understand your issue. FME is case sensitive, so a feature can have both columns Easting and EASTING.

 

But this is not allowed in the gdb, this causes to fail to write the featureclass.

So what you need to do is to change the column name Easting to EASTING and Northing to NORTHING.

How hard this is depends how your workspace is set up. (static or dynamic)

Badge +2

no xsd, we use OGC GML + set ignore schema : yes , But we are using dynamic mode, so can't set GML Feature Elements.

We use Esri Geodatabase (File Geodb) Writer :

  • We failed. The reason should be line 412,413 and 414 in log file.

We use Esri Geodatabase (File Geodb Open API) writer

  • We failed. The reason is "esri GeometryPoint" not support

As a result we failed in all ways

Either Esri Geodatabase (File Geodb) Writer or Esri Geodatabase (File Geodb Open API) writer can be ok in my case.

But both of them are failed

 

@viviancfhung​ gmldump.gdb is empty - it only has the geodatastore feature class, no data, and is the template file Geodb. The attached gmldumpDATA.gdb has the single point from your GML

Badge +1

I think I now better understand your issue. FME is case sensitive, so a feature can have both columns Easting and EASTING.

 

But this is not allowed in the gdb, this causes to fail to write the featureclass.

So what you need to do is to change the column name Easting to EASTING and Northing to NORTHING.

How hard this is depends how your workspace is set up. (static or dynamic)

Thanks, Yes, rename the column, then the problem disappeared.

 

 

Badge +1

no xsd, we use OGC GML + set ignore schema : yes , But we are using dynamic mode, so can't set GML Feature Elements.

We use Esri Geodatabase (File Geodb) Writer :

  • We failed. The reason should be line 412,413 and 414 in log file.

We use Esri Geodatabase (File Geodb Open API) writer

  • We failed. The reason is "esri GeometryPoint" not support

As a result we failed in all ways

Either Esri Geodatabase (File Geodb) Writer or Esri Geodatabase (File Geodb Open API) writer can be ok in my case.

But both of them are failed

 

Thanks, the fmw seems just work for this dataset and with the template

 

Badge +11

If anyone else is running into an issue with having to map boolean values other than 1 or 0 to smallint in the geodatabase writer, please see this thread for news on an update that addresses this issue for FME 2024 (in beta at the time of commenting).

Reply