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=". %-#[]"()!?*'&+\/"
#! 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)