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.Â
It 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:
So 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.