#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
GUI IGNORE SourceDataset_JPEG_1,SourceDataset_SHAPE_1,SHAPE_IN_ENCODING_SHAPE_1,_SHAPE_MINX_SHAPE_1,_SHAPE_MINY_SHAPE_1,_SHAPE_MAXX_SHAPE_1,_SHAPE_MAXY_SHAPE_1,SHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPE_1,_MEASURES_AS_Z_SHAPE_1,SHAPE_IN_DISSOLVE_HOLES_SHAPE_1,SHAPE_IN_REPORT_BAD_GEOMETRY_SHAPE_1,SHAPE_IN_TRIM_PRECEDING_SPACES_SHAPE_1,DestDataset_PDF_1,PDF_OUT_DISPLAY_NAVIGATION_UI_PDF_1,PDF_OUT_BACKGROUND_COLOR_PDF_1,PDF_OUT_2D_FEATURE_HANDLING_PDF_1,PDF_CENTER_COORDINATES_PDF_1,PDF_PAGE_SIZE_PDF_1,PDF_NODE_CREATION_LIST_PDF_1
DEFAULT_MACRO SourceDataset_JPEG $(FME_MF_DIR)landsat\landsat_molokai-lanai_n83.jpg
GUI MULTIFILE SourceDataset_JPEG JPEG_Files(*.jpg;*.jpeg)|*.jpg;*.jpeg|JPEG_Files(*.jpg)|*.jpg|JPEG_Files(*.jpeg)|*.jpeg|All_Files(*.*)|*.* Source JPEG File(s):
DEFAULT_MACRO DestDataset_PDF $(FME_MF_DIR)LanaiMolokai.pdf
GUI FILENAME DestDataset_PDF PDF_Files(*.pdf)|*.pdf|All_files(*.*)|*.* Destination Adobe 3D PDF File:
DEFAULT_MACRO TOLERANCE 200
GUI FLOAT TOLERANCE Generalization Tolerance:
DEFAULT_MACRO SourceDataset_SHAPE ""$(FME_MF_DIR)shapefiles\lancntrs100.shp" "$(FME_MF_DIR)shapefiles\molcntrs100.shp""
GUI MULTIFILE SourceDataset_SHAPE Shape_Files(*.shp)|*.shp|All_Files(*.*)|*.* Source ESRI Shape File(s):
INCLUDE [ if {{$(SourceDataset_JPEG)} == {}} { puts_real {Parameter 'SourceDataset_JPEG' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(DestDataset_PDF)} == {}} { puts_real {Parameter 'DestDataset_PDF' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(TOLERANCE)} == {}} { puts_real {Parameter 'TOLERANCE' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(SourceDataset_SHAPE)} == {}} { puts_real {Parameter 'SourceDataset_SHAPE' must be given a value.}; exit 1; }; ]
#! START_HEADER
#! START_WB_HEADER
READER_TYPE MULTI_READER
MULTI_READER_TYPE{0} JPEG
MULTI_READER_KEYWORD{0} JPEG_1
MULTI_READER_GEN_DIRECTIVES{0} _MERGE_SCHEMAS,YES,GROUP_BY_DATASET,No
MULTI_READER_TYPE{1} SHAPE
MULTI_READER_KEYWORD{1} SHAPE_1
MULTI_READER_GEN_DIRECTIVES{1} UPPER_CASE_ATTR_NAMES,No,_MERGE_SCHEMAS,YES,_EXTRA_DATASETS,C:DocumentsandSettingsdbaghMyDocumentsMyFMEWorkspacesExperiments3DHawaiiDEMExampleshapefilesmolcntrs100.shp,ENCODING,
WRITER_TYPE PDF
WRITER_KEYWORD PDF_1
#! END_WB_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "JPEG_1"
#! END_WB_HEADER
#! START_SOURCE_HEADER JPEG JPEG_1
DEFAULT_MACRO JPEG_IN_GROUP_BY_DATASET_JPEG_1 No
JPEG_1_GROUP_BY_DATASET "$(JPEG_IN_GROUP_BY_DATASET_JPEG_1)"
# =======================================================================
# The following GUI line prompts for a file to be used as the source JPEG file.
# The user input is stored in a macro, which is then used to define
# the dataset to be read.
# 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_JPEG_1 $(SourceDataset)} \
} ]
#! END_WB_HEADER
#! START_SOURCE_HEADER JPEG JPEG_1
DEFAULT_MACRO SourceDataset_JPEG_1 $(SourceDataset_JPEG)
GUI MULTIFILE SourceDataset_JPEG_1 JPEG_Files(*.jpg;*.jpeg)|*.jpg;*.jpeg|JPEG_Files(*.jpg)|*.jpg|JPEG_Files(*.jpeg)|*.jpeg|All_Files(*.*)|*.* Source JPEG File(s):
JPEG_1_READER_META_ATTRIBUTES fme_dataset fme_basename
JPEG_1_DATASET "$(SourceDataset_JPEG_1)"
#! END_SOURCE_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 $(SourceDataset_SHAPE)
GUI MULTIFILE SourceDataset_SHAPE_1 Shape_Files(*.shp)|*.shp|All_Files(*.*)|*.* Source ESRI Shape File(s):
# =====================================================================
# Provide some control over what attributes have the user-selected
# encoding applied. Normally all attributes are updated after being
# read, but the following lines exclude from this treatment all
# attributes whose names start with fme_ or shape_.
SHAPE_1_UNENCODED_ATTR_PREFIX fme_ shape_
# ============================================================================
# Determines whether the attribute names should be uppercased, or whether they
# should stay as specified in the shape file. Once the mapping file/workspace
# has been generated, the value for this keyword should not be changed.
DEFAULT_MACRO SHAPE_IN_UPPER_CASE_ATTR_NAMES_SHAPE_1 No
SHAPE_1_UPPER_CASE_ATTR_NAMES "$(SHAPE_IN_UPPER_CASE_ATTR_NAMES_SHAPE_1)"
# ============================================================================
# The following keyword allows the user to choose what encoding to
# use for reading the shape file, overrides dbf file LDID or .cpg
# file if present.
DEFAULT_MACRO SHAPE_IN_ENCODING_SHAPE_1
SHAPE_1_ENCODING "$(SHAPE_IN_ENCODING_SHAPE_1)"
GUI OPTIONAL ENCODING SHAPE_IN_ENCODING_SHAPE_1 ANSI%BIG5%EUC%HKBIG5%ISO%OEM%SJIS%UTF-8%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO8859-13%ISO8859-15 Character Encoding:
# ============================================================================
# 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 Search Envelope Min X:
DEFAULT_MACRO _SHAPE_MINY_SHAPE_1 0
GUI FLOAT _SHAPE_MINY_SHAPE_1 Search Envelope Min Y:
DEFAULT_MACRO _SHAPE_MAXX_SHAPE_1 0
GUI FLOAT _SHAPE_MAXX_SHAPE_1 Search Envelope Max X:
DEFAULT_MACRO _SHAPE_MAXY_SHAPE_1 0
GUI FLOAT _SHAPE_MAXY_SHAPE_1 Search Envelope Max Y:
SHAPE_1_SEARCH_ENVELOPE $(_SHAPE_MINX_SHAPE_1) $(_SHAPE_MINY_SHAPE_1) $(_SHAPE_MAXX_SHAPE_1) $(_SHAPE_MAXY_SHAPE_1)
# ============================================================================
# Search Envelope Coordinate System
DEFAULT_MACRO SHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPE_1
GUI OPTIONAL COORDSYS SHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPE_1 Search Envelope Coordinate System:
SHAPE_1_SEARCH_ENVELOPE_COORDINATE_SYSTEM "$(SHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_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)
# ============================================================================
# The following keyword sets whether the reader dissolves holes in donuts.
DEFAULT_MACRO SHAPE_IN_DISSOLVE_HOLES_SHAPE_1 no
GUI CHOICE SHAPE_IN_DISSOLVE_HOLES_SHAPE_1 yes%no Dissolve Adjacent Holes:
SHAPE_1_DISSOLVE_HOLES $(SHAPE_IN_DISSOLVE_HOLES_SHAPE_1)
# ============================================================================
# The following keyword sets whether bad geometry should be reported via
# the shape_geometry_error{} list attribute.
DEFAULT_MACRO SHAPE_IN_REPORT_BAD_GEOMETRY_SHAPE_1 no
GUI CHOICE SHAPE_IN_REPORT_BAD_GEOMETRY_SHAPE_1 yes%no Report Geometry Anomalies:
SHAPE_1_REPORT_BAD_GEOMETRY $(SHAPE_IN_REPORT_BAD_GEOMETRY_SHAPE_1)
DEFAULT_MACRO SHAPE_IN_TRIM_PRECEDING_SPACES_SHAPE_1 YES
GUI CHOICE SHAPE_IN_TRIM_PRECEDING_SPACES_SHAPE_1 yes%no Trim Preceding Spaces:
SHAPE_1_TRIM_PRECEDING_SPACES $(SHAPE_IN_TRIM_PRECEDING_SPACES_SHAPE_1)
SHAPE_1_DATASET "$(SourceDataset_SHAPE_1)"
#! END_SOURCE_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "PDF_1"
#! END_WB_HEADER
#! START_DEST_HEADER PDF PDF_1
# =====================================================================
# The following GUI line prompts for a directory to be used as the
# the destination for the SDF3 files. The user input is stored in
# a macro, which is then used to define the dataset to be written.
#! END_DEST_HEADER
#! START_WB_HEADER
DEFAULT_MACRO DestDataset
INCLUDE [ if {"$(DestDataset)" != ""} { \
puts {DEFAULT_MACRO DestDataset_PDF_1 $(DestDataset)} \
} ]
#! END_WB_HEADER
#! START_DEST_HEADER PDF PDF_1
DEFAULT_MACRO DestDataset_PDF_1 $(DestDataset_PDF)
GUI FILENAME DestDataset_PDF_1 PDF_Files(*.pdf)|*.pdf|All_files(*.*)|*.* Destination Adobe 3D PDF File:
DEFAULT_MACRO PDF_OUT_DISPLAY_NAVIGATION_UI_PDF_1 No
PDF_1_DISPLAY_NAVIGATION_UI "$(PDF_OUT_DISPLAY_NAVIGATION_UI_PDF_1)"
GUI CHECKBOX PDF_OUT_DISPLAY_NAVIGATION_UI_PDF_1 Yes%No Display navigation UI:
DEFAULT_MACRO PDF_OUT_BACKGROUND_COLOR_PDF_1 0.666667,1,1
PDF_1_BACKGROUND_COLOR "$(PDF_OUT_BACKGROUND_COLOR_PDF_1)"
GUI COLOR_PICK PDF_OUT_BACKGROUND_COLOR_PDF_1 Background color:
DEFAULT_MACRO PDF_OUT_2D_FEATURE_HANDLING_PDF_1 REORIENT
PDF_1_2D_FEATURE_HANDLING "$(PDF_OUT_2D_FEATURE_HANDLING_PDF_1)"
GUI CHECKBOX PDF_OUT_2D_FEATURE_HANDLING_PDF_1 REORIENT%AS_IS Reorient 2D features for visibility
DEFAULT_MACRO PDF_CENTER_COORDINATES_PDF_1 Yes
GUI CHOICE PDF_CENTER_COORDINATES_PDF_1 Yes%No Center coordinates at the origin:
PDF_1_CENTER_COORDINATES "$(PDF_CENTER_COORDINATES_PDF_1)"
DEFAULT_MACRO PDF_PAGE_SIZE_PDF_1 600 600
GUI OPTIONAL TEXT PDF_PAGE_SIZE_PDF_1 Page size:
PDF_1_PAGE_SIZE "$(PDF_PAGE_SIZE_PDF_1)"
DEFAULT_MACRO PDF_NODE_CREATION_LIST_PDF_1
GUI OPTIONAL TEXT PDF_NODE_CREATION_LIST_PDF_1 Node creation list:
PDF_1_NODE_CREATION_LIST "$(PDF_NODE_CREATION_LIST_PDF_1)"
PDF_1_DATASET "$(DestDataset_PDF_1)"
#! END_DEST_HEADER
#! END_HEADER
LOG_FILENAME "$(FME_MF_DIR)hawaiiDEMPDF_new.log"
LOG_APPEND NO
LOG_MAX_FEATURES 200
LOG_MAX_RECORDED_FEATURES 200
FME_REPROJECTION_ENGINE FME
FME_GEOMETRY_HANDLING Enhanced
FME_STROKE_MAX_DEVIATION 0
LOG_TIMINGS YES
LOG_FILTER_MASK -1
DEFAULT_MACRO DATASET_KEYWORD_JPEG_1 JPEG_1
DEFAULT_MACRO DATASET_KEYWORD_SHAPE_1 SHAPE_1
DEFAULT_MACRO DATASET_KEYWORD_PDF_1 PDF_1
# -------------------------------------------------------------------------
JPEG_1_READER_META_ATTRIBUTES fme_basename fme_feature_type
# -------------------------------------------------------------------------
SHAPE_1_READER_META_ATTRIBUTES fme_feature_type
# -------------------------------------------------------------------------
MULTI_READER_CONTINUE_ON_READER_FAILURE No
# -------------------------------------------------------------------------
MACRO WORKSPACE_NAME hawaiiDEMPDF_new
MACRO FME_VIEWER_APP fmeview
# -------------------------------------------------------------------------
JPEG_1_DEF JPEG
# -------------------------------------------------------------------------
SHAPE_1_DEF molcntrs100 SHAPE_GEOMETRY shape_polyline CONTOUR number(11,0)
# -------------------------------------------------------------------------
SHAPE_1_DEF lancntrs100 SHAPE_GEOMETRY shape_polyline CONTOUR number(11,0)
# -------------------------------------------------------------------------
Lookup ___KnownFeatureTypes___ "$(DATASET_KEYWORD_SHAPE_1)_molcntrs100" yes "$(DATASET_KEYWORD_SHAPE_1)_lancntrs100" yes "$(DATASET_KEYWORD_JPEG_1)_JPEG" yes "" no
# -------------------------------------------------------------------------
FACTORY_DEF * TestFactory FACTORY_NAME "Unexpected Input Remover" INPUT FEATURE_TYPE * TEST @Lookup(___KnownFeatureTypes___,@Concatenate(&multi_reader_keyword,"_",@FeatureType())) == yes OUTPUT PASSED FEATURE_TYPE *
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "Source -> Generic" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE * @Transform(&multi_reader_type,FME_GENERIC,PRESERVE_GEOMETRY)
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "JPEG (JPEG_1) Splitter" INPUT FEATURE_TYPE JPEG OUTPUT FEATURE_TYPE JPEG_0 OUTPUT FEATURE_TYPE JPEG_1 OUTPUT FEATURE_TYPE JPEG_2
DEFAULT_MACRO WB_CURRENT_CONTEXT
# -------------------------------------------------------------------------
INCLUDE [ if { {No} == {Yes} } { puts {MACRO ___PRESERVE___ *}; puts {MACRO ___JUST_GEN___ NotThisTime}; } else { puts {MACRO ___PRESERVE___ NotThisTime}; puts {MACRO ___JUST_GEN___ *}; }; proc prepareForProcessing {params} { puts {MACRO Generalizer_3_PropagateAttributes_Options}; puts {MACRO Generalizer_3_PropagateAttributes_Funcs}; if { {No} == {Yes} } { set propagateAttrs ""; set first 1; foreach param $params { set raw_param $param; if { [string first {@Value(} "$param"] == 0 } { if {$first} { set first 0; } else { append propagateAttrs ","; }; set raw_param [string range $param 7 end-1]; append propagateAttrs "$raw_param,&__polyAttributes__{0}.$raw_param"; }; }; if {[string length $propagateAttrs] > 0} { set propagateAttrs "@SupplyAttributes($propagateAttrs)"; puts {MACRO Generalizer_3_PropagateAttributes_Options PROPAGATE_ATTRS POLYGONS_ATTR __polyAttributes__}; puts "MACRO Generalizer_3_PropagateAttributes_Funcs $propagateAttrs @RemoveAttributes(fme_regexp_match, __polyAttributes__.*)"; }; }; set args ""; if {[llength params] > 0} { set args [concat "," [join $params ","]]; }; puts "MACRO Generalizer_3_GeneralizeFunc @Generalize(Douglas $args)"; }; if { {Douglas} == {McMaster} } { prepareForProcessing [list ]; } elseif { {Douglas} == {McMasterWeightedDistance} } { prepareForProcessing [list ]; } elseif { {Douglas} == {Deveau} } { prepareForProcessing [list $(TOLERANCE) ]; } elseif { {Douglas} == {NURBfit} } { prepareForProcessing [list ]; } elseif { {Douglas} == {Inflection} } { prepareForProcessing [list ]; } elseif { {Douglas} == {Regression} } { prepareForProcessing [list]; } else { prepareForProcessing [list $(TOLERANCE)]; }; ]
# The following is for when we don't preserve boundaries
# We simply handle the input and then send it out
FACTORY_DEF $(___JUST_GEN___) TeeFactory FACTORY_NAME Generalizer_3_GeneralizeAll INPUT FEATURE_TYPE lancntrs100 OUTPUT FEATURE_TYPE ___sendout___ $(Generalizer_3_GeneralizeFunc)
# The following is for when we preserve boundaries (for areas)
FACTORY_DEF $(___PRESERVE___) TestFactory FACTORY_NAME Generalizer_3_AggregateTester INPUT FEATURE_TYPE lancntrs100 TEST &fme_geometry = fme_aggregate OUTPUT PASSED FEATURE_TYPE ___toDeag___ __area_id__ @Count(Generalizer_3) OUTPUT FAILED FEATURE_TYPE ___toTest___ __area_id__ @Count(Generalizer_3)
FACTORY_DEF $(___PRESERVE___) DeaggregateFactory FACTORY_NAME Generalizer_3_Deaggregater INPUT FEATURE_TYPE ___toDeag___ OUTPUT LINE FEATURE_TYPE ___toTest___ OUTPUT POLYGON FEATURE_TYPE ___toTest___ OUTPUT DONUT FEATURE_TYPE ___toTest___ OUTPUT POINT FEATURE_TYPE ___cleanup___ OUTPUT AGGREGATE FEATURE_TYPE ___cleanup___
FACTORY_DEF $(___PRESERVE___) TestFactory FACTORY_NAME Generalizer_3_EllipseTester INPUT FEATURE_TYPE ___toTest___ TEST &fme_type = fme_ellipse OUTPUT PASSED FEATURE_TYPE ___cleanup___ OUTPUT FAILED FEATURE_TYPE ___toTest___
FACTORY_DEF $(___PRESERVE___) TestFactory FACTORY_NAME Generalizer_3_LineTester INPUT FEATURE_TYPE ___toTest___ TEST &fme_type == fme_area BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE ___toTopo___ OUTPUT FAILED FEATURE_TYPE ___toGen___
FACTORY_DEF $(___PRESERVE___) TeeFactory FACTORY_NAME Generalizer_3_GeneralizeLines INPUT FEATURE_TYPE ___toGen___ $(Generalizer_3_GeneralizeFunc) OUTPUT FEATURE_TYPE ___toAgg___
FACTORY_DEF $(___PRESERVE___) TopologyFactory FACTORY_NAME Generalizer_3_TopologyMaker INPUT FEATURE_TYPE ___toTopo___ RIGHT_POLY_ATTR __right__ LEFT_POLY_ATTR __left__ POLYGON_NUMBER_ATTR __mypoly__ MAX_COORDS 0 $(Generalizer_3_PropagateAttributes_Options) OUTPUT LINE FEATURE_TYPE ___lines___ $(Generalizer_3_PropagateAttributes_Funcs) OUTPUT POLYGON FEATURE_TYPE ___areas___ @RemoveGeometry()
FACTORY_DEF $(___PRESERVE___) TeeFactory FACTORY_NAME Generalizer_3_GeneralizeAreas INPUT FEATURE_TYPE ___lines___ $(Generalizer_3_GeneralizeFunc) OUTPUT FEATURE_TYPE * @SupplyAttributes(__mypoly__,&__right__) OUTPUT FEATURE_TYPE * @SupplyAttributes(__mypoly__,&__left__)
FACTORY_DEF $(___PRESERVE___) PolygonFactory FACTORY_NAME Generalizer_3_PolygonMaker INPUT FEATURE_TYPE ___lines___ GROUP_BY __mypoly__ END_NODED OUTPUT POLYGON FEATURE_TYPE ___polies___
FACTORY_DEF $(___PRESERVE___) DonutFactory FACTORY_NAME Generalizer_3_DonutMaker GROUP_BY __mypoly__ INPUT FEATURE_TYPE ___polies___ DROP_HOLES yes OUTPUT DONUT FEATURE_TYPE ___polies___ OUTPUT POLYGON FEATURE_TYPE ___polies___
FACTORY_DEF $(___PRESERVE___) ReferenceFactory FACTORY_NAME Generalizer_3_Referencer INPUT REFERENCER FEATURE_TYPE ___polies___ INPUT REFERENCEE FEATURE_TYPE ___areas___ REFERENCE_INFO ATTRIBUTES JOIN_FME_ATTRS Yes REFERENCEE_FIELDS __mypoly__ REFERENCER_FIELDS __mypoly__ OUTPUT COMPLETE FEATURE_TYPE ___toAgg___
FACTORY_DEF $(___PRESERVE___) AggregateFactory FACTORY_NAME Generalizer_3_Aggregator INPUT FEATURE_TYPE ___toAgg___ GROUP_BY __area_id__ OUTPUT AGGREGATE FEATURE_TYPE ___cleanup___ OUTPUT SINGLETON FEATURE_TYPE ___cleanup___
FACTORY_DEF $(___PRESERVE___) TeeFactory FACTORY_NAME Generalizer_3_CleanUp INPUT FEATURE_TYPE ___cleanup___ OUTPUT FEATURE_TYPE ___sendout___ @RemoveAttributes(__area_id__,__mypoly__,tagged_hole)
# The following is for all input to gather before sending out
FACTORY_DEF * TeeFactory FACTORY_NAME Generalizer_3_SendOut INPUT FEATURE_TYPE ___sendout___ OUTPUT FEATURE_TYPE Generalizer_3_OUTPUT
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME 3DForcer_2 INPUT FEATURE_TYPE Generalizer_3_OUTPUT OUTPUT FEATURE_TYPE 3DForcer_2_OUTPUT @ZValue(@Value(CONTOUR))
# -------------------------------------------------------------------------
FACTORY_DEF * SurfaceModelFactory FACTORY_NAME TINGenerator_3 INPUT POINTS FEATURE_TYPE 3DForcer_2_OUTPUT TOLERANCE 5.0 OUTPUT TIN_SURFACE FEATURE_TYPE TINGenerator_3_TIN_SURFACE
FACTORY_DEF * TeeFactory FACTORY_NAME "TINGenerator_3 TIN_SURFACE Splitter" INPUT FEATURE_TYPE TINGenerator_3_TIN_SURFACE OUTPUT FEATURE_TYPE TINGenerator_3_TIN_SURFACE_0 OUTPUT FEATURE_TYPE TINGenerator_3_TIN_SURFACE_1
# -------------------------------------------------------------------------
# check if we have to do the min bounding box calculation
INCLUDE [ if { {BB} == {MINBB} } { puts {MACRO BoundingBoxReplacer_3_BBFunc @Bounds(MIN_BOUNDING,,)}; } else { puts {MACRO BoundingBoxReplacer_3_BBFunc @Bounds(___MINX,___MAXX,___MINY,___MAXY,___MINZ,___MAXZ,GEOMETRIC) @Tcl2(set_geom_and_type)}; } ]
Tcl2 proc set_geom_and_type {} { if {[FME_Coordinates numCoords] > 0} { FME_Execute RemoveGeometry; set minX [FME_GetAttribute ___MINX]; set minY [FME_GetAttribute ___MINY]; set maxX [FME_GetAttribute ___MAXX]; set maxY [FME_GetAttribute ___MAXY]; if { [string is double $minX] && [string is double $maxX] } { set xSame [expr $minX == $maxX] } else { set xSame [string equal $minX $maxX] }; if { [string is double $minY] && [string is double $maxY] } { set ySame [expr $minY == $maxY] } else { set ySame [string equal $minY $maxY] }; FME_Coordinates addCoord $minX $minY; if {$xSame && $ySame} { FME_Execute GeometryType fme_point; FME_SetAttribute fme_type fme_point } elseif {$xSame || $ySame} { FME_Coordinates addCoord $maxX $maxY; FME_Execute GeometryType fme_line; FME_SetAttribute fme_type fme_line } else { FME_Coordinates addCoord $minX $maxY; FME_Coordinates addCoord $maxX $maxY; FME_Coordinates addCoord $maxX $minY; FME_Coordinates addCoord $minX $minY; FME_Execute GeometryType fme_polygon; FME_SetAttribute fme_type fme_area }; FME_UnsetAttributes ___MINX ___MAXX ___MINY ___MAXY ___MINZ ___MAXZ; set width [expr $maxX - $minX]; set length [expr $maxY - $minY]; if {$width > $length} { set temp $length; set length $width; set width $temp; }; if { {} != {} } { FME_SetAttribute {} $width; }; if { {} != {} } { FME_SetAttribute {} $length; } } }
FACTORY_DEF * TeeFactory FACTORY_NAME BoundingBoxReplacer_3 INPUT FEATURE_TYPE TINGenerator_3_TIN_SURFACE_0 OUTPUT FEATURE_TYPE BoundingBoxReplacer_3_BOX @Force2D() $(BoundingBoxReplacer_3_BBFunc)
# -------------------------------------------------------------------------
INCLUDE [ if [FME_ComponentIsLicensed -factory RasterClippingFactory] { puts "MACRO RASTER_CLIPPER_IN *"; } else { puts "MACRO RASTER_CLIPPER_IN NOT_THIS_TIME"; } ]
FACTORY_DEF * TeeFactory FACTORY_NAME Clipper_3_ClipperCloner INPUT FEATURE_TYPE BoundingBoxReplacer_3_BOX INPUT FEATURE_TYPE Clipper_3_ClipperCloner_DUMMY OUTPUT FEATURE_TYPE Clipper_3___ClippersForVector___ OUTPUT FEATURE_TYPE Clipper_3___ClippersForRaster___
FACTORY_DEF * TestFactory FACTORY_NAME Clipper_3_ClippeeFilter INPUT FEATURE_TYPE JPEG_1 INPUT FEATURE_TYPE Clipper_3_ClippeeFilter_DUMMY TEST &fme_type == "fme_raster" OUTPUT FAILED FEATURE_TYPE Clipper_3___VectorClippees___ OUTPUT PASSED FEATURE_TYPE Clipper_3___RasterClippees___
FACTORY_DEF $(RASTER_CLIPPER_IN) RasterClippingFactory FACTORY_NAME Clipper_3_Raster INPUT CLIPPER FEATURE_TYPE Clipper_3___ClippersForRaster___ INPUT CLIPPEE FEATURE_TYPE Clipper_3___RasterClippees___ MULTICLIP NO MERGE_CLIPPER_ATTRIBUTES No PRESERVE_CLIPPEE_EXTENTS NO OUTPUT_NO_CLIPPERS_AS_OUTSIDE OUTSIDE_NO_CLIPPERS_ATTR _fme_no_clipper OUTPUT CLIPPED_INSIDE FEATURE_TYPE Clipper_3_CLIPPED_INSIDE OUTPUT EXTRA_CLIPPER FEATURE_TYPE Clipper_3__delete__ @Tcl2("FME_LogMessage fme_warn 917351 Clipper_3")
FACTORY_DEF * ClippingFactory FACTORY_NAME Clipper_3_Vector INPUT CLIPPER FEATURE_TYPE Clipper_3___ClippersForVector___ INPUT CLIPPEE FEATURE_TYPE Clipper_3___VectorClippees___ INPUT CLIPPEE FEATURE_TYPE Clipper_3___RasterClippees___ MULTICLIP NO CLIPPEE_ON_BOUNDARY INSIDE MERGE_CLIPPER_ATTRIBUTES No DO_NOT_AGGREGATE NO OUTPUT_NO_CLIPPERS_AS_OUTSIDE OUTSIDE_NO_CLIPPERS_ATTR _fme_no_clipper OUTPUT CLIPPED_INSIDE FEATURE_TYPE Clipper_3_CLIPPED_INSIDE OUTPUT EXTRA_CLIPPER FEATURE_TYPE Clipper_3__delete__ @Tcl2("FME_LogMessage fme_warn 917351 Clipper_3") OUTPUT NONPOLY_CLIPPER FEATURE_TYPE Clipper_3__delete__ @Tcl2("FME_LogMessage fme_warn 917352 Clipper_3")
FACTORY_DEF * TeeFactory FACTORY_NAME Clipper_3_Nuker INPUT FEATURE_TYPE Clipper_3__delete__ @Log("Offending feature was:")
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME AppearanceStyler_4 INPUT FEATURE_TYPE Clipper_3_CLIPPED_INSIDE OUTPUT FEATURE_TYPE AppearanceStyler_4_OUTPUT fme_appearance_style_name "" fme_appearance_style_diffuse_color "1,1,1" fme_appearance_style_ambient_color "" fme_appearance_style_specular_color "" fme_appearance_style_emissive_color "" fme_appearance_style_alpha "1.0" fme_appearance_style_shininess "" fme_texture_style_u_offset "0.0" fme_texture_style_v_offset "0.0" fme_texture_style_center_u "0.0" fme_texture_style_center_v "0.0" fme_texture_style_u_scaling_factor "1.0" fme_texture_style_v_scaling_factor "1.0" fme_texture_style_u_shearing_factor "0.0" fme_texture_style_v_shearing_factor "0.0" fme_texture_style_rotation_angle "0.0" fme_texture_style_wrap "REPEAT_BOTH" fme_texture_style_border_color ""
# -------------------------------------------------------------------------
FACTORY_DEF * SharedObjectFactory FACTORY_NAME AppearanceAdder_4 INPUT DEFINITION_FRONT FEATURE_TYPE AppearanceStyler_4_OUTPUT INPUT REFERENCER FEATURE_TYPE TINGenerator_3_TIN_SURFACE_1 MODE ADD SHARED_OBJECT_TYPE APPEARANCE OUTPUT SUCCESSFUL FEATURE_TYPE AppearanceAdder_4_SURFACE @Geometry(ASSIGN_TEXTURE_COORDINATES,XY_PLANE,1.0,1.0,0.0,0.0)
# -------------------------------------------------------------------------
INCLUDE [ if { {No} == {Yes} } { puts {MACRO ___PRESERVE___ *}; puts {MACRO ___JUST_GEN___ NotThisTime}; } else { puts {MACRO ___PRESERVE___ NotThisTime}; puts {MACRO ___JUST_GEN___ *}; }; proc prepareForProcessing {params} { puts {MACRO Generalizer_PropagateAttributes_Options}; puts {MACRO Generalizer_PropagateAttributes_Funcs}; if { {No} == {Yes} } { set propagateAttrs ""; set first 1; foreach param $params { set raw_param $param; if { [string first {@Value(} "$param"] == 0 } { if {$first} { set first 0; } else { append propagateAttrs ","; }; set raw_param [string range $param 7 end-1]; append propagateAttrs "$raw_param,&__polyAttributes__{0}.$raw_param"; }; }; if {[string length $propagateAttrs] > 0} { set propagateAttrs "@SupplyAttributes($propagateAttrs)"; puts {MACRO Generalizer_PropagateAttributes_Options PROPAGATE_ATTRS POLYGONS_ATTR __polyAttributes__}; puts "MACRO Generalizer_PropagateAttributes_Funcs $propagateAttrs @RemoveAttributes(fme_regexp_match, __polyAttributes__.*)"; }; }; set args ""; if {[llength params] > 0} { set args [concat "," [join $params ","]]; }; puts "MACRO Generalizer_GeneralizeFunc @Generalize(Wang $args)"; }; if { {Wang} == {McMaster} } { prepareForProcessing [list ]; } elseif { {Wang} == {McMasterWeightedDistance} } { prepareForProcessing [list ]; } elseif { {Wang} == {Deveau} } { prepareForProcessing [list $(TOLERANCE) ]; } elseif { {Wang} == {NURBfit} } { prepareForProcessing [list ]; } elseif { {Wang} == {Inflection} } { prepareForProcessing [list ]; } elseif { {Wang} == {Regression} } { prepareForProcessing [list]; } else { prepareForProcessing [list $(TOLERANCE)]; }; ]
# The following is for when we don't preserve boundaries
# We simply handle the input and then send it out
FACTORY_DEF $(___JUST_GEN___) TeeFactory FACTORY_NAME Generalizer_GeneralizeAll INPUT FEATURE_TYPE molcntrs100 OUTPUT FEATURE_TYPE ___sendout___ $(Generalizer_GeneralizeFunc)
# The following is for when we preserve boundaries (for areas)
FACTORY_DEF $(___PRESERVE___) TestFactory FACTORY_NAME Generalizer_AggregateTester INPUT FEATURE_TYPE molcntrs100 TEST &fme_geometry = fme_aggregate OUTPUT PASSED FEATURE_TYPE ___toDeag___ __area_id__ @Count(Generalizer) OUTPUT FAILED FEATURE_TYPE ___toTest___ __area_id__ @Count(Generalizer)
FACTORY_DEF $(___PRESERVE___) DeaggregateFactory FACTORY_NAME Generalizer_Deaggregater INPUT FEATURE_TYPE ___toDeag___ OUTPUT LINE FEATURE_TYPE ___toTest___ OUTPUT POLYGON FEATURE_TYPE ___toTest___ OUTPUT DONUT FEATURE_TYPE ___toTest___ OUTPUT POINT FEATURE_TYPE ___cleanup___ OUTPUT AGGREGATE FEATURE_TYPE ___cleanup___
FACTORY_DEF $(___PRESERVE___) TestFactory FACTORY_NAME Generalizer_EllipseTester INPUT FEATURE_TYPE ___toTest___ TEST &fme_type = fme_ellipse OUTPUT PASSED FEATURE_TYPE ___cleanup___ OUTPUT FAILED FEATURE_TYPE ___toTest___
FACTORY_DEF $(___PRESERVE___) TestFactory FACTORY_NAME Generalizer_LineTester INPUT FEATURE_TYPE ___toTest___ TEST &fme_type == fme_area BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE ___toTopo___ OUTPUT FAILED FEATURE_TYPE ___toGen___
FACTORY_DEF $(___PRESERVE___) TeeFactory FACTORY_NAME Generalizer_GeneralizeLines INPUT FEATURE_TYPE ___toGen___ $(Generalizer_GeneralizeFunc) OUTPUT FEATURE_TYPE ___toAgg___
FACTORY_DEF $(___PRESERVE___) TopologyFactory FACTORY_NAME Generalizer_TopologyMaker INPUT FEATURE_TYPE ___toTopo___ RIGHT_POLY_ATTR __right__ LEFT_POLY_ATTR __left__ POLYGON_NUMBER_ATTR __mypoly__ MAX_COORDS 0 $(Generalizer_PropagateAttributes_Options) OUTPUT LINE FEATURE_TYPE ___lines___ $(Generalizer_PropagateAttributes_Funcs) OUTPUT POLYGON FEATURE_TYPE ___areas___ @RemoveGeometry()
FACTORY_DEF $(___PRESERVE___) TeeFactory FACTORY_NAME Generalizer_GeneralizeAreas INPUT FEATURE_TYPE ___lines___ $(Generalizer_GeneralizeFunc) OUTPUT FEATURE_TYPE * @SupplyAttributes(__mypoly__,&__right__) OUTPUT FEATURE_TYPE * @SupplyAttributes(__mypoly__,&__left__)
FACTORY_DEF $(___PRESERVE___) PolygonFactory FACTORY_NAME Generalizer_PolygonMaker INPUT FEATURE_TYPE ___lines___ GROUP_BY __mypoly__ END_NODED OUTPUT POLYGON FEATURE_TYPE ___polies___
FACTORY_DEF $(___PRESERVE___) DonutFactory FACTORY_NAME Generalizer_DonutMaker GROUP_BY __mypoly__ INPUT FEATURE_TYPE ___polies___ DROP_HOLES yes OUTPUT DONUT FEATURE_TYPE ___polies___ OUTPUT POLYGON FEATURE_TYPE ___polies___
FACTORY_DEF $(___PRESERVE___) ReferenceFactory FACTORY_NAME Generalizer_Referencer INPUT REFERENCER FEATURE_TYPE ___polies___ INPUT REFERENCEE FEATURE_TYPE ___areas___ REFERENCE_INFO ATTRIBUTES JOIN_FME_ATTRS Yes REFERENCEE_FIELDS __mypoly__ REFERENCER_FIELDS __mypoly__ OUTPUT COMPLETE FEATURE_TYPE ___toAgg___
FACTORY_DEF $(___PRESERVE___) AggregateFactory FACTORY_NAME Generalizer_Aggregator INPUT FEATURE_TYPE ___toAgg___ GROUP_BY __area_id__ OUTPUT AGGREGATE FEATURE_TYPE ___cleanup___ OUTPUT SINGLETON FEATURE_TYPE ___cleanup___
FACTORY_DEF $(___PRESERVE___) TeeFactory FACTORY_NAME Generalizer_CleanUp INPUT FEATURE_TYPE ___cleanup___ OUTPUT FEATURE_TYPE ___sendout___ @RemoveAttributes(__area_id__,__mypoly__,tagged_hole)
# The following is for all input to gather before sending out
FACTORY_DEF * TeeFactory FACTORY_NAME Generalizer_SendOut INPUT FEATURE_TYPE ___sendout___ OUTPUT FEATURE_TYPE Generalizer_OUTPUT
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME 3DForcer INPUT FEATURE_TYPE Generalizer_OUTPUT OUTPUT FEATURE_TYPE 3DForcer_OUTPUT @ZValue(@Value(CONTOUR))
# -------------------------------------------------------------------------
FACTORY_DEF * SurfaceModelFactory FACTORY_NAME TINGenerator_2 INPUT POINTS FEATURE_TYPE 3DForcer_OUTPUT TOLERANCE 5.0 OUTPUT TIN_SURFACE FEATURE_TYPE TINGenerator_2_TIN_SURFACE
FACTORY_DEF * TeeFactory FACTORY_NAME "TINGenerator_2 TIN_SURFACE Splitter" INPUT FEATURE_TYPE TINGenerator_2_TIN_SURFACE OUTPUT FEATURE_TYPE TINGenerator_2_TIN_SURFACE_0 OUTPUT FEATURE_TYPE TINGenerator_2_TIN_SURFACE_1
# -------------------------------------------------------------------------
# check if we have to do the min bounding box calculation
INCLUDE [ if { {BB} == {MINBB} } { puts {MACRO BoundingBoxReplacer_BBFunc @Bounds(MIN_BOUNDING,,)}; } else { puts {MACRO BoundingBoxReplacer_BBFunc @Bounds(___MINX,___MAXX,___MINY,___MAXY,___MINZ,___MAXZ,GEOMETRIC) @Tcl2(set_geom_and_type)}; } ]
Tcl2 proc set_geom_and_type {} { if {[FME_Coordinates numCoords] > 0} { FME_Execute RemoveGeometry; set minX [FME_GetAttribute ___MINX]; set minY [FME_GetAttribute ___MINY]; set maxX [FME_GetAttribute ___MAXX]; set maxY [FME_GetAttribute ___MAXY]; if { [string is double $minX] && [string is double $maxX] } { set xSame [expr $minX == $maxX] } else { set xSame [string equal $minX $maxX] }; if { [string is double $minY] && [string is double $maxY] } { set ySame [expr $minY == $maxY] } else { set ySame [string equal $minY $maxY] }; FME_Coordinates addCoord $minX $minY; if {$xSame && $ySame} { FME_Execute GeometryType fme_point; FME_SetAttribute fme_type fme_point } elseif {$xSame || $ySame} { FME_Coordinates addCoord $maxX $maxY; FME_Execute GeometryType fme_line; FME_SetAttribute fme_type fme_line } else { FME_Coordinates addCoord $minX $maxY; FME_Coordinates addCoord $maxX $maxY; FME_Coordinates addCoord $maxX $minY; FME_Coordinates addCoord $minX $minY; FME_Execute GeometryType fme_polygon; FME_SetAttribute fme_type fme_area }; FME_UnsetAttributes ___MINX ___MAXX ___MINY ___MAXY ___MINZ ___MAXZ; set width [expr $maxX - $minX]; set length [expr $maxY - $minY]; if {$width > $length} { set temp $length; set length $width; set width $temp; }; if { {} != {} } { FME_SetAttribute {} $width; }; if { {} != {} } { FME_SetAttribute {} $length; } } }
FACTORY_DEF * TeeFactory FACTORY_NAME BoundingBoxReplacer INPUT FEATURE_TYPE TINGenerator_2_TIN_SURFACE_0 OUTPUT FEATURE_TYPE BoundingBoxReplacer_BOX @Force2D() $(BoundingBoxReplacer_BBFunc)
# -------------------------------------------------------------------------
INCLUDE [ if [FME_ComponentIsLicensed -factory RasterClippingFactory] { puts "MACRO RASTER_CLIPPER_IN *"; } else { puts "MACRO RASTER_CLIPPER_IN NOT_THIS_TIME"; } ]
FACTORY_DEF * TeeFactory FACTORY_NAME Clipper_2_ClipperCloner INPUT FEATURE_TYPE BoundingBoxReplacer_BOX INPUT FEATURE_TYPE Clipper_2_ClipperCloner_DUMMY OUTPUT FEATURE_TYPE Clipper_2___ClippersForVector___ OUTPUT FEATURE_TYPE Clipper_2___ClippersForRaster___
FACTORY_DEF * TestFactory FACTORY_NAME Clipper_2_ClippeeFilter INPUT FEATURE_TYPE JPEG_0 INPUT FEATURE_TYPE Clipper_2_ClippeeFilter_DUMMY TEST &fme_type == "fme_raster" OUTPUT FAILED FEATURE_TYPE Clipper_2___VectorClippees___ OUTPUT PASSED FEATURE_TYPE Clipper_2___RasterClippees___
FACTORY_DEF $(RASTER_CLIPPER_IN) RasterClippingFactory FACTORY_NAME Clipper_2_Raster INPUT CLIPPER FEATURE_TYPE Clipper_2___ClippersForRaster___ INPUT CLIPPEE FEATURE_TYPE Clipper_2___RasterClippees___ MULTICLIP NO MERGE_CLIPPER_ATTRIBUTES No PRESERVE_CLIPPEE_EXTENTS NO OUTPUT_NO_CLIPPERS_AS_OUTSIDE OUTSIDE_NO_CLIPPERS_ATTR _fme_no_clipper OUTPUT CLIPPED_INSIDE FEATURE_TYPE Clipper_2_CLIPPED_INSIDE OUTPUT EXTRA_CLIPPER FEATURE_TYPE Clipper_2__delete__ @Tcl2("FME_LogMessage fme_warn 917351 Clipper_2")
FACTORY_DEF * ClippingFactory FACTORY_NAME Clipper_2_Vector INPUT CLIPPER FEATURE_TYPE Clipper_2___ClippersForVector___ INPUT CLIPPEE FEATURE_TYPE Clipper_2___VectorClippees___ INPUT CLIPPEE FEATURE_TYPE Clipper_2___RasterClippees___ MULTICLIP NO CLIPPEE_ON_BOUNDARY INSIDE MERGE_CLIPPER_ATTRIBUTES No DO_NOT_AGGREGATE NO OUTPUT_NO_CLIPPERS_AS_OUTSIDE OUTSIDE_NO_CLIPPERS_ATTR _fme_no_clipper OUTPUT CLIPPED_INSIDE FEATURE_TYPE Clipper_2_CLIPPED_INSIDE OUTPUT EXTRA_CLIPPER FEATURE_TYPE Clipper_2__delete__ @Tcl2("FME_LogMessage fme_warn 917351 Clipper_2") OUTPUT NONPOLY_CLIPPER FEATURE_TYPE Clipper_2__delete__ @Tcl2("FME_LogMessage fme_warn 917352 Clipper_2")
FACTORY_DEF * TeeFactory FACTORY_NAME Clipper_2_Nuker INPUT FEATURE_TYPE Clipper_2__delete__ @Log("Offending feature was:")
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME AppearanceStyler_3 INPUT FEATURE_TYPE Clipper_2_CLIPPED_INSIDE OUTPUT FEATURE_TYPE AppearanceStyler_3_OUTPUT fme_appearance_style_name "" fme_appearance_style_diffuse_color "1,1,1" fme_appearance_style_ambient_color "" fme_appearance_style_specular_color "" fme_appearance_style_emissive_color "" fme_appearance_style_alpha "1.0" fme_appearance_style_shininess "" fme_texture_style_u_offset "0.0" fme_texture_style_v_offset "0.0" fme_texture_style_center_u "0.0" fme_texture_style_center_v "0.0" fme_texture_style_u_scaling_factor "1.0" fme_texture_style_v_scaling_factor "1.0" fme_texture_style_u_shearing_factor "0.0" fme_texture_style_v_shearing_factor "0.0" fme_texture_style_rotation_angle "0.0" fme_texture_style_wrap "REPEAT_BOTH" fme_texture_style_border_color ""
# -------------------------------------------------------------------------
FACTORY_DEF * SharedObjectFactory FACTORY_NAME AppearanceAdder_3 INPUT DEFINITION_FRONT FEATURE_TYPE AppearanceStyler_3_OUTPUT INPUT REFERENCER FEATURE_TYPE TINGenerator_2_TIN_SURFACE_1 MODE ADD SHARED_OBJECT_TYPE APPEARANCE OUTPUT SUCCESSFUL FEATURE_TYPE AppearanceAdder_3_SURFACE @Geometry(ASSIGN_TEXTURE_COORDINATES,XY_PLANE,1.0,1.0,0.0,0.0)
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "AppearanceAdder_3_SURFACE -> LanaiMolokai Correlator" INPUT FEATURE_TYPE AppearanceAdder_3_SURFACE OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF) @SupplyAttributes(__wb_out_feat_type__,LanaiMolokai)
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "AppearanceAdder_4_SURFACE -> LanaiMolokai Correlator" INPUT FEATURE_TYPE AppearanceAdder_4_SURFACE OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF) @SupplyAttributes(__wb_out_feat_type__,LanaiMolokai)
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "JPEG_2 -> LanaiMolokai Correlator" INPUT FEATURE_TYPE JPEG_2 OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ @Transform(FME_GENERIC,PDF) @SupplyAttributes(__wb_out_feat_type__,LanaiMolokai)
# -------------------------------------------------------------------------
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__))
# -------------------------------------------------------------------------
PDF_1_DEF LanaiMolokai