Olivier,

> I am working in the Workbench environment. I have a field containing 
> integer values. I would like to be able to filter the attributes 
> according to different classes of values (for instance : Distance 0 to 
> 100 m, Distance 101 to 200 m, Distance > 200 m) and output a shapefile 
> for each category. Can the AttributeFilter be used to define and create 
> the different classes? If yes, which syntax should I follow?

Unfortunately, the AttributeFilter won't do that on its own.

Take a look at the attached workbench. In my source data I have an 
attribute 'Length', which is the length of a road segment in meters. For 
this example, I want to classify that in increments of 10 km.

I use an ExpressionEvaluator, dividing the length by 10000. Since my 
input data is of type integer, my output is as well. This automatically 
does what I want: road segments with a length from 10 to 20km get a '1' 
as attribute, and so on. Then use an AttributeFilter on the newly 
created attribute and you're set.

Hope this helps.
-- 
Hans van der Maarel
Red Geographics
www.redgeographics.com / [EMAIL PROTECTED]



Get the maximum benefit from your FME, FME Objects, or SpatialDirect via our 
Professional Services team.  Visit www.safe.com/services for details. 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/fme/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 
#! <?xml version="1.0" encoding="iso-8859-1" ?>
#! <WORKSPACE
#! GRID_VISIBLE="false"
#! ZOOM_SCALE="100"
#! FME_BUILD_NUM="1542"
#! FFS_ROUTING_DIR=""
#! FFS_ROUTING_DIR_SRC=""
#! ROUTE_FROM_FFS="false"
#! GRID_HEIGHT="50"
#! ROUTE_TO_VIEWER="false"
#! TITLE=""
#! SHOW_INFO_NODES="true"
#! VIEW_POSITION="0 0"
#! VIEW_PAGE_BREAKS="false"
#! WORKSPACE_VERSION="1"
#! ROUTE_TO_NULL="false"
#! LOG_FILE=""
#! ROUTE_TO_FFS="false"
#! SHOW_ANNOTATIONS="true"
#! GRID_WIDTH="50"
#! GRID_SNAPTO="false"
#! >
#! <DATASETS>
#! <DATASET
#! IS_SOURCE="true"
#! FORMAT="SHAPE"
#! DATASET="H:\Intern\data\wegennet.shp"
#! KEYWORD="SHAPE_1"
#! MULTI_GEOM_ALLOWED="false"
#! ATTR_MAX_LENGTH="60"
#! ATTR_CASE="ANY"
#! ALLOWED_FEAT_TYPES=""
#! COORDSYS=""
#! WRITE_DEFS="true"
#! DEFLINE_TEMPLATE="SHAPE_GEOMETRY {FME_GEN_GEOMETRY}"
#! DEFLINE_ATTRS="true"
#! EXPOSABLE_ATTRS="multi_reader_keyword char(50) shape_measures char(255) 
fme_rotation number(31,15) multi_reader_type char(50) fme_fill_color char(50) 
fme_start_angle number(31,15) fme_geometry fme_char(50) fme_type char(50) 
fme_color char(50) multi_reader_id number(11,0) multi_reader_full_id 
number(11,0) fme_primary_axis number(31,15) fme_dataset char(50) 
fme_feature_type char(50) fme_text_size number(31,15) fme_sweep_angle 
number(31,15) fme_text_string char(50) fme_basename char(50) fme_secondary_axis 
number(31,15)"
#! DEFLINE_PARMS=""
#! ALWAYS_PROMPT_PARMS=""
#! ATTR_INDEX_TYPES=""
#! FANOUT="false"
#! FANOUT_PREFIX=""
#! FANOUT_SUFFIX=""
#! FANOUT_ID_ATTR=""
#! ATTR_NAME_INVALID_CHARS=""
#! SUPPORTS_FEATURE_TYPE_FANOUT="true"
#! ENABLED="true"
#! GENERATE_FME_BUILD_NUM="1542"
#! />
#! <DATASET
#! IS_SOURCE="false"
#! FORMAT="NULL"
#! DATASET=""
#! KEYWORD="NULL_1"
#! MULTI_GEOM_ALLOWED="true"
#! ATTR_MAX_LENGTH="200"
#! ATTR_CASE="ANY"
#! ALLOWED_FEAT_TYPES=""
#! COORDSYS=""
#! WRITE_DEFS="false"
#! DEFLINE_TEMPLATE=""
#! DEFLINE_ATTRS="true"
#! EXPOSABLE_ATTRS="fme_basename char(50) fme_rotation number(31,15) 
fme_dataset char(50) fme_feature_type char(50) fme_fill_color char(50) 
fme_primary_axis number(31,15) fme_start_angle number(31,15) fme_geometry 
fme_char(50) fme_type char(50) fme_text_size number(31,15) fme_sweep_angle 
number(31,15) fme_color char(50) fme_text_string char(50) fme_secondary_axis 
number(31,15)"
#! DEFLINE_PARMS=""
#! ALWAYS_PROMPT_PARMS=""
#! ATTR_INDEX_TYPES=""
#! FANOUT="false"
#! FANOUT_PREFIX=""
#! FANOUT_SUFFIX=""
#! FANOUT_ID_ATTR=""
#! ATTR_NAME_INVALID_CHARS=""
#! SUPPORTS_FEATURE_TYPE_FANOUT="true"
#! ENABLED="true"
#! GENERATE_FME_BUILD_NUM="1542"
#! />
#! </DATASETS>
#! <DATA_TYPES>
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="char(width)"
#! FME_TYPE="fme_char(width)"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="char(width)"
#! FME_TYPE="fme_varchar(width)"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="char(255)"
#! FME_TYPE="fme_buffer"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="char(20)"
#! FME_TYPE="fme_datetime"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="char(12)"
#! FME_TYPE="fme_time"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="date"
#! FME_TYPE="fme_date"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="number(31,15)"
#! FME_TYPE="fme_real64"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="number(31,15)"
#! FME_TYPE="fme_real32"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="number(11,0)"
#! FME_TYPE="fme_int32"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="logical"
#! FME_TYPE="fme_boolean"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="number(6,0)"
#! FME_TYPE="fme_int16"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="number(width,decimal)"
#! FME_TYPE="fme_decimal(width,decimal)"
#! FORMAT="SHAPE"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="char(width)"
#! FME_TYPE="fme_char(width)"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="char(width)"
#! FME_TYPE="fme_varchar(width)"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="char(255)"
#! FME_TYPE="fme_buffer"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="date"
#! FME_TYPE="fme_datetime"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="date"
#! FME_TYPE="fme_date"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="date"
#! FME_TYPE="fme_time"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(31,15)"
#! FME_TYPE="fme_real64"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(31,15)"
#! FME_TYPE="fme_real32"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="integer"
#! FME_TYPE="fme_int32"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(11,0)"
#! FME_TYPE="fme_int32"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="logical"
#! FME_TYPE="fme_boolean"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(6,0)"
#! FME_TYPE="fme_int16"
#! FORMAT="NULL"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(width,decimal)"
#! FME_TYPE="fme_decimal(width,decimal)"
#! FORMAT="NULL"
#! />
#! </DATA_TYPES>
#! <GEOM_TYPES>
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_point"
#! FME_TYPE="fme_point"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_pointz"
#! FME_TYPE="fme_point"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_pointm"
#! FME_TYPE="fme_point"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_multipoint"
#! FME_TYPE="fme_point"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_multipointz"
#! FME_TYPE="fme_point"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_multipointm"
#! FME_TYPE="fme_point"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polyline"
#! FME_TYPE="fme_line"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polylinez"
#! FME_TYPE="fme_line"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polylinem"
#! FME_TYPE="fme_line"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polygon"
#! FME_TYPE="fme_area"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polygonz"
#! FME_TYPE="fme_area"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polygonm"
#! FME_TYPE="fme_area"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_point"
#! FME_TYPE="fme_text"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polygon"
#! FME_TYPE="fme_ellipse"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polyline"
#! FME_TYPE="fme_arc"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polygon"
#! FME_TYPE="fme_rectangle"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_polygon"
#! FME_TYPE="fme_rounded_rectangle"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="true"
#! FORMAT_TYPE="shape_null"
#! FME_TYPE="fme_no_geom"
#! FORMAT="SHAPE"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_point"
#! FME_TYPE="fme_point"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_multipoint"
#! FME_TYPE="fme_point"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_line"
#! FME_TYPE="fme_line"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_polygon"
#! FME_TYPE="fme_area"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_point"
#! FME_TYPE="fme_text"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_polygon"
#! FME_TYPE="fme_ellipse"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_arc"
#! FME_TYPE="fme_arc"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_polygon"
#! FME_TYPE="fme_rectangle"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_polygon"
#! FME_TYPE="fme_rounded_rectangle"
#! FORMAT="NULL"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="null_null"
#! FME_TYPE="fme_no_geom"
#! FORMAT="NULL"
#! />
#! </GEOM_TYPES>
#! <FEATURE_TYPES>
#! <FEATURE_TYPE
#! IS_SOURCE="true"
#! NODE_NAME="wegennet"
#! IS_EDITABLE="false"
#! IDENTIFIER="0"
#! FEAT_GEOMTYPE="shape_polyline"
#! POSITION="100 -100"
#! ORDER="10"
#! COLLAPSED="true"
#! KEYWORD="SHAPE_1"
#! ENABLED="true"
#! MERGE="false"
#! MERGE_FILTER=""
#! MERGE_FILTER_TYPE="FILTER_TYPE_GLOB"
#! MERGE_FILTER_CASE_SENSITIVE="false"
#! >
#! <FEAT_ATTRIBUTE ATTR_NAME="LENGTH" ATTR_TYPE="number(12,5)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="RDLINE_" ATTR_TYPE="number(11,0)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="RDLINE_ID" ATTR_TYPE="number(11,0)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="RDLNTYPE" ATTR_TYPE="char(8)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="RDLNSTAT" ATTR_TYPE="char(2)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="WEGNR1" ATTR_TYPE="char(10)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="WEGNR2" ATTR_TYPE="char(10)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="WEGNR3" ATTR_TYPE="char(10)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="WEGNR4" ATTR_TYPE="char(10)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="WEGNR5" ATTR_TYPE="char(10)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="WEGNR6" ATTR_TYPE="char(10)"/>
#! </FEATURE_TYPE>
#! </FEATURE_TYPES>
#! <COMMENTS>
#! <COMMENT
#! IDENTIFIER="1"
#! COMMENT_VALUE="Source Types|"
#! POSITION="100 0"
#! ORDER="7"
#! FOLLOW_ANCHOR="true"
#! INFO_NODE="false"
#! />
#! <COMMENT
#! IDENTIFIER="2"
#! COMMENT_VALUE="Destination Types|"
#! POSITION="1000 0"
#! ORDER="8"
#! FOLLOW_ANCHOR="true"
#! INFO_NODE="false"
#! />
#! <COMMENT
#! IDENTIFIER="3"
#! COMMENT_VALUE="Data Flow|"
#! POSITION="550 0"
#! ORDER="9"
#! FOLLOW_ANCHOR="true"
#! INFO_NODE="false"
#! />
#! </COMMENTS>
#! <CONSTANTS>
#! </CONSTANTS>
#! <TRANSFORMERS>
#! <TRANSFORMER
#! IDENTIFIER="6"
#! TYPE="ExpressionEvaluator"
#! VERSION="1"
#! POSITION="597 -393"
#! ORDER="11"
#! PARMS_EDITED="true"
#! ENABLED="true"
#! >
#! <OUTPUT_FEAT NAME="OUTPUT"/>
#! <FEAT_COLLAPSED COLLAPSED="0"/>
#! <XFORM_ATTR ATTR_NAME="LENGTH" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_ID" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLNTYPE" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLNSTAT" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR1" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR2" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR3" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR4" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR5" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR6" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="length_10km" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="EXPRESSIONEVALUATOR" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="EXPRESSION" PARM_VALUE="(&amp;LENGTH/10000)" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="VAL_ATTR" PARM_VALUE="length_10km" 
ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#! IDENTIFIER="9"
#! TYPE="AttributeFilter"
#! VERSION="1"
#! POSITION="1107 -450"
#! ORDER="12"
#! PARMS_EDITED="true"
#! ENABLED="true"
#! >
#! <OUTPUT_FEAT NAME="0"/>
#! <FEAT_COLLAPSED COLLAPSED="0"/>
#! <XFORM_ATTR ATTR_NAME="LENGTH" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_ID" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLNTYPE" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="RDLNSTAT" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR1" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR2" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR3" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR4" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR5" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR6" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="length_10km" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <OUTPUT_FEAT NAME="1"/>
#! <FEAT_COLLAPSED COLLAPSED="1"/>
#! <XFORM_ATTR ATTR_NAME="LENGTH" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_ID" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="RDLNTYPE" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="RDLNSTAT" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR1" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR2" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR3" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR4" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR5" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR6" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <XFORM_ATTR ATTR_NAME="length_10km" IS_USER_CREATED="false" FEAT_INDEX="1"/>
#! <OUTPUT_FEAT NAME="2"/>
#! <FEAT_COLLAPSED COLLAPSED="2"/>
#! <XFORM_ATTR ATTR_NAME="LENGTH" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_ID" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="RDLNTYPE" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="RDLNSTAT" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR1" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR2" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR3" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR4" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR5" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR6" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <XFORM_ATTR ATTR_NAME="length_10km" IS_USER_CREATED="false" FEAT_INDEX="2"/>
#! <OUTPUT_FEAT NAME="3"/>
#! <FEAT_COLLAPSED COLLAPSED="3"/>
#! <XFORM_ATTR ATTR_NAME="LENGTH" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_ID" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="RDLNTYPE" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="RDLNSTAT" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR1" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR2" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR3" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR4" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR5" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR6" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <XFORM_ATTR ATTR_NAME="length_10km" IS_USER_CREATED="false" FEAT_INDEX="3"/>
#! <OUTPUT_FEAT NAME="&lt;BLANK&gt;"/>
#! <FEAT_COLLAPSED COLLAPSED="4"/>
#! <XFORM_ATTR ATTR_NAME="LENGTH" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_ID" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="RDLNTYPE" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="RDLNSTAT" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR1" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR2" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR3" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR4" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR5" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR6" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <XFORM_ATTR ATTR_NAME="length_10km" IS_USER_CREATED="false" FEAT_INDEX="4"/>
#! <OUTPUT_FEAT NAME="&lt;UNFILTERED&gt;"/>
#! <FEAT_COLLAPSED COLLAPSED="5"/>
#! <XFORM_ATTR ATTR_NAME="LENGTH" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="RDLINE_ID" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="RDLNTYPE" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="RDLNSTAT" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR1" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR2" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR3" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR4" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR5" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="WEGNR6" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_ATTR ATTR_NAME="length_10km" IS_USER_CREATED="false" FEAT_INDEX="5"/>
#! <XFORM_PARM PARM_NAME="ATTR_NAME" PARM_VALUE="length_10km" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="ATTR_VALUES" PARM_VALUE="0,1,2,3" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ATTRIBUTEFILTER" 
ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#! IDENTIFIER="10"
#! TYPE="Visualizer"
#! VERSION="1"
#! POSITION="1992 -600"
#! ORDER="13"
#! PARMS_EDITED="false"
#! ENABLED="true"
#! >
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ATTRIBUTEFILTER_0" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="TACKATTRS" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="PEN_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="AREA_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#! IDENTIFIER="12"
#! TYPE="Visualizer"
#! VERSION="1"
#! POSITION="1992 -660"
#! ORDER="14"
#! PARMS_EDITED="false"
#! ENABLED="true"
#! >
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ATTRIBUTEFILTER_1" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="TACKATTRS" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="PEN_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="AREA_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#! IDENTIFIER="14"
#! TYPE="Visualizer"
#! VERSION="1"
#! POSITION="1992 -720"
#! ORDER="15"
#! PARMS_EDITED="false"
#! ENABLED="true"
#! >
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ATTRIBUTEFILTER_2" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="TACKATTRS" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="PEN_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="AREA_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#! IDENTIFIER="16"
#! TYPE="Visualizer"
#! VERSION="1"
#! POSITION="1992 -780"
#! ORDER="16"
#! PARMS_EDITED="false"
#! ENABLED="true"
#! >
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="ATTRIBUTEFILTER_3" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="TACKATTRS" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="PEN_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="AREA_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#! IDENTIFIER="18"
#! TYPE="Visualizer"
#! VERSION="1"
#! POSITION="1992 -900"
#! ORDER="17"
#! PARMS_EDITED="false"
#! ENABLED="true"
#! >
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" 
PARM_VALUE="ATTRIBUTEFILTER_&lt;UNFILTERED&gt;" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="TACKATTRS" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="PEN_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="AREA_COLOR" PARM_VALUE="" ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! </TRANSFORMERS>
#! <FEAT_LINKS>
#! <FEAT_LINK
#! IDENTIFIER="19"
#! SOURCE_NODE="9"
#! TARGET_NODE="18"
#! SOURCE_PORT_DESC="fo 5"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="17"
#! SOURCE_NODE="9"
#! TARGET_NODE="16"
#! SOURCE_PORT_DESC="fo 3"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="15"
#! SOURCE_NODE="9"
#! TARGET_NODE="14"
#! SOURCE_PORT_DESC="fo 2"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="13"
#! SOURCE_NODE="9"
#! TARGET_NODE="12"
#! SOURCE_PORT_DESC="fo 1"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="11"
#! SOURCE_NODE="9"
#! TARGET_NODE="10"
#! SOURCE_PORT_DESC="fo 0"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="8"
#! SOURCE_NODE="6"
#! TARGET_NODE="9"
#! SOURCE_PORT_DESC="fo 0"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="7"
#! SOURCE_NODE="0"
#! TARGET_NODE="6"
#! SOURCE_PORT_DESC="-1"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! </FEAT_LINKS>
#! <ATTR_LINKS>
#! </ATTR_LINKS>
#! <LOOKUP_TABLES>
#! </LOOKUP_TABLES>
#! </WORKSPACE>
#! 
#! START_HEADER
#! WORKSPACE_VERSION 1

# ============================================================================ 
# 
# This mapping file was generated by FME Workbench
# on 12/29/04 20:52:31 for translation between SHAPE and NULL
# 
# This workspace was generated with FME build 1542
#
# You may edit this mapping file to customize its operation.  Comments are 
# placed throughout to assist you. 
# 
# Modification History:
# 
#     Name              Date     Description
#     ================= ======== =============================================
# 
# 
# ============================================================================ 

# ============================================================================ 
# The following line defines the title presented to the user when this
# mapping file is run through the FME GUI.  You may modify this
# if a more meaningful title would be appropriate.

GUI TITLE SHAPE to NULL Translation 

# ============================================================================ 
# The following line names the log file to which useful statistics about
# the translation will be written.  This line can be uncommented and
# updated if you do wish to keep these statistics.

# LOG_FILENAME translation.log
# LOG_APPEND NO

# ============================================================================ 
# The following line instructs the FME to log any features that do not
# match any of the source feature patterns listed further down in
# this file.  If you are modifying this mapping file, this will be
# useful to describe to you exactly which features you are losing
# during translation, if the statistics indicate that features are
# not being correlated or grouped.  Uncorrelated features do not
# match any source specification, ungrouped features do not have
# any corresponding _DEF line. 

# FME_DEBUG UNGROUPED UNCORRELATED

# ============================================================================ 
# The following two lines define the type of reader and writer to be
# used for this translation.  If you want to translate your data
# back into its original format, you may make a copy of this file
# and switch the reader and writer types.  If you rerun the FME, you
# will get your original data back again (together with any modifications
# you made in the meantime).  Note that several formats are NOT
# bi-directional (for example, GIF can only be used as a WRITER)
# so a reverse translation may not always be possible.





#! START_WB_HEADER
READER_TYPE SHAPE
READER_KEYWORD SHAPE_1
WRITER_TYPE NULL
WRITER_KEYWORD NULL_1
#! END_WB_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "SHAPE_1"
#! END_WB_HEADER
#! START_SOURCE_HEADER SHAPE SHAPE_1

# ============================================================================
# The following GUI line prompts for the source shape files
  
# The dataset this mapping file was generated from was:
 
#! END_SOURCE_HEADER
#! START_WB_HEADER
DEFAULT_MACRO SourceDataset
INCLUDE [ if {"$(SourceDataset)" != ""} {                        \
 puts {DEFAULT_MACRO SourceDataset_SHAPE_1 $(SourceDataset)}     \
 } ]
#! END_WB_HEADER
#! START_SOURCE_HEADER SHAPE SHAPE_1
DEFAULT_MACRO SourceDataset_SHAPE_1 H:\Intern\data\wegennet.shp
GUI FILENAME SourceDataset_SHAPE_1 Shape_Files(*.shp)|*.shp|All_Files(*.*)|*.* 
Source ESRI Shape File(s):
  
# ============================================================================
# The following GUI lines will set the search envelope. If they are used, and
# if the shape files have index files (.sbnand.sbx), then the index will be
# used to do a fast lookup on this search envelope.
  
  
DEFAULT_MACRO _SHAPE_MINX_SHAPE_1 0
GUI FLOAT _SHAPE_MINX_SHAPE_1 Envelope Min X:
DEFAULT_MACRO _SHAPE_MINY_SHAPE_1 0
GUI FLOAT _SHAPE_MINY_SHAPE_1 Envelope Min Y:
DEFAULT_MACRO _SHAPE_MAXX_SHAPE_1 0
GUI FLOAT _SHAPE_MAXX_SHAPE_1 Envelope Max X:
DEFAULT_MACRO _SHAPE_MAXY_SHAPE_1 0
GUI FLOAT _SHAPE_MAXY_SHAPE_1 Envelope Max Y:
  
SHAPE_1_SEARCH_ENVELOPE $(_SHAPE_MINX_SHAPE_1) $(_SHAPE_MINY_SHAPE_1) 
$(_SHAPE_MAXX_SHAPE_1) $(_SHAPE_MAXY_SHAPE_1)
  
# ============================================================================
# The following GUI line sets whether measure values in the shape files should
# be treated as elevations.
  
  
DEFAULT_MACRO _MEASURES_AS_Z_SHAPE_1 no
GUI CHOICE _MEASURES_AS_Z_SHAPE_1 yes%no Treat Measures as Elevation:
  
SHAPE_1_MEASURES_AS_Z $(_MEASURES_AS_Z_SHAPE_1)
  
SHAPE_1_DATASET "$(SourceDataset_SHAPE_1)"

#! END_SOURCE_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "NULL_1"
#! END_WB_HEADER
#! START_DEST_HEADER NULL NULL_1

# ============================================================================
# Just fake out a macro, its not used
  
#! END_DEST_HEADER
#! START_WB_HEADER
DEFAULT_MACRO DestDataset
INCLUDE [ if {"$(DestDataset)" != ""} {                          \
 puts {DEFAULT_MACRO DestDataset_NULL_1 $(DestDataset)}         \
 } ]
#! END_WB_HEADER
#! START_DEST_HEADER NULL NULL_1
DEFAULT_MACRO DestDataset_NULL_1 NULL
  
NULL_1_DATASET "$(DestDataset_NULL_1)"

#! END_DEST_HEADER
#! END_HEADER

LOG_FILENAME "H:\Intern\impressive_fme_workbenches\roadlength_filter.log"
LOG_APPEND NO
DEFAULT_MACRO DATASET_KEYWORD_SHAPE_1 SHAPE_1
DEFAULT_MACRO DATASET_KEYWORD_NULL_1 NULL_1
# -------------------------------------------------------------------------

SHAPE_1_READER_META_ATTRIBUTES fme_feature_type

# -------------------------------------------------------------------------


# -------------------------------------------------------------------------

MACRO WORKSPACE_NAME roadlength_filter 
# -------------------------------------------------------------------------
SHAPE_1_DEF wegennet   SHAPE_GEOMETRY               shape_polyline   LENGTH     
                  number(12,5)   RDLINE_                      number(11,0)   
RDLINE_ID                    number(11,0)   RDLNTYPE                     
char(8)   RDLNSTAT                     char(2)   WEGNR1                       
char(10)   WEGNR2                       char(10)   WEGNR3                       
char(10)   WEGNR4                       char(10)   WEGNR5                       
char(10)   WEGNR6                       char(10) 

# -------------------------------------------------------------------------

Lookup ___KnownFeatureTypes___   wegennet yes   "" no 
# -------------------------------------------------------------------------

FACTORY_DEF * TestFactory   FACTORY_NAME "Unexpected Input Remover"   INPUT 
FEATURE_TYPE *   TEST @Lookup(___KnownFeatureTypes___,@FeatureType()) == yes   
OUTPUT PASSED FEATURE_TYPE * 
# -------------------------------------------------------------------------

FACTORY_DEF * TeeFactory    FACTORY_NAME "Source -> Generic"    INPUT 
FEATURE_TYPE *    OUTPUT FEATURE_TYPE *       
@Transform(SHAPE,FME_GENERIC,PRESERVE_GEOMETRY) 
# -------------------------------------------------------------------------

FACTORY_DEF * TeeFactory    FACTORY_NAME EXPRESSIONEVALUATOR    INPUT  
FEATURE_TYPE wegennet    OUTPUT FEATURE_TYPE EXPRESSIONEVALUATOR_OUTPUT         
length_10km @Evaluate("(&LENGTH/10000)") 

# -------------------------------------------------------------------------
Lookup ATTRIBUTEFILTER_AttributeFilterLut   0 ok   1 ok   2 ok   3 ok   "" 
notok 

FACTORY_DEF * TestFactory    FACTORY_NAME ATTRIBUTEFILTER_Filter    INPUT  
FEATURE_TYPE EXPRESSIONEVALUATOR_OUTPUT    TEST 
@Lookup(ATTRIBUTEFILTER_AttributeFilterLut,&length_10km) == "ok"    OUTPUT 
PASSED FEATURE_TYPE * @FeatureType(ATTRIBUTEFILTER_&length_10km)    OUTPUT 
FAILED FEATURE_TYPE ATTRIBUTEFILTER_<UNFILTERED> 
FACTORY_DEF * TestFactory    FACTORY_NAME ATTRIBUTEFILTER_BlankFilter    INPUT 
FEATURE_TYPE ATTRIBUTEFILTER_<UNFILTERED>    TEST @Value(length_10km) == ""    
OUTPUT PASSED FEATURE_TYPE ATTRIBUTEFILTER_<BLANK>    OUTPUT FAILED 
FEATURE_TYPE ATTRIBUTEFILTER_<UNFILTERED> 

FACTORY_DEF * TeeFactory   FACTORY_NAME "ATTRIBUTEFILTER_<BLANK> Output Nuker"  
 INPUT FEATURE_TYPE ATTRIBUTEFILTER_<BLANK> 
# -------------------------------------------------------------------------

# Set the directive to add all the meta-attributes to the features. 
# We do this so users see all possible information in the viewed 
# features. 

READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename 
# First, set up the temporary directory that will be used for 
# the recordings we will be viewing (these three lines do this) 
# They assume that the WORKSPACE_NAME macro has already been set 

DEFAULT_MACRO WORKSPACE_TEMP_DIR 
INCLUDE [ if {[string length {$(WORKSPACE_TEMP_DIR)}] < 2} {               if 
{[info exists env(TEMP)]}                  {set gVisualizerTemp $env(TEMP)}     
          else                  {set gVisualizerTemp c:} ;               regsub 
-all { } {$(WORKSPACE_NAME)} {_} wsname;               set gVisualizerTemp 
$gVisualizerTemp\\${wsname}_[clock format [clock seconds] -format %H%M%S] ;     
          puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp";         } ;         
if { [string length {}] > 0 } {             set catter "" ;             set 
comma "" ;             foreach attr "" {                 set catter 
"$catter$comma&$attr" ;                 set comma ",_," ;             } ;       
      puts "MACRO CATMAC [EMAIL PROTECTED]($catter)" ;         }         else { 
            puts "MACRO CATMAC " ;         };         set safeName [regsub -all 
{[\\/\*\?\|\>\<:\$\;]} {ATTRIBUTEFILTER_0} _];         puts "MACRO 
SAFE_FFS_NAME $safeName";         ] 
# Make the temporary directory that the FFS files will live in. 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_0_DirCreator    
  OUTPUT FEATURE_TYPE __nukeme__          @TCL("catch {file mkdir 
{$(WORKSPACE_TEMP_DIR)}}") 
FACTORY_DEF * TeeFactory    FACTORY_NAME 
ATTRIBUTEFILTER_0_DirCreatorCleanerUpper    INPUT FEATURE_TYPE __nukeme__ 
# Now route all the features into the recorder, changing their 
# feature type to the transformer name so that they view nicely 

FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_0_SetterUpper    INPUT 
 FEATURE_TYPE ATTRIBUTEFILTER_0    OUTPUT FEATURE_TYPE __viewme__ 
FACTORY_DEF * RecorderFactory    FACTORY_NAME ATTRIBUTEFILTER_0_Recorder    
INPUT FEATURE_TYPE __viewme__ @FeatureType(ATTRIBUTEFILTER_0$(CATMAC))    
FEATURE_FILE "$(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs"    MODE 
RECORD_PASS_THROUGH 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_0_Trigger      
CREATE_AT_END      OUTPUT FEATURE_TYPE __nukeme__          @TCL("lappend 
gVisualizerFilesToView $(SAFE_FFS_NAME)") 
FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_0_CleanerUpper    
INPUT FEATURE_TYPE __nukeme__ 

# -------------------------------------------------------------------------

# Set the directive to add all the meta-attributes to the features. 
# We do this so users see all possible information in the viewed 
# features. 

READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename 
# First, set up the temporary directory that will be used for 
# the recordings we will be viewing (these three lines do this) 
# They assume that the WORKSPACE_NAME macro has already been set 

DEFAULT_MACRO WORKSPACE_TEMP_DIR 
INCLUDE [ if {[string length {$(WORKSPACE_TEMP_DIR)}] < 2} {               if 
{[info exists env(TEMP)]}                  {set gVisualizerTemp $env(TEMP)}     
          else                  {set gVisualizerTemp c:} ;               regsub 
-all { } {$(WORKSPACE_NAME)} {_} wsname;               set gVisualizerTemp 
$gVisualizerTemp\\${wsname}_[clock format [clock seconds] -format %H%M%S] ;     
          puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp";         } ;         
if { [string length {}] > 0 } {             set catter "" ;             set 
comma "" ;             foreach attr "" {                 set catter 
"$catter$comma&$attr" ;                 set comma ",_," ;             } ;       
      puts "MACRO CATMAC [EMAIL PROTECTED]($catter)" ;         }         else { 
            puts "MACRO CATMAC " ;         };         set safeName [regsub -all 
{[\\/\*\?\|\>\<:\$\;]} {ATTRIBUTEFILTER_1} _];         puts "MACRO 
SAFE_FFS_NAME $safeName";         ] 
# Make the temporary directory that the FFS files will live in. 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_1_DirCreator    
  OUTPUT FEATURE_TYPE __nukeme__          @TCL("catch {file mkdir 
{$(WORKSPACE_TEMP_DIR)}}") 
FACTORY_DEF * TeeFactory    FACTORY_NAME 
ATTRIBUTEFILTER_1_DirCreatorCleanerUpper    INPUT FEATURE_TYPE __nukeme__ 
# Now route all the features into the recorder, changing their 
# feature type to the transformer name so that they view nicely 

FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_1_SetterUpper    INPUT 
 FEATURE_TYPE ATTRIBUTEFILTER_1    OUTPUT FEATURE_TYPE __viewme__ 
FACTORY_DEF * RecorderFactory    FACTORY_NAME ATTRIBUTEFILTER_1_Recorder    
INPUT FEATURE_TYPE __viewme__ @FeatureType(ATTRIBUTEFILTER_1$(CATMAC))    
FEATURE_FILE "$(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs"    MODE 
RECORD_PASS_THROUGH 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_1_Trigger      
CREATE_AT_END      OUTPUT FEATURE_TYPE __nukeme__          @TCL("lappend 
gVisualizerFilesToView $(SAFE_FFS_NAME)") 
FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_1_CleanerUpper    
INPUT FEATURE_TYPE __nukeme__ 

# -------------------------------------------------------------------------

# Set the directive to add all the meta-attributes to the features. 
# We do this so users see all possible information in the viewed 
# features. 

READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename 
# First, set up the temporary directory that will be used for 
# the recordings we will be viewing (these three lines do this) 
# They assume that the WORKSPACE_NAME macro has already been set 

DEFAULT_MACRO WORKSPACE_TEMP_DIR 
INCLUDE [ if {[string length {$(WORKSPACE_TEMP_DIR)}] < 2} {               if 
{[info exists env(TEMP)]}                  {set gVisualizerTemp $env(TEMP)}     
          else                  {set gVisualizerTemp c:} ;               regsub 
-all { } {$(WORKSPACE_NAME)} {_} wsname;               set gVisualizerTemp 
$gVisualizerTemp\\${wsname}_[clock format [clock seconds] -format %H%M%S] ;     
          puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp";         } ;         
if { [string length {}] > 0 } {             set catter "" ;             set 
comma "" ;             foreach attr "" {                 set catter 
"$catter$comma&$attr" ;                 set comma ",_," ;             } ;       
      puts "MACRO CATMAC [EMAIL PROTECTED]($catter)" ;         }         else { 
            puts "MACRO CATMAC " ;         };         set safeName [regsub -all 
{[\\/\*\?\|\>\<:\$\;]} {ATTRIBUTEFILTER_2} _];         puts "MACRO 
SAFE_FFS_NAME $safeName";         ] 
# Make the temporary directory that the FFS files will live in. 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_2_DirCreator    
  OUTPUT FEATURE_TYPE __nukeme__          @TCL("catch {file mkdir 
{$(WORKSPACE_TEMP_DIR)}}") 
FACTORY_DEF * TeeFactory    FACTORY_NAME 
ATTRIBUTEFILTER_2_DirCreatorCleanerUpper    INPUT FEATURE_TYPE __nukeme__ 
# Now route all the features into the recorder, changing their 
# feature type to the transformer name so that they view nicely 

FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_2_SetterUpper    INPUT 
 FEATURE_TYPE ATTRIBUTEFILTER_2    OUTPUT FEATURE_TYPE __viewme__ 
FACTORY_DEF * RecorderFactory    FACTORY_NAME ATTRIBUTEFILTER_2_Recorder    
INPUT FEATURE_TYPE __viewme__ @FeatureType(ATTRIBUTEFILTER_2$(CATMAC))    
FEATURE_FILE "$(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs"    MODE 
RECORD_PASS_THROUGH 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_2_Trigger      
CREATE_AT_END      OUTPUT FEATURE_TYPE __nukeme__          @TCL("lappend 
gVisualizerFilesToView $(SAFE_FFS_NAME)") 
FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_2_CleanerUpper    
INPUT FEATURE_TYPE __nukeme__ 

# -------------------------------------------------------------------------

# Set the directive to add all the meta-attributes to the features. 
# We do this so users see all possible information in the viewed 
# features. 

READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename 
# First, set up the temporary directory that will be used for 
# the recordings we will be viewing (these three lines do this) 
# They assume that the WORKSPACE_NAME macro has already been set 

DEFAULT_MACRO WORKSPACE_TEMP_DIR 
INCLUDE [ if {[string length {$(WORKSPACE_TEMP_DIR)}] < 2} {               if 
{[info exists env(TEMP)]}                  {set gVisualizerTemp $env(TEMP)}     
          else                  {set gVisualizerTemp c:} ;               regsub 
-all { } {$(WORKSPACE_NAME)} {_} wsname;               set gVisualizerTemp 
$gVisualizerTemp\\${wsname}_[clock format [clock seconds] -format %H%M%S] ;     
          puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp";         } ;         
if { [string length {}] > 0 } {             set catter "" ;             set 
comma "" ;             foreach attr "" {                 set catter 
"$catter$comma&$attr" ;                 set comma ",_," ;             } ;       
      puts "MACRO CATMAC [EMAIL PROTECTED]($catter)" ;         }         else { 
            puts "MACRO CATMAC " ;         };         set safeName [regsub -all 
{[\\/\*\?\|\>\<:\$\;]} {ATTRIBUTEFILTER_3} _];         puts "MACRO 
SAFE_FFS_NAME $safeName";         ] 
# Make the temporary directory that the FFS files will live in. 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_3_DirCreator    
  OUTPUT FEATURE_TYPE __nukeme__          @TCL("catch {file mkdir 
{$(WORKSPACE_TEMP_DIR)}}") 
FACTORY_DEF * TeeFactory    FACTORY_NAME 
ATTRIBUTEFILTER_3_DirCreatorCleanerUpper    INPUT FEATURE_TYPE __nukeme__ 
# Now route all the features into the recorder, changing their 
# feature type to the transformer name so that they view nicely 

FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_3_SetterUpper    INPUT 
 FEATURE_TYPE ATTRIBUTEFILTER_3    OUTPUT FEATURE_TYPE __viewme__ 
FACTORY_DEF * RecorderFactory    FACTORY_NAME ATTRIBUTEFILTER_3_Recorder    
INPUT FEATURE_TYPE __viewme__ @FeatureType(ATTRIBUTEFILTER_3$(CATMAC))    
FEATURE_FILE "$(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs"    MODE 
RECORD_PASS_THROUGH 
FACTORY_DEF * CreationFactory      FACTORY_NAME ATTRIBUTEFILTER_3_Trigger      
CREATE_AT_END      OUTPUT FEATURE_TYPE __nukeme__          @TCL("lappend 
gVisualizerFilesToView $(SAFE_FFS_NAME)") 
FACTORY_DEF * TeeFactory    FACTORY_NAME ATTRIBUTEFILTER_3_CleanerUpper    
INPUT FEATURE_TYPE __nukeme__ 

# -------------------------------------------------------------------------

# Set the directive to add all the meta-attributes to the features. 
# We do this so users see all possible information in the viewed 
# features. 

READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basename 
# First, set up the temporary directory that will be used for 
# the recordings we will be viewing (these three lines do this) 
# They assume that the WORKSPACE_NAME macro has already been set 

DEFAULT_MACRO WORKSPACE_TEMP_DIR 
INCLUDE [ if {[string length {$(WORKSPACE_TEMP_DIR)}] < 2} {               if 
{[info exists env(TEMP)]}                  {set gVisualizerTemp $env(TEMP)}     
          else                  {set gVisualizerTemp c:} ;               regsub 
-all { } {$(WORKSPACE_NAME)} {_} wsname;               set gVisualizerTemp 
$gVisualizerTemp\\${wsname}_[clock format [clock seconds] -format %H%M%S] ;     
          puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp";         } ;         
if { [string length {}] > 0 } {             set catter "" ;             set 
comma "" ;             foreach attr "" {                 set catter 
"$catter$comma&$attr" ;                 set comma ",_," ;             } ;       
      puts "MACRO CATMAC [EMAIL PROTECTED]($catter)" ;         }         else { 
            puts "MACRO CATMAC " ;         };         set safeName [regsub -all 
{[\\/\*\?\|\>\<:\$\;]} {ATTRIBUTEFILTER_<UNFILTERED>} _];         puts "MACRO 
SAFE_FFS_NAME $safeName";         ] 
# Make the temporary directory that the FFS files will live in. 
FACTORY_DEF * CreationFactory      FACTORY_NAME 
ATTRIBUTEFILTER_<UNFILTERED>_DirCreator      OUTPUT FEATURE_TYPE __nukeme__     
     @TCL("catch {file mkdir {$(WORKSPACE_TEMP_DIR)}}") 
FACTORY_DEF * TeeFactory    FACTORY_NAME 
ATTRIBUTEFILTER_<UNFILTERED>_DirCreatorCleanerUpper    INPUT FEATURE_TYPE 
__nukeme__ 
# Now route all the features into the recorder, changing their 
# feature type to the transformer name so that they view nicely 

FACTORY_DEF * TeeFactory    FACTORY_NAME 
ATTRIBUTEFILTER_<UNFILTERED>_SetterUpper    INPUT  FEATURE_TYPE 
ATTRIBUTEFILTER_<UNFILTERED>    OUTPUT FEATURE_TYPE __viewme__ 
FACTORY_DEF * RecorderFactory    FACTORY_NAME 
ATTRIBUTEFILTER_<UNFILTERED>_Recorder    INPUT FEATURE_TYPE __viewme__ 
@FeatureType(ATTRIBUTEFILTER_<UNFILTERED>$(CATMAC))    FEATURE_FILE 
"$(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs"    MODE RECORD_PASS_THROUGH 
FACTORY_DEF * CreationFactory      FACTORY_NAME 
ATTRIBUTEFILTER_<UNFILTERED>_Trigger      CREATE_AT_END      OUTPUT 
FEATURE_TYPE __nukeme__          @TCL("lappend gVisualizerFilesToView 
$(SAFE_FFS_NAME)") 
FACTORY_DEF * TeeFactory    FACTORY_NAME 
ATTRIBUTEFILTER_<UNFILTERED>_CleanerUpper    INPUT FEATURE_TYPE __nukeme__ 

# -------------------------------------------------------------------------

FACTORY_DEF * TestFactory   FACTORY_NAME "Final Output Feature Type Router"   
INPUT FEATURE_TYPE *   TEST @Value(__wb_out_feat_type__) == ""   OUTPUT FAILED 
FEATURE_TYPE *     @FeatureType(@Value(__wb_out_feat_type__)) 
# -------------------------------------------------------------------------

FACTORY_DEF * CreationFactory   CREATE_AT_END   OUTPUT FEATURE_TYPE __NUKEME__  
 @TCL("eval exec fmeview /ownffs {{$(WORKSPACE_TEMP_DIR)}} 
$gVisualizerFilesToView &") 
FACTORY_DEF * TeeFactory   INPUT FEATURE_TYPE __NUKEME__ 
# -------------------------------------------------------------------------

SHAPE_1 *
NULL_1 *

Reply via email to