Skip to main content

Please can you tell me how i do this?

I don't think you can prevent it capitalising words, so you'll have to adjust it after. It's not a perfect solution, but you can undo the capitalisation of those worlds with a StringPairReplacer with:

\\ And\\ \\ and\\ \\ Of\\ \\ of\\ \\ Or\\ \\ or\\ 

the \\ escapes spaces, so it's replacing <space>And<space> with <space>and<space>. Normally this wouldn't work because of commas and other punctuation around words, but you might be able to get away with it.


I don't think you can prevent it capitalising words, so you'll have to adjust it after. It's not a perfect solution, but you can undo the capitalisation of those worlds with a StringPairReplacer with:

\ And\ \ and\ \ Of\ \ of\ \ Or\ \ or\ 

the \ escapes spaces, so it's replacing <space>And<space> with <space>and<space>. Normally this wouldn't work because of commas and other punctuation around words, but you might be able to get away with it. 

I tried adding this but it generated 26 errors. 

imageIt appears to take exception to every attribute in the dataset, rather than just focussing on the fme_feature_type value specified in the StringPairReplacer. These are the 26 errors:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Feature Type: `StringPairReplacer_OUTPUT'
Attribute(string: UTF-8) : `DIVISION' has value `2'
Attribute(string: UTF-8) : `DIVISION_alias' has value `Division'
Attribute(32 bit integer): `REACH' has value `2'
Attribute(string: UTF-8) : `REACH_alias' has value `Reach'
Attribute(string: UTF-8) : `RIVER' has value `Rhymney'
Attribute(string: UTF-8) : `SHAPEFILE_TYPE' has value `shapefile_polygon'
Attribute(64 bit real)   : `SHAPE_AREA' has value `5813.21933263'
Attribute(64 bit real)   : `SHAPE_LENG' has value `384.913033824'
Attribute(string: UTF-8) : `fme_feature_type' has value `Rhymney_Backwater_Wetland_And_Wet_Woodland_Creation
'
Attribute(string: UTF-8) : `fme_geometry' has value `fme_polygon'
Attribute(string: UTF-8) : `fme_type' has value `fme_area'
Attribute(string: UTF-8) : `geodb_feature_class_alias' has value `RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION'
Coordinate System: `_OSGB-GPS-2015-OSTN15_0'
Geometry Type: IFMEPolygon
Name(UTF-8): `shapefile'
Boundary:
   Geometry Type: IFMELine
   Number of Coordinates: 12 -- Coordinate Dimension: 2
   (315370.5318999998,196649.5253999997)(315380.60500000045,196548.55819999985)(315404.86209999956,196505.69600000046)(315400.3875000002,196489.21050000004)(315386.25710000005,196480.02580000088)
   (315366.51999999955,196485.49000000022)(315344.57239999995,196527.12710000016)(315340.0848000003,196592.63819999993)(315340.5075000003,196600.52889999934)(315341.84609999973,196609.82870000042)
   (315346.15110000037,196622.3509999998)(315370.5318999998,196649.5253999997)
===========================================================================
StringPairReplacer (TeeFactory): StringPairReplacer: @Tcl2 -- failed to evaluate expression `StringPairReplacer_7ff7c7b7_b72b_4bdd_b766_b3a9b991dd123_replace' -- char map list unbalanced

Any idea why this would be happening?


Try the following code in a PythonCaller:

import fme
import fmeobjects
 
class TitleCaseWithExceptions(object):
 
    def __init__(self):
        pass
 
    def input(self, feature):
        title = feature.getAttribute('my_text') or ''
        exceptions = 'and of or'.split(' ')
    
        title_case = ' '.join(x.title() if nm==0 or not x in exceptions else x for nm,x in enumerate(title.split(' ')))
        
        feature.setAttribute('my_text', title_case)
        self.pyoutput(feature)
 
    def close(self):
        pass

You can modify the exceptions on line 11. The function will assume the title is held in the attribute my_text, but you can easily change this on lines 10 and 15.

Sample input: a man and his dog out of this world or space

Sample output: A Man and His Dog Out of This World or Space

 

Based on https://stackoverflow.com/a/34779072


Try the following code in a PythonCaller:

import fme
import fmeobjects
 
class TitleCaseWithExceptions(object):
 
    def __init__(self):
        pass
 
    def input(self, feature):
        title = feature.getAttribute('my_text') or ''
        exceptions = 'and of or'.split(' ')
    
        title_case = ' '.join(x.title() if nm==0 or not x in exceptions else x for nm,x in enumerate(title.split(' ')))
        
        feature.setAttribute('my_text', title_case)
        self.pyoutput(feature)
 
    def close(self):
        pass

You can modify the exceptions on line 11. The function will assume the title is held in the attribute my_text, but you can easily change this on lines 10 and 15.

Sample input: a man and his dog out of this world or space

Sample output: A Man and His Dog Out of This World or Space

 

Based on https://stackoverflow.com/a/34779072

Hello David_r

 

Python Compatibility: ESRI ArcGIS Python 3.7

This resulted in ArcObjects error -2147220654

An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. eRHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
PythonFactory output feature was rejected downstream. Check the logfile above for details
An error has occurred. Check the logfile above for details
Error encountered while calling method `input'
PythonCaller (PythonFactory): PythonFactory failed to process feature

Here is an excerpt from the log file:

2023-07-03 11:14:21|   0.9|  0.0|INFORM|Writer `GEODATABASE_FILE_2' of type `GEODATABASE_FILE' using group definition keyword `GEODATABASE_FILE_2_DEF'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|An ArcGIS license is already checked out. The product checked out is 'Standard'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|Installed ArcGIS version is '2.9.6'
2023-07-03 11:14:22|   0.9|  0.0|INFORM|Deleted the existing File Geodatabase 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.3|INFORM|Created and connected to the ArcGIS 10.0 File Geodatabase at 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Fast deletes enabled
2023-07-03 11:14:33|   1.2|  0.0|INFORM|The 'HAS_Z_VALUES' keyword is set to 'AUTO_DETECT'. With the exception of MultiPatch feature classes, the dimensionality of new feature classes will be based on the first feature written to the feature class. (Features with no geometry are considered 2D)
2023-07-03 11:14:33|   1.2|  0.0|INFORM|A default z-value of '0' will be used for all 3D features where z-values are not provided
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Esri Geodatabase Writer: Not simplifying geometries being written
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Transactions are being used by the Esri Geodatabase Writer
2023-07-03 11:14:37|   1.6|  0.4|INFORM|Esri Geodatabase Writer: Creating feature type `RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid.  RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
2023-07-03 11:14:37|   1.6|  0.0|ERROR |GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonFactory output feature was rejected downstream. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |Error encountered while calling method `input'
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonCaller (PythonFactory): PythonFactory failed to process feature
2023-07-03 11:14:37|   1.6|  0.0|STATS |GeodatabaseRelationshipFeaturesPipeline::GeodatabaseRelationshipFeatures (SortFactory): Finished sorting a total of 0 features.
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Transaction #1 rolled back. Rerun translation specifying transaction #0 for the keyword 'TRANSACTION'
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Closing the Esri Geodatabase writer
2023-07-03 11:14:37|   1.6|  0.0|INFORM|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Feature output statistics for `GEODATABASE_FILE' writer using keyword `GEODATABASE_FILE_2':
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |                               Features Written
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
2023-07-03 11:14:37|   1.6|  0.0|STATS |                         1
2023-07-03 11:14:37|   1.6|  0.0|STATS |==============================================================================
2023-07-03 11:14:37|   1.6|  0.0|STATS |Total Features Written                                                       1
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Path Reader: Closing the PATH Reader
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Translation FAILED with 6 error(s) and 0 warning(s) (1 feature(s) output)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|FME Session Duration: 19.1 seconds. (CPU: 0.6s user, 1.0s system)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|END - ProcessID: 1588, peak process memory usage: 219860 kB, current process memory usage: 213608 kB

 


Hello David_r

 

Python Compatibility: ESRI ArcGIS Python 3.7

This resulted in ArcObjects error -2147220654

An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. sRHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
PythonFactory output feature was rejected downstream. Check the logfile above for details
An error has occurred. Check the logfile above for details
Error encountered while calling method `input'
PythonCaller (PythonFactory): PythonFactory failed to process feature

Here is an excerpt from the log file:

2023-07-03 11:14:21|   0.9|  0.0|INFORM|Writer `GEODATABASE_FILE_2' of type `GEODATABASE_FILE' using group definition keyword `GEODATABASE_FILE_2_DEF'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|An ArcGIS license is already checked out. The product checked out is 'Standard'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|Installed ArcGIS version is '2.9.6'
2023-07-03 11:14:22|   0.9|  0.0|INFORM|Deleted the existing File Geodatabase 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.3|INFORM|Created and connected to the ArcGIS 10.0 File Geodatabase at 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Fast deletes enabled
2023-07-03 11:14:33|   1.2|  0.0|INFORM|The 'HAS_Z_VALUES' keyword is set to 'AUTO_DETECT'. With the exception of MultiPatch feature classes, the dimensionality of new feature classes will be based on the first feature written to the feature class. (Features with no geometry are considered 2D)
2023-07-03 11:14:33|   1.2|  0.0|INFORM|A default z-value of '0' will be used for all 3D features where z-values are not provided
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Esri Geodatabase Writer: Not simplifying geometries being written
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Transactions are being used by the Esri Geodatabase Writer
2023-07-03 11:14:37|   1.6|  0.4|INFORM|Esri Geodatabase Writer: Creating feature type `RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. /RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
2023-07-03 11:14:37|   1.6|  0.0|ERROR |GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonFactory output feature was rejected downstream. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |Error encountered while calling method `input'
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonCaller (PythonFactory): PythonFactory failed to process feature
2023-07-03 11:14:37|   1.6|  0.0|STATS |GeodatabaseRelationshipFeaturesPipeline::GeodatabaseRelationshipFeatures (SortFactory): Finished sorting a total of 0 features.
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Transaction #1 rolled back. Rerun translation specifying transaction #0 for the keyword 'TRANSACTION'
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Closing the Esri Geodatabase writer
2023-07-03 11:14:37|   1.6|  0.0|INFORM|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Feature output statistics for `GEODATABASE_FILE' writer using keyword `GEODATABASE_FILE_2':
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |                               Features Written
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
2023-07-03 11:14:37|   1.6|  0.0|STATS |                         1
2023-07-03 11:14:37|   1.6|  0.0|STATS |==============================================================================
2023-07-03 11:14:37|   1.6|  0.0|STATS |Total Features Written                                                       1
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Path Reader: Closing the PATH Reader
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Translation FAILED with 6 error(s) and 0 warning(s) (1 feature(s) output)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|FME Session Duration: 19.1 seconds. (CPU: 0.6s user, 1.0s system)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|END - ProcessID: 1588, peak process memory usage: 219860 kB, current process memory usage: 213608 kB

 

I kind of looks like you have a trailing linefeed at the end of the feature class name RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION

 


Hello David_r

 

Python Compatibility: ESRI ArcGIS Python 3.7

This resulted in ArcObjects error -2147220654

An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. sRHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
PythonFactory output feature was rejected downstream. Check the logfile above for details
An error has occurred. Check the logfile above for details
Error encountered while calling method `input'
PythonCaller (PythonFactory): PythonFactory failed to process feature

Here is an excerpt from the log file:

2023-07-03 11:14:21|   0.9|  0.0|INFORM|Writer `GEODATABASE_FILE_2' of type `GEODATABASE_FILE' using group definition keyword `GEODATABASE_FILE_2_DEF'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|An ArcGIS license is already checked out. The product checked out is 'Standard'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|Installed ArcGIS version is '2.9.6'
2023-07-03 11:14:22|   0.9|  0.0|INFORM|Deleted the existing File Geodatabase 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.3|INFORM|Created and connected to the ArcGIS 10.0 File Geodatabase at 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Fast deletes enabled
2023-07-03 11:14:33|   1.2|  0.0|INFORM|The 'HAS_Z_VALUES' keyword is set to 'AUTO_DETECT'. With the exception of MultiPatch feature classes, the dimensionality of new feature classes will be based on the first feature written to the feature class. (Features with no geometry are considered 2D)
2023-07-03 11:14:33|   1.2|  0.0|INFORM|A default z-value of '0' will be used for all 3D features where z-values are not provided
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Esri Geodatabase Writer: Not simplifying geometries being written
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Transactions are being used by the Esri Geodatabase Writer
2023-07-03 11:14:37|   1.6|  0.4|INFORM|Esri Geodatabase Writer: Creating feature type `RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. /RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
2023-07-03 11:14:37|   1.6|  0.0|ERROR |GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonFactory output feature was rejected downstream. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |Error encountered while calling method `input'
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonCaller (PythonFactory): PythonFactory failed to process feature
2023-07-03 11:14:37|   1.6|  0.0|STATS |GeodatabaseRelationshipFeaturesPipeline::GeodatabaseRelationshipFeatures (SortFactory): Finished sorting a total of 0 features.
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Transaction #1 rolled back. Rerun translation specifying transaction #0 for the keyword 'TRANSACTION'
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Closing the Esri Geodatabase writer
2023-07-03 11:14:37|   1.6|  0.0|INFORM|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Feature output statistics for `GEODATABASE_FILE' writer using keyword `GEODATABASE_FILE_2':
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |                               Features Written
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
2023-07-03 11:14:37|   1.6|  0.0|STATS |                         1
2023-07-03 11:14:37|   1.6|  0.0|STATS |==============================================================================
2023-07-03 11:14:37|   1.6|  0.0|STATS |Total Features Written                                                       1
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Path Reader: Closing the PATH Reader
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Translation FAILED with 6 error(s) and 0 warning(s) (1 feature(s) output)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|FME Session Duration: 19.1 seconds. (CPU: 0.6s user, 1.0s system)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|END - ProcessID: 1588, peak process memory usage: 219860 kB, current process memory usage: 213608 kB

 

Presumably this has been introduced in the python code because this is not present in the source data:

imageSo how would i remove this?


Hello David_r

 

Python Compatibility: ESRI ArcGIS Python 3.7

This resulted in ArcObjects error -2147220654

An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. sRHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
PythonFactory output feature was rejected downstream. Check the logfile above for details
An error has occurred. Check the logfile above for details
Error encountered while calling method `input'
PythonCaller (PythonFactory): PythonFactory failed to process feature

Here is an excerpt from the log file:

2023-07-03 11:14:21|   0.9|  0.0|INFORM|Writer `GEODATABASE_FILE_2' of type `GEODATABASE_FILE' using group definition keyword `GEODATABASE_FILE_2_DEF'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|An ArcGIS license is already checked out. The product checked out is 'Standard'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|Installed ArcGIS version is '2.9.6'
2023-07-03 11:14:22|   0.9|  0.0|INFORM|Deleted the existing File Geodatabase 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.3|INFORM|Created and connected to the ArcGIS 10.0 File Geodatabase at 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Fast deletes enabled
2023-07-03 11:14:33|   1.2|  0.0|INFORM|The 'HAS_Z_VALUES' keyword is set to 'AUTO_DETECT'. With the exception of MultiPatch feature classes, the dimensionality of new feature classes will be based on the first feature written to the feature class. (Features with no geometry are considered 2D)
2023-07-03 11:14:33|   1.2|  0.0|INFORM|A default z-value of '0' will be used for all 3D features where z-values are not provided
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Esri Geodatabase Writer: Not simplifying geometries being written
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Transactions are being used by the Esri Geodatabase Writer
2023-07-03 11:14:37|   1.6|  0.4|INFORM|Esri Geodatabase Writer: Creating feature type `RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. /RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
2023-07-03 11:14:37|   1.6|  0.0|ERROR |GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonFactory output feature was rejected downstream. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |Error encountered while calling method `input'
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonCaller (PythonFactory): PythonFactory failed to process feature
2023-07-03 11:14:37|   1.6|  0.0|STATS |GeodatabaseRelationshipFeaturesPipeline::GeodatabaseRelationshipFeatures (SortFactory): Finished sorting a total of 0 features.
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Transaction #1 rolled back. Rerun translation specifying transaction #0 for the keyword 'TRANSACTION'
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Closing the Esri Geodatabase writer
2023-07-03 11:14:37|   1.6|  0.0|INFORM|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Feature output statistics for `GEODATABASE_FILE' writer using keyword `GEODATABASE_FILE_2':
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |                               Features Written
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
2023-07-03 11:14:37|   1.6|  0.0|STATS |                         1
2023-07-03 11:14:37|   1.6|  0.0|STATS |==============================================================================
2023-07-03 11:14:37|   1.6|  0.0|STATS |Total Features Written                                                       1
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Path Reader: Closing the PATH Reader
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Translation FAILED with 6 error(s) and 0 warning(s) (1 feature(s) output)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|FME Session Duration: 19.1 seconds. (CPU: 0.6s user, 1.0s system)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|END - ProcessID: 1588, peak process memory usage: 219860 kB, current process memory usage: 213608 kB

 

I'm struggling to see how the Python code above could introduce a newline on its own. You can take care of it either by replacing line 15 with this:

feature.setAttribute('my_text', title_case.strip())

Or by using an AttributeTrimmer before the writer.

 


Hello David_r

 

Python Compatibility: ESRI ArcGIS Python 3.7

This resulted in ArcObjects error -2147220654

An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. sRHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
PythonFactory output feature was rejected downstream. Check the logfile above for details
An error has occurred. Check the logfile above for details
Error encountered while calling method `input'
PythonCaller (PythonFactory): PythonFactory failed to process feature

Here is an excerpt from the log file:

2023-07-03 11:14:21|   0.9|  0.0|INFORM|Writer `GEODATABASE_FILE_2' of type `GEODATABASE_FILE' using group definition keyword `GEODATABASE_FILE_2_DEF'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|An ArcGIS license is already checked out. The product checked out is 'Standard'
2023-07-03 11:14:21|   0.9|  0.0|INFORM|Installed ArcGIS version is '2.9.6'
2023-07-03 11:14:22|   0.9|  0.0|INFORM|Deleted the existing File Geodatabase 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.3|INFORM|Created and connected to the ArcGIS 10.0 File Geodatabase at 'Z:\Processing\Knowledge Data & Information Management\1 - Geospatial\A Olly\Data Loading\Rhodri Powell\FME_POLYGON_OUTPUT.gdb'
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Fast deletes enabled
2023-07-03 11:14:33|   1.2|  0.0|INFORM|The 'HAS_Z_VALUES' keyword is set to 'AUTO_DETECT'. With the exception of MultiPatch feature classes, the dimensionality of new feature classes will be based on the first feature written to the feature class. (Features with no geometry are considered 2D)
2023-07-03 11:14:33|   1.2|  0.0|INFORM|A default z-value of '0' will be used for all 3D features where z-values are not provided
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Esri Geodatabase Writer: Not simplifying geometries being written
2023-07-03 11:14:33|   1.2|  0.0|INFORM|Transactions are being used by the Esri Geodatabase Writer
2023-07-03 11:14:37|   1.6|  0.4|INFORM|Esri Geodatabase Writer: Creating feature type `RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error occurred while attempting to create the feature class 'RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
'. The error number from ArcObjects is: '-2147220654'. The error message from ArcObjects is: {The table name is invalid. /RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
]}
2023-07-03 11:14:37|   1.6|  0.0|ERROR |GEODATABASE_FILE writer: An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonFactory output feature was rejected downstream. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |An error has occurred. Check the logfile above for details
2023-07-03 11:14:37|   1.6|  0.0|ERROR |Error encountered while calling method `input'
2023-07-03 11:14:37|   1.6|  0.0|FATAL |PythonCaller (PythonFactory): PythonFactory failed to process feature
2023-07-03 11:14:37|   1.6|  0.0|STATS |GeodatabaseRelationshipFeaturesPipeline::GeodatabaseRelationshipFeatures (SortFactory): Finished sorting a total of 0 features.
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Transaction #1 rolled back. Rerun translation specifying transaction #0 for the keyword 'TRANSACTION'
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Closing the Esri Geodatabase writer
2023-07-03 11:14:37|   1.6|  0.0|INFORM|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Feature output statistics for `GEODATABASE_FILE' writer using keyword `GEODATABASE_FILE_2':
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |                               Features Written
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|STATS |RHYMNEY_BACKWATER_WETLAND_AND_WET_WOODLAND_CREATION
2023-07-03 11:14:37|   1.6|  0.0|STATS |                         1
2023-07-03 11:14:37|   1.6|  0.0|STATS |==============================================================================
2023-07-03 11:14:37|   1.6|  0.0|STATS |Total Features Written                                                       1
2023-07-03 11:14:37|   1.6|  0.0|STATS |=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Path Reader: Closing the PATH Reader
2023-07-03 11:14:37|   1.6|  0.0|INFORM|Translation FAILED with 6 error(s) and 0 warning(s) (1 feature(s) output)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|FME Session Duration: 19.1 seconds. (CPU: 0.6s user, 1.0s system)
2023-07-03 11:14:37|   1.6|  0.0|INFORM|END - ProcessID: 1588, peak process memory usage: 219860 kB, current process memory usage: 213608 kB

 

Thank you for trying David but unfortunately this still results in the same errors


I don't think you can prevent it capitalising words, so you'll have to adjust it after. It's not a perfect solution, but you can undo the capitalisation of those worlds with a StringPairReplacer with:

\\ And\\ \\ and\\ \\ Of\\ \\ of\\ \\ Or\\ \\ or\\ 

the \\ escapes spaces, so it's replacing <space>And<space> with <space>and<space>. Normally this wouldn't work because of commas and other punctuation around words, but you might be able to get away with it.

You have underscores in fme_feature_type, so there is no need for all those 'escaped' spaces.

You can simply replace _And_ with _and_, etcetera.

image


Reply