Hi Forum,
Apologies if this has been posted before but speaking to the Live Chat team they were unfortunately unable to provide a detailed solution.
I have a ESRI File Geodatabase containing features with attributes,Number,Address,Town.
I am translating from one FGDB to another (also as a test the same FGDB) with the addition of an Attribute Manager in the middle in order to create a new field "SEARCH_ADDRESS" I create a new Attribute with the expression as follows:
@Value(NUMBER),@Value(ADDRESS),@Value(TOWN).
The attribute manager accepts these as valid field expressions,however the new field does not carry over to the output Feature class.When the translation is run I get the error that there conflicting Object ID's
"User field name 'OBJECTID' conflicts with a value of feature type parameter ' Object ID Field' ('OBJECTID') for table/feature class 'DELETE_TEST_OUTPUT'.The user field will be ignored"
I spoke with 亚搏在线Safe Live chat and was suggested to add an attribute remover to remove the OBJECTID field prior to output writer,however this was unsuccessful,It writes out an identical copy of the original with duplicate records.
Is anyone able to shed any light on this please?
Thanks
Hi all,
I'm trying to clean latlongs using RegEx in the AttributeManager but I'm getting below error.
AttributeManager_2: Expected signature @ReplaceRegEx(UTF8,UTF8,UTF8,[BOOL]) but received ReplaceRegEx("latitude" content="52.132932,("latitude" content=)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Feature Type: `AttributeManager_OUTPUT'
Attribute(encoded: UTF-8): `LAT' has value `"latitude" content="52.132932'
Attribute(string) : `fme_feature_type' has value `Creator'
Attribute(string) : `fme_geometry' has value `fme_undefined'
Attribute(string) : `fme_type' has value `fme_no_geom'
Coordinate System: `'
Geometry Type: IFMENull
===========================================================================
AttributeManager_2 (AttrSetFactory): An error occurred while evaluating the above expression.If the failed expression is arithmetic,check to ensure there is a numeric value specified as the substitution value for null,empty and missing attributes.
AttributeManager_2 (AttrSetFactory): AttributeManager_2: Failed to evaluate input expression: @ReplaceRegEx(@Value(LAT),"("latitude" content=")(\d*\.\d*)",\2)
Settings and example workbench:
LAT attribute with this value:
"latitude" content="52.132932
AttributeManager setting:
@ReplaceRegEx(@Value(LAT),"("latitude" content=")(\d*\.\d*)",\2)
Thanks,
Ed
Hello,
I'm trying to replace my overdose of RegEx StringReplacers with a single AttributeManager that should contains multiple RegEx functions.
I've set up a short test:
The first part of the test works fine: change: "world" to "WORLD"
The second part doesn't seem to execute: change the "99" to "100"
I'm now wondering:
Can the AttributeManager conditional value hold multiple RegEx functions or just one?
Thanks,
Ed
Hello,
I have a street centerline data set which has street width information.I would like to buffer the lines by using GeographicallyBufferer based on the width information (to be more precise sum(div(@Value(SURFACEWID),2),16.4042) is my buffer size).However I can not because the street width attribute haslongtype.Is there any way to change it so that I could use the value of the attribute and use aritmetics with it.
Thanks in advance.
I am trying to leverage the 'Adjacent Feature Attributes' function in AttributeManager to generate a list of unique IDs (UID) for a set of records.In this example I have generated a UID for a single record based on if the record in 'col0' contains a "G" and concatenating the CSV Line Number with 'col2' (this is a timestamp,so I removed the colons to avoid issues down the line).
I now want to replicate that _UID_G field to the other records until I hit another 'G' type record to ultimately look like this:
Here is my issue: the number of CSV Lines between records that have 'G' in col0 can fluctuate for each CSV that I run.I am trying to dynamically set the Number for Prior Features in the AttributeManager:
I think I need to build a list from the CSV file I am using first,then figure out how to count the number of records that exist between each "G" feature.From there I can use a TestFilter and address each unique number of records.How can I do this?
I tried ListElementCounter and it returns everything.
In the CSV I am running,there are only 9 records between each 'G' feature.But it could fluctuate between 8 and 12 in other CSV files that I run.
I need this UID to perform joins on data after I define each attribute based on the Letter in col0.Each letter record has a unique number of fields.Is there a better way to do this?
Thanks!
Hello,
This should be a very simple thing,but I just can't figure out how to do it!
I want to append two tables together (Tables 1 & 2),both with very similar attributes,but I want to use the ID from Table 1 as the official Primary Key,and then get the highest number from that PK and increment upwards to create new PK values for the Table 2 appended values.I can get the maximum value from Table 1 using StatisticsCalculator,but I can't for the life of me work out how to use that value in the creation of the new Primary Key.
I've been trying to do a conditional value calculation in Attribute Manager,something like,if Table 1 ID has a value,then PK = Table 1 ID,else use MaxValue from StatisticsCalculator and sum it with @sum(@double(@Count()),1.0) to increment up.But it's not working.
Any ideas greatly appreciated!
Thank you!
Katrina
While preparing the Workbench,doing calculation with two or three attribute columns its working fine,but in future the source data if its comes with null values the FME workbench is getting failed.
To avoid failing the workbench currently we need to use filter transformers to success the process,so that the workbench is becoming big.
If we have any option to filter null values and redirect to null port in each calculation transformers like ExpressionEvaluator,DateTimeCalculator and if possible in Arithmetic editor.
Hi all!
I need the adjacent feature within a loop but I get the error that Attribute Manager is a blocking transformer and therefore it won't work.
I use blocking transformers in linked custom transformers all the time and it works fine.
Is there a particular reason that you can't use the Attribute Manager within a loop?
Thanks!
Hello,
I have a .cal file saved in python to create a unique identifier.How can I use this in FME?I didn't create this so I don't know how to tie this to the field needed.
In Arcmap I could just right click the field I want this to go in and field calculate it,but how would I use this to update attributes with nulls in a specific field within fme.
import uuid
def f():
return "{" + str(uuid.uuid4()).upper() + "}"
__esri_field_calculator_splitter__
f()
I am new to FME,so pardon the basic nature of this question.But I am trying to normalize my data.
Standardization of names,such as Chevrolet to Chevy.Remove a leading " " and change the case of words.
Here is what I have done:
It seems logical to me,but my output doesn't get applied to my excel:
Any help would be appreciated.
Thanks,
Hello,
The below translation aims to take regional address points and regional buildings layers and extract a certain study area based on a buildings polygon.I then try to use another spatial filter to link the address points to the buildings polygon it is located within.However I am struggling to find a way of saying 'IF address point is within polygon then take the property address and apply it to a new attribute in the building polygon'.Does anyone have any suggestions on how to link this together?
Hi.
I know that FME is case sensitive per se,but I've just had it report some curious errors in an UPDATE operation.
Apparently 5 fields with similar names were spelled differently case-wise in a database that's case-insensitive.E.g.one field was "ImageFile",another "Imagefile1".Renaming the attributes fixed that of course.
Before that,it erred because I attempted to update a field with type "varchar(250)" with a value (created in AttributeManager) that FME determined to be "varchar(200)".Yes,really.
And lastly,FME erred because there were extra attributes in the feature,that aren't in the database table.Instead of just ignoring them,which really ought to be an option.Removing them solved this issue.
Updating a larger field with a smaller value should also just be accepted,and not throw an error.
And FME already prompts the target database for all sorts of information before pushing data into it.Would it then be too much to ask to have it also check the database's case setting using "sys.[databases]" and "sys.[fn_helpcollations]()",and ignore field name case if it's case insensitive ?
Just my Thursday woes.
Cheers
How does "Import" work.
I have tried to make a list in Excel to store my mapping (input/output attribute).
But i only get the first row added as a new attribute.
Hi FME experts,
I'm having difficulties updating below:
Left is what I currently have,right is what I'd like to have.
Have | Want |
Toi et Moi (Villa) | (Villa) Toi et Moi |
Wilgenerf ('t) Landhuis | ('t) Wilgenerf Landhuis |
Gheestelic Hof (Het) | (Het) Gheestelic Hof |
So if it finds anything in between brackets,take that and put it in front of the string.
I've been trying the StringReplacer with the following RegEx: (\(.*\)) - but no luck so far.
Cheers,
Ed
When using the AttributeManager I think an enhancement would be if the possible actions should start with a distinctive letter (eg "Set Value","Leave orIgnore" (for Do Nothing),"Rename","Forget" (for Remove),"Default" (for Set Default Value) so that one can select and then easily act by hitting a single key.