2

I'm creating a work bench to turn a polygon dataset into a raster and then adds it to various existing rasters. I want to use a parameter so I only need to create one workspace and the user can select which raster they want to use for the addition. I've created the parameter with a drop down list for options.

Firstly, I'm using a Joiner to add a spreadsheet to the dataset which contains 7 fields and those fields match the options in the parameter and the 'fields to add' variable is set to my parameter value, so far this stage works and it adds the chosen field to the dataset and I can see the numbers within that field in inspector.

The problem occurs in the next step where I have the 3D Forcer. I have the elevation variable set to my parameter but when I run it I get the following error:

2014-12-29 10:13:36| 0.6| 0.0|WARN |3DForcer_2: Failed to evaluate TCL expression: crops 2014-12-29 10:13:36| 0.6| 0.0|WARN |3DForcer_2: TCL Error Message: invalid bareword "crops" in expression "crops"; should be "$crops" or "{crops}" or "crops(...)" or ... 2014-12-29 10:13:36| 0.6| 0.0|STATS |Storing feature(s) to FME feature store file S:\fme _work\SBC\PolytoRastTool/AllTest_log.ffs' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Feature Type:3DForcer_2_OUTPUT' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : HabClass' has valueIntact hedge' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : SHAPE_GEOMETRY' has valueshape_polygon' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : _JoinChoice' has valuecrops' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(32 bit unsigned integer): _matched_records' has value1' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : crops' has value100' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : fme_basename' has valueHabitatLayer' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : fme_dataset' has valueE:\Projects\Matt\SBC\Update_Tool\HabitatLayer.shp' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : fme_feature_type' has valueHabitatLayer' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : fme_geometry' has valuefme_polygon' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(entangled: string) : fme_type' has valuefme_area' 2014-12-29 10:13:36| 0.6| 0.0|ERROR | entangled to [SHAPE_GEOMETRY] 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(32 bit integer) : multi_reader_full_id' has value0' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(32 bit integer) : multi_reader_id' has value0' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : multi_reader_keyword' has valueSHAPE_1' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Attribute(string) : multi_reader_type' has valueSHAPE' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Coordinate System: `BritishNatGrid' 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Geometry Type: IFMEPolygon 2014-12-29 10:13:36| 0.6| 0.0|ERROR |Boundary: 2014-12-29 10:13:36| 0.6| 0.0|ERROR | Geometry Type: IFMELine 2014-12-29 10:13:36| 0.6| 0.0|ERROR | Number of Coordinates: 36 -- Coordinate Dimension: 2 2014-12-29 10:13:36| 0.6| 0.0|ERROR | (349569.207114486,589619.939759698)(349571.239999999,589616.689500002)(349568.139999998,589614.09)(349563.415,589610.265000001)(349558.039999998,589606.289999999) 2014-12-29 10:13:36| 0.6| 0.0|ERROR | (349552.6125,589602.978000002)(349546.941743891,589598.486077951)(349544.306699998,589604.373999999)(349537.801299999,589600.579199999)(349532.306699999,589597.374) 2014-12-29 10:13:36| 0.6| 0.0|ERROR | ...Skipping coordinates... 2014-12-29 10:13:36| 0.6| 0.0|ERROR | (349509.376720743,589614.411194774)(349514.18394296,589617.132493654)(349521.293849998,589620.653300001)(349528.4067,589621.313999998)(349535.126699999,589621.915599999) 2014-12-29 10:13:36| 0.6| 0.0|ERROR | (349541.385900001,589621.5764)(349546.716243719,589620.73925744)(349553.614149999,589618.5648)(349557.630447912,589618.522411076)(349564.675239373,589618.294556824) 2014-12-29 10:13:36| 0.6| 0.0|ERROR | (349569.207114486,589619.939759698) 2014-12-29 10:13:36| 0.6| 0.0|ERROR |=========================================================================== 2014-12-29 10:13:36| 0.6| 0.0|ERROR |3DForcer_2: ZValue function cannot convert 'crops' to floating point value 2014-12-29 10:13:36| 0.6| 0.0|WARN |3DForcer_2: Failed to evaluate TCL expression: crops 2014-12-29 10:13:36| 0.6| 0.0|WARN |3DForcer_2: TCL Error Message: invalid bareword "crops" in expression "crops"; should be "$crops" or "{crops}" or "crops(...)" or ...

Does it look like it thinks "crops" is not a numeric field?

Before creating the parameter and hard coding the values into the transformer it worked perfectly fine.

Does anybody have any work arounds for this?

  • fields crop needs to be integer plus your parameter needs to be defined as integer and not text. – Mapperz Dec 29 '14 at 15:01
1

You need to ensure that you are pointing it to a parameter. What you're doing there is using a text string of crops.

Options: If you do have a crops parameter already created:

  • Assuming you have already created a parameter called "crops", place this into the "Elevation" box: $(crops)
  • Another option is to get the parameter value before the 3DForcer (not really necessary for this transformer), using the ParameterFetcher transformer, which will turn it into an attribute which you can use in the regular fashion.
  • Or you can click on the down arrow next to the Elevation box, "User Parameter" - and select the "crops" parameters.

If you don't have such a parameter yet:

  • If you don't have such a parameter yet, you can create one by clicking on the down-arrow to the right of the Elevation box, selecting "User Parameter" and then "Create User Parameter".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.