#!#!
#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!
#!#!#!
#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!
#!#!
#!#!
#!#!
#!#!FME_PYTHON_VERSION 27 #! START_HEADER #! START_WB_HEADER READER_TYPE MULTI_READER WRITER_TYPE NULL WRITER_KEYWORD NULL_DEST NULL_DEST_DATASET null #! END_WB_HEADER #! START_WB_HEADER #! END_WB_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)ClipperToClippedInside.log" LOG_APPEND NO LOG_TIMINGS YES LOG_FILTER_MASK -1 LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto FME_GEOMETRY_HANDLING Enhanced FME_STROKE_MAX_DEVIATION 0 # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME ClipperToClippedInside MACRO FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- INCLUDE [ if {[info exists env(FME_TEMP)] && [file isdirectory $env(FME_TEMP)]} {set gVisualizerTemp $env(FME_TEMP)} elseif {[info exists env(TEMP)] && [file isdirectory $env(TEMP)]} {set gVisualizerTemp $env(TEMP)} elseif { $tcl_platform(platform) == "unix" } {set gVisualizerTemp "/tmp"} else {set gVisualizerTemp c:}; regsub -all {[ ,&]} {$(WORKSPACE_NAME)} {_} wsname; set gVisualizerTemp $gVisualizerTemp/${wsname}_[clock format [clock seconds] -format %H%M%S]; puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp"; MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/inspector.ffs MACRO VISUALIZER_SCHEMA_FILE $(WORKSPACE_TEMP_DIR)/inspector.fsc MACRO VISUALIZER_CREATE_SPATIAL_INDEX YES DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- Tcl2 proc Creator_CoordSysRemover {} { global FME_CoordSys; set FME_CoordSys {}; } MACRO Creator_XML NOT_ACTIVATED MACRO Creator_CLASSIC NOT_ACTIVATED MACRO Creator_2D3D 2D_GEOMETRY MACRO Creator_COORDS
包括[如果{{geometry对象} == {geometry对象}} {puts {macro creator_xml *}}]包括[if {geometry对象} == {2d coordent列表}} {puts {宏creator_2d3d 2d_geometry};Puts {宏creator_classic *}}]包括[if {geometry对象】== {3d coordent列表}} {puts {宏creator_2d3d 3d_geometry};放置{macro creator_classic *}}]包括[if {geometry对象} == {2d min / max box}} {set注释{我们需要将minx尖锐的maxx maxy转换为坐标的完整多边形列表};设置splitCoords [strond [string trim {
}]]; if { [llength $splitCoords] > 4} { set trimmedCoords {}; foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} }; set splitCoords $trimmedCoords; }; if { [llength $splitCoords] != 4 } { error {Creator: Coordinate list is expected to be a space delimited list of four numbers as 'minx miny maxx maxy' - `
' 是无效的};};设置minx [Lindex $ splitCoords 0];设置Miny [Lindex $ SplitCoords 1];设置maxx [lindex $ splitcoords 2];设置maxy [lindex $ splitcoords 3];Puts“Macro Creator_coords $ minx $ miny $ minx $ maxy $ maxx $ maxy $ maxx $ miny $ minx $ miny”;放{宏creator_2d3d 2d_geometry};puts {宏creator_classic *}}] foress_def $(creator_xml)creationfactory factory_name creator_xml_creator create_at_end没有输出feature_type _____created______ @geometry(from_encoded_string,
?XML.
version=
1.0
encoding=
US_ASCII.
独立=
no
?
几何学
多边形
line
罗
x=
-0.5
y =
-0.5
z =
0.5
罗
x=
0.5
y =
-0.5
z =
0.5
罗
x=
0.5
y =
0.5
z =
0.5
罗
x=
-0.5
y =
0.5
z =
0.5
罗
x=
-0.5
y =
-0.5
z =
0.5
line
多边形
几何学
) FACTORY_DEF $(Creator_CLASSIC) CreationFactory FACTORY_NAME Creator_CLASSIC_Creator $(Creator_2D3D) $(Creator_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner INPUT FEATURE_TYPE _____CREATED______ @Tcl2(Creator_CoordSysRemover) @CoordSys() NUMBER_OF_COPIES 1 OUTPUT FEATURE_TYPE Creator_CREATED fme_feature_type Creator FACTORY_DEF * TeeFactory FACTORY_NAME "Creator CREATED Splitter" INPUT FEATURE_TYPE Creator_CREATED OUTPUT FEATURE_TYPE Creator_CREATED_0_GJAgmIF9G6c= OUTPUT FEATURE_TYPE Creator_CREATED_1_Exx7idfjvCA= OUTPUT FEATURE_TYPE Creator_CREATED_2_goANeUpBIDA= FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_CREATED_0_GJAgmIF9G6c= Brancher -1 36" INPUT FEATURE_TYPE Creator_CREATED_0_GJAgmIF9G6c= TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_CREATED_1_Exx7idfjvCA= Brancher -1 4" INPUT FEATURE_TYPE Creator_CREATED_1_Exx7idfjvCA= TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_CREATED_2_goANeUpBIDA= Brancher -1 9" INPUT FEATURE_TYPE Creator_CREATED_2_goANeUpBIDA= TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * # ------------------------------------------------------------------------- Tcl2 proc Creator_2_CoordSysRemover {} { global FME_CoordSys; set FME_CoordSys {}; } MACRO Creator_2_XML NOT_ACTIVATED MACRO Creator_2_CLASSIC NOT_ACTIVATED MACRO Creator_2_2D3D 2D_GEOMETRY MACRO Creator_2_COORDS
包括[if {{geometry对象} == {geometry对象}} {puts {macro creator_2_xml *}]包括[if {{geometry对象} == {2d坐标列表}} {puts {宏creator_2_2d3d 2d_geometry};puts {宏creator_2_classic *}}]包括[if {geometry对象} == {3d coordent列表}} {puts {宏creator_2_2d3d 3d_geometry};放置{宏creator_2_classic *}}]包括[if {geometry对象】== {2d min / max box}} {set注释{我们需要将minx miny maxx maxy转换为坐标的完整多边形列表};设置splitCoords [strond [string trim {
}]]; if { [llength $splitCoords] > 4} { set trimmedCoords {}; foreach item $splitCoords { if { $item != {} } {lappend trimmedCoords $item} }; set splitCoords $trimmedCoords; }; if { [llength $splitCoords] != 4 } { error {Creator_2: Coordinate list is expected to be a space delimited list of four numbers as 'minx miny maxx maxy' - `
' 是无效的};};设置minx [Lindex $ splitCoords 0];设置Miny [Lindex $ SplitCoords 1];设置maxx [lindex $ splitcoords 2];设置maxy [lindex $ splitcoords 3];puts "MACRO Creator_2_COORDS $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY"; puts {MACRO Creator_2_2D3D 2D_GEOMETRY}; puts {MACRO Creator_2_CLASSIC *} } ] FACTORY_DEF $(Creator_2_XML) CreationFactory FACTORY_NAME Creator_2_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING,
?XML.
version=
1.0
encoding=
US_ASCII.
独立=
no
?
几何学
line
罗
x=
-1
y =
0
z =
-1
罗
x=
0
y =
0
z =
1
罗
x=
1
y =
0
z =
-1
line
几何学
美元)FACTORY_DEF CreationFactory (Creator_2_CLASSIC)FACTORY_NAME Creator_2_CLASSIC_Creator $(Creator_2_2D3D) $(Creator_2_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_2_Cloner INPUT FEATURE_TYPE _____CREATED______ @Tcl2(Creator_2_CoordSysRemover) @CoordSys() NUMBER_OF_COPIES 1 OUTPUT FEATURE_TYPE Creator_2_CREATED fme_feature_type Creator_2 FACTORY_DEF * TeeFactory FACTORY_NAME "Creator_2 CREATED Splitter" INPUT FEATURE_TYPE Creator_2_CREATED OUTPUT FEATURE_TYPE Creator_2_CREATED_0_YoZgL8R6ba0= OUTPUT FEATURE_TYPE Creator_2_CREATED_1_ejQG+6re7QA= OUTPUT FEATURE_TYPE Creator_2_CREATED_2_LY8J0QrpNkk= FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_2_CREATED_0_YoZgL8R6ba0= Brancher -1 7" INPUT FEATURE_TYPE Creator_2_CREATED_0_YoZgL8R6ba0= TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_2_CREATED_1_ejQG+6re7QA= Brancher -1 10" INPUT FEATURE_TYPE Creator_2_CREATED_1_ejQG+6re7QA= TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_2_CREATED_2_LY8J0QrpNkk= Brancher -1 14" INPUT FEATURE_TYPE Creator_2_CREATED_2_LY8J0QrpNkk= TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE * # ------------------------------------------------------------------------- FACTORY_DEF * ChoppingFactory FACTORY_NAME Chopper INPUT FEATURE_TYPE Creator_2_CREATED_2_LY8J0QrpNkk= MODE VERTEX MAX_VERTICES "1" APPROX_LENGTH "
“remnant_attribute”“chop_polygons
REJECT_INVALID_GEOM Yes DEAGGREGATE_INPUT Deaggregate OUTPUT CHOPPED FEATURE_TYPE Chopper_CHOPPED # ------------------------------------------------------------------------- INCLUDE [ if { {MATCH} == {MATCH} } { puts {MACRO Matcher_ATTRMATCH MATCH_ATTRIBUTES }; } elseif { {MATCH} == {EXCEPT} } { puts {MACRO Matcher_ATTRMATCH MATCH_ALL_ATTRS_EXCEPT }; } else { puts {MACRO Matcher_ATTRMATCH MATCH_ALL_ATTRIBUTES}; } FACTORY_DEF {*} MatchingFactory FACTORY_NAME Matcher INPUT FEATURE_TYPE Chopper_CHOPPED MATCH_GEOMETRY 3D $(Matcher_ATTRMATCH) BLANK_AND_MISSING_DIFFER No LENIENT_GEOMETRY_MATCH Yes ADD_TO_MATCHED _match_id @Count(Matcher) LIST_ATTRS_TO_INCLUDE {
list_attrs_to_include_mode.
输出SINGLE_MATCHED FEATURE_TYPE Matcher_SINGLE_MATCHED OUTPUT NOT_MATCHED FEATURE_TYPE Matcher_NOT_MATCHED # ------------------------------------------------------------------------- # Assumption is that the workspace temp dir has been already set and created. See controldefs.cpp - ControlDefs::writeVisualizerTempDir DEFAULT_MACRO WORKSPACE_TEMP_DIR INCLUDE [ set safeName "[regsub -all {[^a-zA-Z0-9]} {02_clippee} _]_[expr round(rand() * 1000000)]_[clock clicks -milliseconds]"; puts "MACRO SAFE_FFS_NAME $safeName"; ] FACTORY_DEF {*} InspectorFactory FACTORY_NAME 02_clippee_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE Creator_2_CREATED_0_YoZgL8R6ba0= GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY { } GROUP_ATTRIBUTE_PREFIX { 02_clippee } RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING OUTPUT RESULT FEATURE_TYPE __viewme__ # Now route all the features into the recorder, changing their # feature type to the transformer name so that they view nicely DEFAULT_MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs DEFAULT_MACRO VISUALIZER_CREATE_SPATIAL_INDEX NO # [PR#45549] The Data Inspector will limit the maximum number of features # it reads on WIN32, so we will correspondingly limit the number of # features we record here using the MAX_FEATURES_TO_RECORD directive. FACTORY_DEF * RecorderFactory FACTORY_NAME 02_clippee_Recorder COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE __viewme__ _wb_termination_feature Yes @FeatureType(TERMINATOR_@Value(_wb_termination_xformer)) INPUT FEATURE_TYPE __viewme__ @FeatureType(@Value(__inspector_feature_type_attr__)) @RemoveAttributes(__inspector_feature_type_attr__) FEATURE_FILE "$(VISUALIZER_FEATURE_FILE)" STORE_SCANNED_SCHEMA YES CREATE_SPATIAL_INDEX "$(VISUALIZER_CREATE_SPATIAL_INDEX)" INSPECTOR "$(VISUALIZER_CREATE_SPATIAL_INDEX)" FSC_SCHEMA MODE RECORD STORE_SCANNED_METADATA RECORD_DIRECTLY_TO_DISK YES MAX_FEATURES_TO_RECORD WIN32 2000000 # ------------------------------------------------------------------------- INCLUDE [ if {($(FME_BUILD_NUM) < 5669) || [FME_ComponentIsLicensed -factory RasterClippingFactory]} { puts "MACRO RASTER_CLIPPER_IN *"; } else { puts "MACRO RASTER_CLIPPER_IN NOT_THIS_TIME"; } ] # The dummy input feature type Clipper___ClipperMakeSureWeDontGetAllFeatures___ # makes sure that if INPUT FEATURE_TYPE Creator_CREATED_2_goANeUpBIDA= is emtpy, we don't get every feature # sent into this factory. FACTORY_DEF * TeeFactory FACTORY_NAME Clipper_ClipperCloner INPUT FEATURE_TYPE Creator_CREATED_2_goANeUpBIDA= INPUT FEATURE_TYPE Clipper___ClipperMakeSureWeDontGetAllFeatures___ OUTPUT FEATURE_TYPE Clipper___ClippersForSolidOrVector___ OUTPUT FEATURE_TYPE Clipper___ClippersForRaster___ FACTORY_DEF * TestFactory FACTORY_NAME Clipper_SolidClipperFilter INPUT FEATURE_TYPE Clipper___ClippersForSolidOrVector___ TEST &fme_type == "fme_solid" OUTPUT FAILED FEATURE_TYPE Clipper___ClippersForVector___ OUTPUT PASSED FEATURE_TYPE Clipper___ClippersForSolid___ # The dummy input feature type Clipper___ClippeeMakeSureWeDontGetAllFeatures___ # makes sure that if INPUT FEATURE_TYPE Creator_2_CREATED_1_ejQG+6re7QA= is emtpy, we don't get every feature # sent into this factory. FACTORY_DEF * TestFactory FACTORY_NAME Clipper_ClippeeFilter INPUT FEATURE_TYPE Creator_2_CREATED_1_ejQG+6re7QA= INPUT FEATURE_TYPE Clipper___ClippeeMakeSureWeDontGetAllFeatures___ TEST &fme_type == "fme_raster" OUTPUT FAILED FEATURE_TYPE Clipper___VectorOrSolidClippees___ OUTPUT PASSED FEATURE_TYPE Clipper___RasterClippees___ FACTORY_DEF {$(RASTER_CLIPPER_IN)} RasterClippingFactory FACTORY_NAME Clipper_Raster INPUT CLIPPER FEATURE_TYPE Clipper___ClippersForRaster___ INPUT CLIPPEE FEATURE_TYPE Clipper___RasterClippees___ MULTICLIP YES MERGE_CLIPPER_ATTRIBUTES NO ATTR_ACCUM_MODE "
“attr_conflict_res”
" CLIPPER_PREFIX "
“PRESERVE_CLIPPEE_EXTENTS NO OUTPUT_NO_CLIPPERS_AS_OUTSIDE OUTSIDE_NO_CLIPPERS_ATTR _fme_no_clipper OUTPUT INSIDE FEATURE_TYPE Clipper_INSIDE ”_clipped“ 无输出CLIPPED_INSIDE FEATURE_TYPE Clipper_INSIDE ”_clipped“ 是输出EXTRA_CLIPPER FEATURE_TYPE Clipper__delete__ @ TCL2(” FME_LogMessage fme_warn 917351剪“)FACTORY_DEF {*} ClippingFactory FACTORY_NAME Clipper_Vector INPUT CLIPPER FEATURE_TYPE Clipper___ClippersForVector___ INPUT CLIPPEE FEATURE_TYPEClipper___VectorOrsolidclippees___输入clippee feature_type clipe ____rasterclippees____ multiiclip是connect_z_mode
Missing_val_mode compute_nans compute_measures_mode连续尺寸_and_z_from clippee clippee_on_boundary内部merge_clipper_attributes noattr_accum_mode“
“attr_conflict_res”
" CLIPPER_PREFIX "
“DO_NOT_AGGREGATE是的OUTPUT_NO_CLIPPERS_AS_OUTSIDE OUTSIDE_NO_CLIPPERS_ATTR _fme_no_clipper LINES_AS_SEGMENTS NO MODE COMPLETE CLEANING_TOLERANCE NONE OUTPUT INSIDE FEATURE_TYPE Clipper_INSIDE "_clipped" no OUTPUT CLIPPED_INSIDE FEATURE_TYPE Clipper_INSIDE "_clipped" yes OUTPUT OUTSIDE_NO_CLIPPER FEATURE_TYPE Clipper___ClippeeForSolid___ OUTPUT EXTRA_CLIPPER FEATURE_TYPE Clipper__delete__ @Tcl2("FME_LogMessage fme_warn 917351 Clipper") OUTPUT NONPOLY_CLIPPER FEATURE_TYPE Clipper__delete__ @Tcl2("FME_LogMessage fme_warn 917352 Clipper") FACTORY_DEF * SolidIntersectionFactory FACTORY_NAME Clipper_Solid INPUT CLIPPER FEATURE_TYPE Clipper___ClippersForSolid___ INPUT CLIPPEE FEATURE_TYPE Clipper___ClippeeForSolid___ MULTICLIP YES CLIPPEE_ON_BOUNDARY INSIDE MERGE_CLIPPER_ATTRIBUTES NO ATTR_ACCUM_MODE "
“attr_conflict_res”
" CLIPPER_PREFIX "
“DO_NOT_AGGREGATE是的OUTPUT_NO_CLIPPERS_AS_OUTSIDE OUTSIDE_NO_CLIPPERS_ATTR _fme_no_clipper OUTPUT INSIDE FEATURE_TYPE Clipper_INSIDE "_clipped" no OUTPUT CLIPPED_INSIDE FEATURE_TYPE Clipper_INSIDE "_clipped" yes OUTPUT EXTRA_CLIPPER FEATURE_TYPE Clipper__delete__ @Tcl2("FME_LogMessage fme_warn 917351 Clipper") FACTORY_DEF * TeeFactory FACTORY_NAME Clipper_Nuker INPUT FEATURE_TYPE Clipper__delete__ @Log("Offending feature was:") FACTORY_DEF * TeeFactory FACTORY_NAME "Clipper INSIDE Splitter" INPUT FEATURE_TYPE Clipper_INSIDE OUTPUT FEATURE_TYPE Clipper_INSIDE_0_PMBiwD96aMs= OUTPUT FEATURE_TYPE Clipper_INSIDE_1_WdTwwzY43qU= # ------------------------------------------------------------------------- FACTORY_DEF * ChoppingFactory FACTORY_NAME Chopper_2 INPUT FEATURE_TYPE Clipper_INSIDE_1_WdTwwzY43qU= MODE VERTEX MAX_VERTICES "1" APPROX_LENGTH "
“remnant_attribute”“chop_polygons
Reject_invalid_geom是Deaggrege_Input Deaggregate输出切换Feature_type Chopper_2_Chopped#----------------------------------------------------------------如果{{匹配} == {匹配}} {puts {宏匹配器_2_attrmatchmatch_attributes};} elsef {{match} == {除}} {puts {宏匹配器_2_attrmatch match_all_attrs_except};} else {puts {宏匹配器_2_attrmatch match_all_attributes};factory_def {*}匹配acture access_name匹配器_2输入feature_type chockper_2_chopped match_geometry 3d $(matcher_2_attrmatch)blank_and_missing_differ no lenient_geometry_match是add_to_matched _match_id @count(matcher_2)list_attrs_to_include {
list_attrs_to_include_mode.
OUTPUT SINGLE_MATCHED FEATURE_TYPE Matcher_2_SINGLE_MATCHED OUTPUT NOT_MATCHED FEATURE_TYPE Matcher_2_NOT_MATCHED # ------------------------------------------------------------------------- INCLUDE [ if { {MATCH} == {MATCH} } { puts {MACRO Matcher_3_ATTRMATCH MATCH_ATTRIBUTES }; } elseif { {MATCH} == {EXCEPT} } { puts {MACRO Matcher_3_ATTRMATCH MATCH_ALL_ATTRS_EXCEPT }; } else { puts {MACRO Matcher_3_ATTRMATCH MATCH_ALL_ATTRIBUTES}; } FACTORY_DEF {*} MatchingFactory FACTORY_NAME Matcher_3 INPUT FEATURE_TYPE Matcher_2_SINGLE_MATCHED INPUT FEATURE_TYPE Matcher_2_NOT_MATCHED INPUT FEATURE_TYPE Matcher_SINGLE_MATCHED INPUT FEATURE_TYPE Matcher_NOT_MATCHED MATCH_GEOMETRY 3D $(Matcher_3_ATTRMATCH) BLANK_AND_MISSING_DIFFER No LENIENT_GEOMETRY_MATCH Yes ADD_TO_MATCHED _match_id @Count(Matcher_3) LIST_ATTRS_TO_INCLUDE {
list_attrs_to_include_mode.
输出not_matched feature_type matcher_3_not_matched#-------------------------------------------------------------------------------------------
Value
_clipp.
,测试仪)= YES编码BOOLEAN_OPERATOR或输出传递FEATURE_TYPE TESTER_PASED FACTION_DEF * TEEFACTURY FARCENT_NAME“测试仪传递分配器”输入FEATURE_TYPE TESTER_PASED输出FEATURE_TYPE TESTER_PASED_0_M1WQJKIH4E0 = OUTPUT FEATURE_TYPE TESTER_PASED_1_8T6D0F2oyou =# - - - - - - - - - - ----------------------------------------------------------------------- Factory_Def * TestFactory Input Feature_Type Tester_passed_1_8T6D0F2oyou = Test“指定坐标”==“All Coordinates”输出传递Feature_Type ConryExtractor_2_passed输出失败Feature_Type ConordeExtractor_2_Failed Factory_Def * TestFactory Factory_Name ComentteExtractor_2_passed Input Feature_Type ConnoryExtractor_2_passed Testextractor_2_passed Test @Dimension()== 2输出通过feature_type comnityextractor_2_output @zvalue(“”)@coorder(x,全部,“
“{}。x, FLATTEN_AGGREGATE,是的)@Coordinate (y),“
“{} .y,flatten_aggregate,no)@coordord(z,全部,”
“{} .z,flatten_aggregate,no)@dimension(2)输出失败feature_type conordingextractor_2_output @coorder(x,全部,”
“{}。x, FLATTEN_AGGREGATE,是的)@Coordinate (y),“
“{} .y,flatten_aggregate,no)@coordord(z,全部,”
“{}还是z, FLATTEN_AGGREGATE) FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_2_FAILED INPUT FEATURE_TYPE CoordinateExtractor_2_FAILED TEST @Dimension() == 2 OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_2_FAILED_PASSED OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_2_OUTPUT "_x" @Coordinate(x,"0",FLATTEN_AGGREGATE,YES) "_y" @Coordinate(y,"0",FLATTEN_AGGREGATE,NO) "_z" @Coordinate(z,"0",FLATTEN_AGGREGATE,NO) FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_2_FAILED_PASSED INPUT FEATURE_TYPE CoordinateExtractor_2_FAILED_PASSED TEST "" == "" OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_2_OUTPUT "_x" @Coordinate(x,"0",FLATTEN_AGGREGATE,YES) "_y" @Coordinate(y,"0",FLATTEN_AGGREGATE,NO) OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_2_OUTPUT "_x" @Coordinate(x,"0",FLATTEN_AGGREGATE,YES) "_y" @Coordinate(y,"0",FLATTEN_AGGREGATE,NO) @SupplyAttributes("_z","") # ------------------------------------------------------------------------- # Assumption is that the workspace temp dir has been already set and created. See controldefs.cpp - ControlDefs::writeVisualizerTempDir DEFAULT_MACRO WORKSPACE_TEMP_DIR INCLUDE [ set safeName "[regsub -all {[^a-zA-Z0-9]} {01_clipped_inside} _]_[expr round(rand() * 1000000)]_[clock clicks -milliseconds]"; puts "MACRO SAFE_FFS_NAME $safeName"; ] FACTORY_DEF {*} InspectorFactory FACTORY_NAME 01_clipped_inside_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE Clipper_INSIDE_0_PMBiwD96aMs= GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY { } GROUP_ATTRIBUTE_PREFIX { 01_clipped_inside } RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING OUTPUT RESULT FEATURE_TYPE __viewme__ # Now route all the features into the recorder, changing their # feature type to the transformer name so that they view nicely DEFAULT_MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs DEFAULT_MACRO VISUALIZER_CREATE_SPATIAL_INDEX NO # [PR#45549] The Data Inspector will limit the maximum number of features # it reads on WIN32, so we will correspondingly limit the number of # features we record here using the MAX_FEATURES_TO_RECORD directive. FACTORY_DEF * RecorderFactory FACTORY_NAME 01_clipped_inside_Recorder COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE __viewme__ _wb_termination_feature Yes @FeatureType(TERMINATOR_@Value(_wb_termination_xformer)) INPUT FEATURE_TYPE __viewme__ @FeatureType(@Value(__inspector_feature_type_attr__)) @RemoveAttributes(__inspector_feature_type_attr__) FEATURE_FILE "$(VISUALIZER_FEATURE_FILE)" STORE_SCANNED_SCHEMA YES CREATE_SPATIAL_INDEX "$(VISUALIZER_CREATE_SPATIAL_INDEX)" INSPECTOR "$(VISUALIZER_CREATE_SPATIAL_INDEX)" FSC_SCHEMA _clipped,varchar
255.
Mode Record Store_scanned_metadata record_directly_to_disk是max_features_to_record win32 2000000#------------------------------------------------------------------- # Assumption is that the workspace temp dir has been already set and created. See controldefs.cpp - ControlDefs::writeVisualizerTempDir DEFAULT_MACRO WORKSPACE_TEMP_DIR INCLUDE [ set safeName "[regsub -all {[^a-zA-Z0-9]} {03__clipper_original} _]_[expr round(rand() * 1000000)]_[clock clicks -milliseconds]"; puts "MACRO SAFE_FFS_NAME $safeName"; ] FACTORY_DEF {*} InspectorFactory FACTORY_NAME 03__clipper_original_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE Creator_CREATED_1_Exx7idfjvCA= GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY { } GROUP_ATTRIBUTE_PREFIX { 03__clipper_original } RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING OUTPUT RESULT FEATURE_TYPE __viewme__ # Now route all the features into the recorder, changing their # feature type to the transformer name so that they view nicely DEFAULT_MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME).ffs DEFAULT_MACRO VISUALIZER_CREATE_SPATIAL_INDEX NO # [PR#45549] The Data Inspector will limit the maximum number of features # it reads on WIN32, so we will correspondingly limit the number of # features we record here using the MAX_FEATURES_TO_RECORD directive. FACTORY_DEF * RecorderFactory FACTORY_NAME 03__clipper_original_Recorder COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE __viewme__ _wb_termination_feature Yes @FeatureType(TERMINATOR_@Value(_wb_termination_xformer)) INPUT FEATURE_TYPE __viewme__ @FeatureType(@Value(__inspector_feature_type_attr__)) @RemoveAttributes(__inspector_feature_type_attr__) FEATURE_FILE "$(VISUALIZER_FEATURE_FILE)" STORE_SCANNED_SCHEMA YES CREATE_SPATIAL_INDEX "$(VISUALIZER_CREATE_SPATIAL_INDEX)" INSPECTOR "$(VISUALIZER_CREATE_SPATIAL_INDEX)" FSC_SCHEMA MODE RECORD STORE_SCANNED_METADATA RECORD_DIRECTLY_TO_DISK YES MAX_FEATURES_TO_RECORD WIN32 2000000 # ------------------------------------------------------------------------- FACTORY_DEF * GQueryFactory FACTORY_NAME GeometryCoercer INPUT FEATURE_TYPE Creator_CREATED_0_GJAgmIF9G6c= GQUERY "@EvaluateExpression(FDIV,STRING_ENCODED,for
地质
在
几何学
在哪里
地质
count
父母::几何
=
0
返回
数字
地质
fme_id
,几何铲形)“动作coere_geometry参数fme_line baseName几何图形刮刀输出结果_type geometrycoercer_coerced#------------------------------------------------------------- expory_def {*} overlayfactory factory_name pointonlineOverlayer输入行Feature_type GeometryCoerCer_CoerCed输入点feature_type tester_passed_0_m1wqjkih4e0 =公差0重叠_count_attribute“_overlaps”deagrege_input是merge_attrs“no”attr_accum_mode“
“attr_conflict_res”
“incoming_prefix”
“ 列表名称 ”
“list_attrs_to_include {
list_attrs_to_include_mode.
candidate_list_name“
“candidate_list_attrs_to_include {
} candidate_list_attrs_to_include_mode.
模式完整overlay_type point_on_line输出线Feature_type pointonlineoverlayer_line#----------------------------------------------------------------------------------------------一个list_attrs_to_include {
list_attrs_to_include_mode.
direction_name“
“lines_as_segments否认为_node_elevation no connect_z_mode first_wins break_connection_across_sets是输出线feature_type linecombiner_line#-------------------------------------------------------------------------- Factory_def * choppingFactory factory_name chopper_3输入feature_type linecombiner_line mode vertex max_vertices“1“约_length”
“remnant_attribute”“chop_polygons
Reject_invalid_geom是Deaggrege_Input Deaggregate输出切碎的Feature_type Chopper_3_Chopped#-----------------------------------------------------------------------------创建这个变形例将使用的domainname。#因为@count本身将评估表达式来计算#域,我们不需要通过包含[Set DomainPrefix {}的每个功能的TCL中的任何内容。if {{local} == {local}} {set domainprefix [fme_encodeText {counter_}];};将“宏计数器_full_domain $ {domainprefix}计数器”。] Factory_def * executefunctionFactory factory_name country_reptor or commancy_parm_evalization single_pass uppers_dype chopper_3_chopped function_definition @count(拒绝_with_flag,fme_encoded,$(counter_full_domain),“1”)结果_attribute“_count”输出完整的feature_type countruptuptourputt recateed feature_type计数器_
factory_def * teefactory factory_name“计数器
变压器输出Nuker“输入Feature_type计数器_
# ------------------------------------------------------------------------- FACTORY_DEF * TestFactory INPUT FEATURE_TYPE Counter_OUTPUT TEST "Specify Coordinate" == "All Coordinates" OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_PASSED OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_FAILED FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_PASSED INPUT FEATURE_TYPE CoordinateExtractor_PASSED TEST @Dimension() == 2 OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_OUTPUT @ZValue("") @Coordinate(x,ALL,"
“{}。x, FLATTEN_AGGREGATE,是的)@Coordinate (y),“
“{} .y,flatten_aggregate,no)@coordord(z,全部,”
"{}.z,FLATTEN_AGGREGATE,NO) @Dimension(2) OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_OUTPUT @Coordinate(x,ALL,"
“{}。x, FLATTEN_AGGREGATE,是的)@Coordinate (y),“
“{} .y,flatten_aggregate,no)@coordord(z,全部,”
“{} .z,flatten_aggregate,no)factory_def * testfactory factory_name connessextractor_failed输入feature_type contentextractor_failed test @dimension()== 2输出传递Feature_type connordextractor_failed_passed输出失败feature_type conordeExtractor_output”_x“@coords(x,”0“,flatten_aggregate,flatten_aggregate,flatten_aggregate“_y”@coorder(y,“0”,flatten_aggregate,no)factory_def * testfactory factory_name connessextractor_failed_passed输入feature_type contentextractor_failed_passed test“”==“”输出传递Feature_type comenteExtractor_output“_x”@coords(x,“0”,flatten_aggregate,flatten_aggregate)“_y”@coorde(y,“0”,flatten_aggregate,no)输出失败feature_type conryenteExtractor_output“_x”@coords(x,“0”,flatten_aggregate,是)“_y”@coorde(y,“0”,flatten_aggregate,不) # - - - - - - - - - - - - - - - - - - - - - - ----------------------------{ {属性}== {geom_build} && {
} == {POLYGONS}} { puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_POLYS"; } elseif { {ATTRIBUTES} == {GEOM_BUILD} && {
} == {AGGREGATES}} { puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_AGGREGATES"; } elseif { {ATTRIBUTES} == {GEOM_BUILD} && {
} == {lineSfromopointss}} {puts“macro featuremerger_reference_info geom_build_lines_from_points”;} elsef {{attributes} == {geom_and_attrs} && {
} == {POLYGONS}} { puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_POLYS"; } elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {
} == {聚合}} {puts“macro featuremerger_reference_info geom_and_attr_build_aggregates”;} elsef {{attributes} == {geom_and_attrs} && {
} == {LINESFROMPOINTS}} { puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS"; } elseif { {ATTRIBUTES} == {GEOM_BUILD} } { puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_AGGREGATES"; } elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} } { puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES"; } else {}; ] FACTORY_DEF {*} ReferenceFactory FACTORY_NAME FeatureMerger INPUT REFERENCER FEATURE_TYPE CoordinateExtractor_OUTPUT INPUT REFERENCEE FEATURE_TYPE CoordinateExtractor_2_OUTPUT REFERENCE_INFO $(FeatureMerger_REFERENCE_INFO) REFERENCE_TABLE @EvaluateExpression(FDIV,STRING_ENCODED,
Value
_X
,featuremerger)@EvaluateExpression(FDIV,String_Encoded,
Value
_X
,featuremerger)自动@evaluateExpression(FDIV,String_Encoded,
Value
_Y.
,featuremerger)@EvaluateExpression(FDIV,String_Encoded,
Value
_Y.
,featuremerger)auto attr_accum_mode“hange_conflict”attr_conflict_res“请求者_f_conflict”ignore_nulls“no”handle_null_missing_keys_like_fme2013 no list_attrs_to_include {
list_attrs_to_include_mode.
merge_attributes是manage_fme_type yes模式完成process_duplicate_reference否参考_first no jeck_invalid_geom是cyperence_tolerance
输出完整功能_type featuremerger_merged输出不完整的feature_type featuremerger_unmerged_requestor#--------------------------------------------------------------- Factory_def * vertexcreatorfactory factory_name vertexcreator输入feature_type featuremerger_merged模式替换索引“
" CONTINUE_ON_ERROR YES XVAL "@EvaluateExpression(FDIV,FLOAT,
Value
_X
,顶点)“YVAL”@EvaluateExpression(FDIV,Float,
Value
_Y.
,顶点)“zval”@EvaluateExpression(FDIV,Float,
Value