Thom,

> Thanks for the suggestion. Actually, I did get as far as single vertex bits.
> The thing that is throwing me is the "write out those coordinates" part. I
> can see some of the values if I pump the output into a Logger. But I haven't
> found anything that will write all of the vertices in text format. There is
> a TEXTLINE data type, but dumping to that doesn't produce any output.

Sorry about that, I tend to go a bit too fast on those bits.

Anyway, in order to write out your coordinates to a text file, it's 
easiest to go for a CSV output (CSV is comma-separated ascii text). 
Simply add a CSV destination dataset, create a feature for it and 
include columns to hold the x, y and z values.

I've attached a sample workbench that shows this.
-- 
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
#
#
#    Commandline to run this workspace:
#
#    fme.exe shape2csv.fmw
#          --SourceDataset H:\Datastore\Misc\course\wegennet.shp
#          --DestDataset ""
#
#
#! GRID_VISIBLE="false"
#! ZOOM_SCALE="100"
#! FME_BUILD_NUM="1609"
#! FFS_ROUTING_DIR=""
#! FFS_ROUTING_DIR_SRC=""
#! ROUTE_FROM_FFS="false"
#! GRID_HEIGHT="50"
#! ROUTE_TO_VIEWER="false"
#! TITLE=""
#! SHOW_INFO_NODES="true"
#! SHOW_BOOKMARKS="OUTLINE"
#! 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:\Datastore\Misc\course\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="1609"
#! />
#! <DATASET
#! IS_SOURCE="false"
#! FORMAT="CSV"
#! DATASET=""
#! KEYWORD="CSV_1"
#! MULTI_GEOM_ALLOWED="true"
#! ATTR_MAX_LENGTH="32"
#! ATTR_CASE="ANY"
#! ALLOWED_FEAT_TYPES=""
#! COORDSYS=""
#! WRITE_DEFS="true"
#! 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=". %-#[]&quot;()!?*&apos;&amp;+\/"
#! SUPPORTS_FEATURE_TYPE_FANOUT="true"
#! ENABLED="true"
#! GENERATE_FME_BUILD_NUM="1609"
#! />
#! </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="memo"
#! 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="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="char(width)"
#! FME_TYPE="fme_varchar(width)"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="memo"
#! FME_TYPE="fme_buffer"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="char(20)"
#! FME_TYPE="fme_datetime"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="char(12)"
#! FME_TYPE="fme_time"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="date"
#! FME_TYPE="fme_date"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(31,15)"
#! FME_TYPE="fme_real64"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(31,15)"
#! FME_TYPE="fme_real32"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(11,0)"
#! FME_TYPE="fme_int32"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="logical"
#! FME_TYPE="fme_boolean"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(6,0)"
#! FME_TYPE="fme_int16"
#! FORMAT="CSV"
#! />
#! <DATA_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="number(width,decimal)"
#! FME_TYPE="fme_decimal(width,decimal)"
#! FORMAT="CSV"
#! />
#! </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="csv_none"
#! FME_TYPE="fme_no_geom"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_point"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_line"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_area"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_text"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_ellipse"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_arc"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_rectangle"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="csv_none"
#! FME_TYPE="fme_rounded_rectangle"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="fme_no_map"
#! FME_TYPE="fme_no_geom"
#! FORMAT="CSV"
#! />
#! <GEOM_TYPE
#! IS_SOURCE="false"
#! FORMAT_TYPE="fme_no_map"
#! FME_TYPE="fme_no_map"
#! FORMAT="CSV"
#! />
#! </GEOM_TYPES>
#! <FEATURE_TYPES>
#! <FEATURE_TYPE
#! IS_SOURCE="true"
#! NODE_NAME="wegennet"
#! IS_EDITABLE="false"
#! IDENTIFIER="0"
#! FEAT_GEOMTYPE="shape_polyline"
#! POSITION="100 -308"
#! ORDER="4"
#! COLLAPSED="true"
#! KEYWORD="SHAPE_1"
#! ENABLED="true"
#! MERGE="true"
#! 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_TYPE
#! IS_SOURCE="false"
#! NODE_NAME="wegennet"
#! IS_EDITABLE="true"
#! IDENTIFIER="1"
#! FEAT_GEOMTYPE="All"
#! POSITION="2076 -465"
#! ORDER="5"
#! COLLAPSED="true"
#! KEYWORD="CSV_1"
#! ENABLED="true"
#! FANOUT="false"
#! FANOUT_ID_ATTR=""
#! >
#! <FEAT_ATTRIBUTE ATTR_NAME="x" ATTR_TYPE="number(30,3)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="y" ATTR_TYPE="number(30,3)"/>
#! <FEAT_ATTRIBUTE ATTR_NAME="z" ATTR_TYPE="number(30,3)"/>
#! </FEATURE_TYPE>
#! </FEATURE_TYPES>
#! <COMMENTS>
#! <COMMENT
#! IDENTIFIER="14"
#! COMMENT_VALUE="Source Types|"
#! POSITION="100 0"
#! ORDER="6"
#! FOLLOW_ANCHOR="true"
#! INFO_NODE="false"
#! />
#! <COMMENT
#! IDENTIFIER="15"
#! COMMENT_VALUE="Destination Types|"
#! POSITION="1000 0"
#! ORDER="7"
#! FOLLOW_ANCHOR="true"
#! INFO_NODE="false"
#! />
#! <COMMENT
#! IDENTIFIER="16"
#! COMMENT_VALUE="Data Flow|"
#! POSITION="550 0"
#! ORDER="8"
#! FOLLOW_ANCHOR="true"
#! INFO_NODE="false"
#! />
#! <COMMENT
#! IDENTIFIER="17"
#! COMMENT_VALUE="All features from this dataset will be|routed through this 
feature type.|"
#! POSITION="100 -100"
#! ORDER="9"
#! FOLLOW_ANCHOR="true"
#! INFO_NODE="false"
#! ANCHORED_NODE="0"
#! />
#! </COMMENTS>
#! <CONSTANTS>
#! </CONSTANTS>
#! <BOOKMARKS>
#! </BOOKMARKS>
#! <TRANSFORMERS>
#! <TRANSFORMER
#! IDENTIFIER="6"
#! TYPE="Chopper"
#! VERSION="0"
#! POSITION="622 -249"
#! ORDER="10"
#! PARMS_EDITED="true"
#! ENABLED="true"
#! >
#! <OUTPUT_FEAT NAME="CHOPPED"/>
#! <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"/>
#! <OUTPUT_FEAT NAME="UNTOUCHED"/>
#! <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_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="CHOPPER" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="MAX" PARM_VALUE="1" ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! <TRANSFORMER
#! IDENTIFIER="8"
#! TYPE="CoordinateFetcher"
#! VERSION="1"
#! POSITION="1292 -344"
#! 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="x" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="y" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_ATTR ATTR_NAME="z" IS_USER_CREATED="false" FEAT_INDEX="0"/>
#! <XFORM_PARM PARM_NAME="IND" PARM_VALUE="0" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="XFORMER_NAME" PARM_VALUE="COORDINATEFETCHER" 
ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="Y_ATTR" PARM_VALUE="y" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="X_ATTR" PARM_VALUE="x" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="Z_ATTR" PARM_VALUE="z" ALWAYS_PROMPT_PARM="false"/>
#! <XFORM_PARM PARM_NAME="Z_DEFAULT" PARM_VALUE="-9999" 
ALWAYS_PROMPT_PARM="false"/>
#! </TRANSFORMER>
#! </TRANSFORMERS>
#! <FEAT_LINKS>
#! <FEAT_LINK
#! IDENTIFIER="7"
#! SOURCE_NODE="0"
#! TARGET_NODE="6"
#! SOURCE_PORT_DESC="-1"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="9"
#! SOURCE_NODE="6"
#! TARGET_NODE="8"
#! SOURCE_PORT_DESC="fo 0"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="10"
#! SOURCE_NODE="6"
#! TARGET_NODE="8"
#! SOURCE_PORT_DESC="fo 1"
#! TARGET_PORT_DESC="fi 0"
#! EXTRA_POINTS=""
#! />
#! <FEAT_LINK
#! IDENTIFIER="11"
#! SOURCE_NODE="8"
#! TARGET_NODE="1"
#! SOURCE_PORT_DESC="fo 0"
#! TARGET_PORT_DESC="-1"
#! 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 02/11/05 15:17:34 for translation between SHAPE and CSV
# 
# This workspace was generated with FME build 1609
#
# 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 CSV 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 CSV
WRITER_KEYWORD CSV_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:\Datastore\Misc\course\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 "CSV_1"
#! END_WB_HEADER
#! START_DEST_HEADER CSV CSV_1

# ============================================================================
# The following GUI line prompts for a directory where the
# CSV files will be stored
  
#! END_DEST_HEADER
#! START_WB_HEADER
DEFAULT_MACRO DestDataset
INCLUDE [ if {"$(DestDataset)" != ""} {                          \
 puts {DEFAULT_MACRO DestDataset_CSV_1 $(DestDataset)}         \
 } ]
#! END_WB_HEADER
#! START_DEST_HEADER CSV CSV_1
DEFAULT_MACRO DestDataset_CSV_1 
GUI DIRNAME DestDataset_CSV_1 CSV File Directory:
  
# ============================================================================
# The following determines the extension for output CSV files
DEFAULT_MACRO _OUT_EXTENSION_CSV_1 csv
GUI TEXT _OUT_EXTENSION_CSV_1 Output Filename Extension:
CSV_1_EXTENSION $(_OUT_EXTENSION_CSV_1)
  
# ============================================================================
# The following determines whether field names will be written on
# the first row of the file.
DEFAULT_MACRO _OUT_FIELD_NAMES_CSV_1 no
GUI CHOICE _OUT_FIELD_NAMES_CSV_1 yes%no Output Field Names:
CSV_1_FIELD_NAMES $(_OUT_FIELD_NAMES_CSV_1)
  
# ============================================================================
# The following determines the field seperator
DEFAULT_MACRO _OUT_SEPARATOR_CSV_1 ,
GUI OPTIONAL TEXT _OUT_SEPARATOR_CSV_1 Output Separator Character:
CSV_1_SEPARATOR ("$(_OUT_SEPARATOR_CSV_1)")
  
# ============================================================================
# The following specifies if output values should be quoted
  
DEFAULT_MACRO _OUT_QUOTE_OUTPUT_CSV_1 if_needed
GUI CHOICE _OUT_QUOTE_OUTPUT_CSV_1 yes%if_needed%no Quote Output Values:
  
CSV_1_QUOTE_OUTPUT $(_OUT_QUOTE_OUTPUT_CSV_1)
  
# ============================================================================
# The following choice determines if field names on the first row
# should be quoted or not.
  
DEFAULT_MACRO _QUOTE_FIELD_NAMES_CSV_1 no
GUI CHOICE _QUOTE_FIELD_NAMES_CSV_1 yes%no Quote Field Names:
  
CSV_1_QUOTE_FIELD_NAMES $(_QUOTE_FIELD_NAMES_CSV_1)
  
CSV_1_DATASET "$(DestDataset_CSV_1)"

#! END_DEST_HEADER
#! END_HEADER

LOG_FILENAME "H:\Datastore\Misc\course\shape2csv.log"
LOG_APPEND NO
DEFAULT_MACRO DATASET_KEYWORD_SHAPE_1 SHAPE_1
DEFAULT_MACRO DATASET_KEYWORD_CSV_1 CSV_1
# -------------------------------------------------------------------------

SHAPE_1_READER_META_ATTRIBUTES fme_feature_type

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


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

MACRO WORKSPACE_NAME shape2csv 
# -------------------------------------------------------------------------
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 
Tcl2 proc SHAPE_1_Merger { } {   global FME_FeatureType;   set lowerFeatureType 
[string tolower $FME_FeatureType];   switch -glob -- $lowerFeatureType {     * 
{ set FME_FeatureType {wegennet} }   }; } 
FACTORY_DEF * TestFactory   FACTORY_NAME "SHAPE_1 Merger"   INPUT FEATURE_TYPE 
*   TEST @Lookup(___KnownFeatureTypes___,@FeatureType()) == yes   OUTPUT PASSED 
FEATURE_TYPE *   OUTPUT FAILED FEATURE_TYPE *     @Tcl2("SHAPE_1_Merger") 
# -------------------------------------------------------------------------

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 CHOPPER_Splitter    INPUT  
FEATURE_TYPE wegennet    OUTPUT FEATURE_TYPE ___TOCHOP___ 
FACTORY_DEF * ChoppingFactory    FACTORY_NAME CHOPPER_Areas    INPUT 
FEATURE_TYPE ___TOCHOP___ fme_type fme_area    MAX_VERTICES 1    CHOP_POLYGONS  
  OUTPUT CHOPPED FEATURE_TYPE CHOPPER_CHOPPED    OUTPUT UNTOUCHED FEATURE_TYPE 
CHOPPER_UNTOUCHED 
FACTORY_DEF * ChoppingFactory    FACTORY_NAME CHOPPER_Lines    INPUT 
FEATURE_TYPE ___TOCHOP___ fme_type fme_line    MAX_VERTICES 1    OUTPUT CHOPPED 
FEATURE_TYPE CHOPPER_CHOPPED    OUTPUT UNTOUCHED FEATURE_TYPE CHOPPER_UNTOUCHED 
FACTORY_DEF * TeeFactory    FACTORY_NAME CHOPPER_EverythingElse    INPUT 
FEATURE_TYPE ___TOCHOP___    OUTPUT FEATURE_TYPE CHOPPER_UNTOUCHED 

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

FACTORY_DEF * TestFactory    FACTORY_NAME COORDINATEFETCHER    INPUT  
FEATURE_TYPE CHOPPER_CHOPPED    INPUT  FEATURE_TYPE CHOPPER_UNTOUCHED    TEST 
@Dimension() == 2    OUTPUT PASSED FEATURE_TYPE COORDINATEFETCHER_OUTPUT        
 x @Coordinate(x,0,FLATTEN_AGGREGATE)         y 
@Coordinate(y,0,FLATTEN_AGGREGATE)         @SupplyAttributes(z,-9999)    OUTPUT 
FAILED FEATURE_TYPE COORDINATEFETCHER_OUTPUT         x 
@Coordinate(x,0,FLATTEN_AGGREGATE)         y @Coordinate(y,0,FLATTEN_AGGREGATE) 
        z @Coordinate(z,0,FLATTEN_AGGREGATE) 

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

FACTORY_DEF * TeeFactory    FACTORY_NAME "COORDINATEFETCHER_OUTPUT -> wegennet 
Correlator"    INPUT FEATURE_TYPE COORDINATEFETCHER_OUTPUT    OUTPUT 
FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__       @Transform(FME_GENERIC,CSV)    
   __wb_out_feat_type__ wegennet 
# -------------------------------------------------------------------------

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

SHAPE_1 *
CSV_1 *

# -------------------------------------------------------------------------
CSV_1_DEF wegennet   x                            number(30,3)   y              
              number(30,3)   z                            number(30,3) 

Reply via email to