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="(&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="<BLANK>"/>
#! <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="<UNFILTERED>"/>
#! <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_<UNFILTERED>" 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 *