#!#! #! #! #!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #! #!#!#! #!#!#!#! #! #!#!#!#! #!#!#! #!

Points and lines where not matching so points had to be snapped to the lines

" POSITION="-596.88096880968806 328.12828128281285" TOP_LEFT="-596.88096880968806 328.12828128281285" BOTTOM_RIGHT="-115.62615626156264 98.126281262812654" BOUNDING_RECT="-596.88096880968806 328.12828128281285 481.25481254812541 230.0020000200002" ORDER="500000000000090" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="0">
#!#!#!#!#!#!#!#!#!#!
#! #!#! #! #!#! #!#! #!#! #!#! #!#! #!#!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#! #!#! #!#!
FME\u PYTHON\u VERSION 27 GUI IGNORE SourceDataset\u ESRISHAPE\u 1,ESRISHAPE\u IN\u READER\u PARAMETERS\u ESRISHAPE\u 1,ESRISHAPE\u IN\u ENCODING\u ESRISHAPE\u 1,ESRISHAPE\u IN\u USE SEARCH\u ENVELOPE\u ESRISHAPE\u 1,ESRISHAPE\u IN\u SEARCH\u ENVELOPE\u MINX\u ESRISHAPE\u 1,ESRISHAPE\u IN\u SEARCH\u ENVELOPE\u MINY\u ESRISHAPE\u 1,ESRISHAPE\u IN\u SEARCH\u ENVELOPE\u MAXX\u ESRISHAPE\u 1,搜索信封中的ESRISHAPE\u研究中的ESRISHAPE\u在搜索信封中的搜索信封中的搜索信封1,ESRISHAPE\u在搜索信封中的搜索信封中的搜索信封坐标系统中的搜索信封中的搜索信封1,ESRISHAPE中的搜索信封中的搜索信封中的搜索信封1,ESRISHAPE\u在搜索信封中的搜索信封中的搜索信封中的搜索信封1,ESRISHAPE最大的搜索信封中的最大的搜索esrishapeesrishape1,ESRISHAPE\u在搜索搜索信封中的搜索信封中的搜索信封中的搜索信封中的搜索信封中的搜索信封1,ESRISHAPE中的搜索信封中的搜索信封中的搜索信封中的搜索信封中的搜索信封中的搜索信封中的搜索信封中的搜索信封中的搜索信封1,ESRISHAPE\u在先进的ESRISHAPE中的高级的高级的ESRISHAPE \u研究中的高级的ESRISHAPE \u研究ESRISHAPE 1 Zèu ESRISHAPEèu 1,ESRISHAPE\u IN\u DISSOLVE\u HOLES\u ESRISHAPE\u 1,ESRISHAPE\u IN\u REPORT\u BAD\u GEOMETRY\u ESRISHAPE\u 1,ESRISHAPE \u IN \u NETWORK \u AUTHENTICATION \u ESRISHAPE \u 1 DEFAULT \u MACRO SourceDataset \u ESRISHAPE“”$(FME \u MF \u DIR)形状_行.shp“”$(FME\u MF\u DIR)交叉口_点.shp“”GUI多文件源数据集| Esri形状文件(*.shp)|*.shp |压缩的|形状文件(*.shz)|*.shz |所有|文件(*)|*源Esri形状文件:包含[如果{{$(源数据集| Esri形状文件)}=={}}{puts_real{必须为参数'SourceDataset_ESRISHAPE'指定一个值。};退出1;};]#!开始#标题#!启动\u WB \u HEADER READER \u TYPE MULTI \u READER MULTI \u READER \u TYPE{0}ESRISHAPE MULTI \u READER \u关键字{0}ESRISHAPE \u 1 MULTI \u READER \u GEN \u指令{0}检查\u数字\u字段,是的,额外的\u数据集, D:是的 序数 普罗赛尔斯 FME公司 问题 分割但保持重叠段 交叉口_点.shp ,EXPOSE \u ATTRS \u GROUP,,SEARCH \u ENVELOPE \u COORDINATE \u SYSTEM,USE \u SEARCH \u ENVELOPE,NO,SEARCH \u ENVELOPE \u MAXX,0,\u MERGE \u SCHEMAS,YES,DISSOLVE \u HOLES,NO,UPPER \u CASE \u ATTR \u NAMES,NO,REPORT \u BAD \u GEOMETRY,NO,ADVANCED,NUMERIC \u TYPE \u ATTRIBUTE HANDLING,STANDARD \u TYPES,ESRISHAPE \u EXPOSE \u FORMAT \u ATTRS,SIMPLE \u DONUT \u GEOMETRY,SIMPLE,SEARCH \u ENVELOPE \u MAXY,0,SEARCH \u envel,0,ENCODING,,SEARCH_ENVELOPE_MINY,0,CLIP_TO_ENVELOPE,NO,TRIM_previous_SPACES,yes,MEASURES_AS_Z,NO,GEOMETRY,WRITER_TYPE NULL WRITER_KEYWORD NULL_DEST NULL_DEST_DATASET NULL#!结束#WB#标题#!启动标题宏WB#关键字“ESRISHAPE#1”#!结束#WB#标题#!开始_SOURCE_HEADER ESRISHAPE ESRISHAPE_1#==============================================================================以下GUI行提示源shapefile#生成此映射文件的数据集为:#!结束#源#标题#!启动\u WB \u头默认\u宏SourceDataset INCLUDE[if{{$(SourceDataset)}!=“”}{\puts{DEFAULT\u MACRO SourceDataset\u ESRISHAPE\u 1$(SourceDataset)}\}]#!结束#WB#标题#!=======================================源头源头源头源头源头,U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U源头源头,U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U#提供一些控制用户选择的编码应用了哪些属性。通常,所有属性在被读取后都会被更新,但下面几行将所有名称以fme或shape开头的属性排除在外。ESRISHAPE_1_UNENCODED_ATTR_PREFIX fme_uuushape#为溶解孔添加了默认值,以便DI的默认值与工作台默认值一致,宏ESRISHAPE_IN_dissole_holes_ESRISHAPE_1 no ESRISHAPE_1_dissole_holes“$(ESRISHAPE_IN_dissole_holes_ESRISHAPE_1)”默认宏ESRISHAPE_IN_READER_PARAMETERS_ESRISHAPE_1 GUI可选DISCLOSUREGROUP ESRISHAPE \u IN \u READER \u PARAMETERS \u ESRISHAPE \u 1 ESRISHAPE \u IN \u UPPER CASE \u ATTR \u NAMES%ESRISHAPE \u IN \u ENCODING \u ESRISHAPE \u 1%ESRISHAPE \u IN \u NUMERIC \u TYPE \u ATTRIBUTE处理读取器参数#=================================================================================================确定属性名称是否应大写,或是否应大写#应该保持在shapefile中指定的位置。生成映射文件/工作区#后,不应更改此关键字的值。======================================================================================================1无ESRISHAPE\\u 1 1\u上宏宏宏宏宏宏宏宏宏宏许许许ESRISHAPE\U U U U U宏宏宏宏ESRISHAPE\U U U中U U U U中U U中U中U中U中U上U上U上U上U中U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U下案件中U中U上U上U上U上U中U上U上U上U上U上U上U中U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上U上用于读取shapefile,覆盖dbf文件LDID或.cpg文件(如果存在)。默认\u宏ESRISHAPE \u IN \u ENCODING \u ESRISHAPE \u 1 ESRISHAPE \u ENCODING“$(ESRISHAPE \u IN \u ENCODING \u ESRISHAPE \u 1)”GUI可选编码ESRISHAPE \u IN \u ENCODING \u ESRISHAPE \u 1100%CP437%CP708%CP720%CP720%CP737%CP708%CP720%CP720%CP737%CP737%CP775%CP855%CP850%CP850%CP855%CP855%CP855%CP855%CP855%cp5%5%ec5%EUC%hk%香港big 5%香港big 5%香港big 5%5%iso5%ISO%ISO%ISO%o5%o5%OEM%OEM%o8%CP437%cp七七七七七七七七七七七七七七七五%CP855%CP855%CP855%CP855%CP857%CP857%CP857%CP850%CP857%CP850%CP850%CP850%CP857%CP855%CP857%CP857%CP857%CP857%CP855%CP857%CP855%CP857%CP855 8%ISO8859-9%ISO 8859-11%ISO8859-13%ISO8859-15%WINDOWS-874字符编码#================================================================================================确定数字属性应解释为二进制还是绑定数字字段(ActualDBRepresentation)默认的ŠESRU宏ESRISHAPEŠ在ŠESRU数字类型Š属性Š处理ŠESRU ISHAPEŠ标准ŠESRISHAPE_1_NUMERIC_TYPE_ATTRIBUTE_HANDLING“$(ESRISHAPE_IN_NUMERIC_TYPE_ATTRIBUTE_HANDLING_ESRISHAPE_1)”#注意:使用搜索信封需要形状索引文件(。与.sbx)默认\u宏ESRISHAPE \u IN \u EXPOSE \u ATTRS \u GROUP \u ESRISHAPE \u 1 ESRISHAPE \u EXPOSE \u ATTRS \u GROUP“$(ESRISHAPE \u IN \u EXPOSE \u ATTRS \u GROUP \u ESRISHAPE \u 1)”#包含此文件源代码设置部分添加本机搜索信封处理#零作为默认值意味着我们不进行任何搜索—这将使默认的Š宏ESRISHAPEŠu INŠu USEŠu searchŠu envelopeŠu ESRISHAPEŠu 1 NO ESRISHAPEŠu USEŠu searchŠu envelopeŠu 1Šu USEŠu searchŠu envelope“$(ESRISHAPEESRISHAPE\在\使用\搜索\信封\ESRISHAPE\ 1在搜索过程中,用搜索方法进行搜索,用信封,信封,信封,信封,信封,MINX\u esrishapeU U U U U网上搜索,信封,信封,MINY\u esrishapeU U U网上搜索,信封,用搜索,信封,信封,搜索,信封,信封,信封,搜索,信封,信封,信封,MINX\u\u\U esrishapeU U U 1%ESRISHAPE\u在搜索中,用搜索搜索,信封,信封,信封,信封,信封,信封,信封,MINY\u米米u,esrishapeU U U U U U,esris现现现现现现现现阶段,U 1%1%ESRISHAPE‘‘‘esrishapeU网上网上搜索,用用用用用搜索,在搜索,搜索搜索,信封,信封,搜索,信封,信封,信封,信封,搜索,信封,信封,信封,信封,信封,信封,信封,信封,信封,信封,信封,用用用用用用用用用用用用\u过滤器%ESRISHAPE\u IN \u SEARCH \u ORDER%ESRISHAPE\u IN \u SEARCH \u FEATURE%ESRISHAPE\u IN \u DUMMY\u SEARCH \u ENVELOPE \u参数使用SEARCH ENVELOPE#===========================================================================GUI查找ESRISHAPE\u IN \u SEARCH ENVELOPE \u MINX \u ESRISHAPE \u 1 ,0默认\u宏ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MINX \u ESRISHAPE \u 1 0 ESRISHAPE \u SEARCH \u ENVELOPE“$(ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MINX \u ESRISHAPE \u 1)”GUI可选浮点ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MINX \u ESRISHAPE \u 1最小X:#=====================================================================ESRISHAPE\在\搜索\信封\最小\ ESRISHAPE\ 1 那0 DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1 0 ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1)" GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1 Minimum Y: # =========================================================================== GUI LOOKUP ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1 ,0默认\u宏ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MAXX \u ESRISHAPE \u 1 0 ESRISHAPE \u SEARCH \u ENVELOPE“$(ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MAXX \u ESRISHAPE \u 1)”GUI可选浮点ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MAXX \u ESRISHAPE \u 1最大X:#=======================================================GUI查找ESRISHAPE\在\搜索\信封\最大值\ ESRISHAPE\ 1 ,0默认\u宏ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MAXY \u ESRISHAPE \u 1 0 ESRISHAPE \u SEARCH \u ENVELOPE“$(ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MAXY \u ESRISHAPE \u 1)”GUI可选浮点ESRISHAPE \u IN \u SEARCH \u ENVELOPE \u MAXY \u ESRISHAPE \u 1最大Y:#=========================================================ESRISHAPE\u IN\u SEARCH\u信封\u坐标系\u ESRISHAPE\u 1 ,DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1 ESRISHAPE_1_SEARCH_ENVELOPE “$(ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1)” GUI可选COORDSYS ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1搜索信封坐标系:#=========================================================================== gui查找esrishape_in_clip_to_envelope_esrishape_1 ,无默认\u宏ESRISHAPE \u IN \u CLIP \u TO \u ENVELOPE \u ESRISHAPE \u 1无ESRISHAPE \u CLIP \u TO \u ENVELOPE“$(ESRISHAPE \u IN \u CLIP \u TO \u ENVELOPE \u ESRISHAPE \u 1)”GUI可选复选框ESRISHAPE \u IN \u CLIP \u TO \u ENVELOPE \u ESRISHAPE \u 1 YES%NO CLIP TO Search ENVELOPE默认\u宏ESRISHAPE \u IN \u CHECK \u NUMERIC \u FIELDS \u ESRISHAPE \u 1 YES ESRISHAPE \u CHECK \u NUMERIC \u FIELDS“$(ESRISHAPE \u IN \u CHECK \u NUMERIC \u FIELDS \u ESRISHAPE \u 1)”默认宏ESRISHAPE \u IN \u ADVANCED \u ESRISHAPE \u 1 GUI可选披露组ESRISHAPE \u IN \u ADVANCED \u ESRISHAPE \u 1 ESRISHAPE \u IN \u TRIM \u PRECEDING \u SPACES \u ESRISHAPE \u 1%ESRISHAPE \u IN \u GEOMETRY \u ESRISHAPE \u 1高级默认宏ESRISHAPE \u IN \u TRIM \u PRECEDING \u SPACES \u ESRISHAPE \u 1 yesESRISHAPE\u 1\u TRIM\u previous\u SPACES“$(ESRISHAPE\u IN\u TRIM\u previous\u SPACES\u ESRISHAPE\u 1)”GUI选项ESRISHAPE\u IN\u TRIM\u previous\u SPACES\u ESRISHAPE\u 1是%no TRIM previous SPACES默认值\u宏ESRISHAPE\u IN\u GEOMETRY\u ESRISHAPE\u 1 GUI可选披露组ESRISHAPE\u IN\u GEOMETRY\u ESRISHAPE\u 1ESRISHAPE\u在过去,简单的,圆环,几何,几何,几何,几何,几何,ESRISHAPE\u ESRISHAPE\u 1%ESRISHAPE\u在测量中,测量,作为,作为,Z,ESRISHAPE\u ESRISHAPE\u 1%ESRISHAPE\u 1%ESRISHAPE\u 1%ESRISHAPE\u 1%ESRISHAPE\u在.测量,测量,作为,U U,Z,U esresrishape,ESRISHAPE\u ESRISHAPE\U U U U U U U,ESRISHAPE\U 1%ESRISHAPE\U 1%ESRISHAPE\U 1%ESRISHAPE\U U U U U U U U U U U利利现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现现要使用简单的甜甜圈几何体创建,比原来的创作方法快,但在检测和纠正几何异常(即带孔的孔)时不够细致,默认的“简单甜甜圈几何”中的“宏ESRISHAPE”默认值为“简单甜甜圈几何”中的“ESRISHAPE”默认值为“简单甜甜圈几何”中的“ESRISHAPE 1简单ESRISHAPE”默认值为“$(简单甜甜圈几何”中的“ESRISHAPE”默认值为“GUI查找”;“简单甜甜圈几何”中的“ESRISHAPE”默认值为“仅定向”,简单的“%”\“方向和空间关系\”,复杂的“圆环几何体检测”#=======================================================================================下面的GUI行设置是否应将shapefile中的度量值视为高程。=========================================================宏宏宏默认值宏观ESRISHAPE\\u宏宏宏宏宏宏宏观ESRISHAPE\\\u宏观ESRISHAPE\u宏宏宏宏宏宏宏宏ESRISHAPE\u IN宏宏宏宏宏=#以下关键字设置读卡器是否解散甜甜圈上有洞。ESRISHAPE_1_dissole_HOLES“$(ESRISHAPE_IN_dissole_HOLES_ESRISHAPE_1)”GUI选项ESRISHAPE_IN_dissole_HOLES_ESRISHAPE_1 yes%no dissole nextual HOLES#======================================================================================================================================================下列关键字设置是否应通过#形状#几何体uerror}列表报告不良几何体属性。===================================================宏宏宏宏宏宏默认ESRISHAPE\U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U U\宏ESRISHAPE\ U IN\ U NETWORK\ U AUTHENTICATION\ U ESRISHAPE\ U 1 ESRISHAPE\ U NETWORK\ U AUTHENTICATION“$(ESRISHAPE\ U IN\ U NETWORK\ U AUTHENTICATION\ U ESRISHAPE\ U 1)”GUI可选验证器ESRISHAPE\ U IN\ U NETWORK\ U AUTHENTICATION\ U ESRISHAPE\ U 1 CONTAINER%GROUP%CONTAINER\ U TITLE%“NETWORK AUTHENTICATION”%PROMPT\ U TYPE%NETWORK AUTHENTICATION\========================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================ESRISHAPE\u 1\u GENERATE\u FME\u BUILD NUM 18578ESRISHAPE_1_DATASET“$(SourceDataset_ESRISHAPE_1)”#!结束#源#标题#!启动#WB#标题#!结束#WB#标题#!结束头日志文件名“$(FME\u MF\u DIR)Split2WayLinesWithPoints.log文件“日志\附加无日志\筛选器\掩码-1日志\最大值\功能200日志\最大值\记录的\功能200 FME \重投影\引擎FME \隐式\ CSMAP \重投影\模式自动FME \几何图形\处理增强的FME \笔划\最大值\偏差0默认\宏数据集\关键字\ ESRISHAPE \ 1 ESRISHAPE \ 1 \-------------------------------------------------------------------------ESRISHAPE#u 1#u READERŠMETAŠu ATTRIBUTES fmeŠu featureŠtypeŠ------------------------------------------------------------------多Šu READERŠu CONTINUEŠu ONŠu READERŠu FAILURE NoŠ-----------------------------------------------------------------------------------------------------宏工作区\uSplit2WayLinesWithPoints宏FME#u VIEWER#APP fmedatainspector#-----------------------------------------------------------------包括[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\u platform(platform)=“unix”}{set gVisualizerTemp”/tmp”}else{set gVisualizerTemp c:};regsub-all{[,&]}{$(WORKSPACE\u NAME)}{{wsname;set gVisualizerTemp$gVisualizerTemp/${wsname}.[clock format[clock seconds]-format%H%M%S];puts“宏工作区”E_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 # ------------------------------------------------------------------------- ESRISHAPE_1_DEF Intersection_point SHAPE_GEOMETRY shape_point interse_ID long # ------------------------------------------------------------------------- ESRISHAPE_1_DEF shapes_line SHAPE_GEOMETRY shape_polyline shape_id char(254) # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Router and Unexpected Input Remover" COMMAND_PARM_EVALUATION SINGLE_PASS MULTI_READER_KEYWORD $(DATASET_KEYWORD_ESRISHAPE_1) INPUT FEATURE_TYPE * ROUTE ESRISHAPE ESRISHAPE_1::Intersection_point multi_reader_keyword,$(DATASET_KEYWORD_ESRISHAPE_1) TO FME_GENERIC ::Intersection_point ALIAS_GEOMETRY ROUTE ESRISHAPE ESRISHAPE_1::shapes_line multi_reader_keyword,$(DATASET_KEYWORD_ESRISHAPE_1) TO FME_GENERIC ::shapes_line ALIAS_GEOMETRY MERGE_INPUT Yes OUTPUT ROUTED FEATURE_TYPE * ESRISHAPE_1_MERGE_DEF ESRISHAPE_1::Intersection_point EXACT Intersection_point ESRISHAPE_1_MERGE_DEF ESRISHAPE_1::shapes_line EXACT shapes_line # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Intersection_point (ESRISHAPE_1) Splitter" INPUT FEATURE_TYPE Intersection_point OUTPUT FEATURE_TYPE Intersection_point_ESRISHAPE_1 # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "shapes_line (ESRISHAPE_1) Splitter" INPUT FEATURE_TYPE shapes_line OUTPUT FEATURE_TYPE shapes_line_ESRISHAPE_1 DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME AnchoredSnapper_Splitter0 INPUT FEATURE_TYPE ___nothing_will_match_this_to_handle_when_below_inputs_are_not_specified___ INPUT FEATURE_TYPE shapes_line_ESRISHAPE_1 OUTPUT FEATURE_TYPE ___TOSNAP__BASE___ FACTORY_DEF {*} SnappingFactory FACTORY_NAME AnchoredSnapper INPUT BASE FEATURE_TYPE ___TOSNAP__BASE___ INPUT CANDIDATE FEATURE_TYPE Intersection_point_ESRISHAPE_1 OUTPUT_DEGENERATES_AS_COLLAPSED YES SNAP_TYPE VERTEX SNAP_TOLERANCE 1 EXTEND_LINES_TO_SNAP NEVER ADD_PSEUDONODES_TO_BASE DO_NOT_STROKE_ARCS_FOR_VERTEX_SNAPPING CLEANING_TOLERANCE OUTPUT SNAPPED FEATURE_TYPE AnchoredSnapper_SNAPPED OUTPUT NODED_BASES FEATURE_TYPE AnchoredSnapper_ANCHORS FACTORY_DEF * TeeFactory FACTORY_NAME "AnchoredSnapper SNAPPED Splitter" INPUT FEATURE_TYPE AnchoredSnapper_SNAPPED OUTPUT FEATURE_TYPE AnchoredSnapper_SNAPPED_0_8G2YRroQcmQ= OUTPUT FEATURE_TYPE AnchoredSnapper_SNAPPED_1_RnfXWSSW1W0= # ------------------------------------------------------------------------- FACTORY_DEF * ChoppingFactory FACTORY_NAME Chopper INPUT FEATURE_TYPE AnchoredSnapper_ANCHORS MODE VERTEX MAX_VERTICES "2" APPROX_LENGTH " “残余物属性”\u残余物“切碎多边形” 拒绝\u无效\u GEOM是取消聚合\u输入取消聚合输出斩波功能\u类型斩波器\u斩波输出拒绝功能\u类型斩波器_ DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME Chopper_ 输入特性U型斩波器_ 输出失败feature_type * @abort(编码,斩波器 输出 拒绝 功能。 继续 translation 什么时候 特征 拒绝 改变 工作区 参数 翻译 拒绝 特色 处理 继续 翻译 )#----------------------------------------------------------------------- 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 2D $(Matcher_ATTRMATCH) BLANK_AND_MISSING_DIFFER No LENIENT_GEOMETRY_MATCH Yes ADD_TO_MATCHED _match_id @Count(Matcher) LIST_ATTRS_TO_INCLUDE { }列表属性到包含模式 输出匹配特征\u类型匹配器\u匹配输出单个\u匹配特征\u类型匹配器\u单个\u匹配输出不匹配特征\u类型匹配器\u不匹配工厂\u定义*TeeFactory工厂\u名称“匹配器\u单个\u匹配禁用Nuker-1 41”输入特征\u类型匹配器\u单个\u匹配\-------------------------------------------------------------------------工厂定义{*}ArcFactory工厂名称行组合器\u 2输入特征\u类型匹配器\u不匹配结束\u节点保留\u方向否取消聚集\u几何体取消聚集关闭\u循环是累积\u属性一个列表\u属性\u包含{ }列表属性到包含模式 “单位名称” “线作为线段不考虑节点标高不连接Z模式第一个断开连接跨接设置是输出线功能类型行组合器2行输出被拒绝功能类型行组合器2”_ default_macro _wb_bypass_termination no factory_def * teefactory factory_name linecombiner_2_ 输入Feature_type LineCombiner_2_ 输出失败功能类型*@Abort(编码,行组合器_2 输出 拒绝 功能。 继续 translation 什么时候 特征 拒绝 改变 工作区 参数 翻译 拒绝 特色 处理 继续 翻译 )#--------------------------------------------------------------------- Factory_def {*} ArcFactory Factory_name LineCombiner输入Feature_type匹配器_single_matchedexpuee_type匹配器_matchedend_noded preserve_orientation no deagregge_geometry deagegregate close_loops yachuld_loops一个list_attrs_to_include { }列表属性到包含模式 “单位名称” “线作为线段不考虑节点标高不连接Z模式第一个断开连接跨接设置没有输出线功能类型行组合器行输出被拒绝功能类型行组合器”_ 默认\u宏\u WB \u旁路\u终止无工厂\u定义*TeeFactory工厂\u名称行组合器_ 输入feature_type linecombiner_ 输出失败功能类型*@Abort(编码,行组合器 输出 拒绝 功能。 继续 translation 什么时候 特征 拒绝 改变 工作区 参数 翻译 拒绝 特色 处理 继续 翻译 )#---------------------------------------------------------------------- Factory_Def * Teefactory Factory_name克拿_Cloner输入Feature_type LineCombiner_line Number_of_copies“2”Copy_Number_Attribute _Copynum Resext_Invalid是输出复制克隆器_Copy输出 Cloner_ fme\u拒绝\u代码“无效\u参数\u副本数\u”默认\u宏\u WB\u旁路\u终止无工厂\u定义*工厂名称克隆器_ 输入功能型克隆器_ OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, Cloner 输出 拒绝 功能。 继续 translation 什么时候 特征 拒绝 改变 工作区 参数 翻译 拒绝 特色 处理 继续 翻译 )#--------------------------------------------------------------------- #--#假设是研发和创建的工作空间TEMP DIR。See controldefs.cpp - ControlDefs::writeVisualizerTempDir DEFAULT_MACRO WORKSPACE_TEMP_DIR INCLUDE [ set safeName "[regsub -all {[^a-zA-Z0-9]} {_Snapped_points} _]_[expr round(rand() * 1000000)]_[clock clicks -milliseconds]"; puts "MACRO SAFE_FFS_NAME $safeName"; ] FACTORY_DEF {*} InspectorFactory FACTORY_NAME _Snapped_points_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE AnchoredSnapper_SNAPPED_1_RnfXWSSW1W0= GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY { } GROUP_ATTRIBUTE_PREFIX { _Snapped_points } 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 _Snapped_points_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 interse_ID,varchar 255 Mode Record Store_scanned_metadata record_directly_to_disk是max_features_to_record win32 2000000#------------------------------------------------------------------- FACTORY_DEF {*} OverlayFactory FACTORY_NAME PointOnLineOverlayer INPUT LINE FEATURE_TYPE Cloner_COPY INPUT LINE FEATURE_TYPE LineCombiner_2_LINE INPUT POINT FEATURE_TYPE AnchoredSnapper_SNAPPED_0_8G2YRroQcmQ= TOLERANCE 0.1 OVERLAP_COUNT_ATTRIBUTE "_overlaps" DEAGGREGATE_INPUT Yes MERGE_ATTRS "YES" ATTR_ACCUM_MODE "HANDLE_CONFLICT" ATTR_CONFLICT_RES "ORIGINAL_IF_CONFLICT" INCOMING_PREFIX " “列表名称” “列出要包含的属性”{ }列表属性到包含模式 “候选人名单” " CANDIDATE_LIST_ATTRS_TO_INCLUDE { } CANDIDATE_LIST_ATTRS_TO_INCLUDE_MODE MODE COMPLETE OVERLAY_TYPE POINT_ON_LINE OUTPUT LINE FEATURE_TYPE PointOnLineOverlayer_LINE OUTPUT ILLEGAL_GEOM FEATURE_TYPE PointOnLineOverlayer_ 默认\u宏\u WB \u旁路\u终止无工厂\u定义*TeeFactory工厂\u名称PointOnLineOverlayer_ 输入功能类型PointOnLineOverlayer_ 输出失败的功能类型*@Abort(编码,PointOnLineOverlayer 输出 拒绝 功能。 继续 translation 什么时候 特征 拒绝 改变 工作区 参数 翻译 拒绝 特色 处理 继续 翻译 )#---------------------------------------------------------------------#创建此转换器将使用的域名。#因为@Count本身将计算表达式来计算#domain,所以我们不需要在Tcl中对INCLUDE[set domainPrefix{};if{Local}=={Local}}{set domainPrefix[FME\u EncodeText{Counter\u2}];};puts“MACRO Counter\u2\u FULL\u domain${domainPrefix}Counter”进行任何操作;]FACTORY_DEF*ExecuteFunctionFactory_NAME Counter_2_Rejector COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE PointOnLineOverlayer_LINE FUNCTION_DEFINITION@Count(可拒绝的_WITH_FLAG,fme_encoded,$(Counter_2_FULL_DOMAIN)),“1”)结果\属性“LineId”输出完整功能\类型计数器\输出被拒绝功能\类型计数器\ 2_ factory_def * teefactory factory_name“counter_2输出分配器”输入feature_type countring_2_output输出effution_type country_2_output_0_6btucrdson4 =输出effect_type country_2_output_1_rlbo72ivdea = default_macro _wb_bypass_termination no factory_def * teefactory factory_name countr_2_ 输入feature_type counter_2_ OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, Counter_2 输出 拒绝 功能。 继续 translation 什么时候 特征 拒绝 改变 工作区 参数 翻译 拒绝 特色 处理 继续 翻译 )#---------------------------------------------------------------------#假设已经设置并创建了workspace temp dir。看到了吗控制定义.cpp-ControlDefs::writeVisualizerTempDir DEFAULT\u MACRO WORKSPACE\u TEMP\u DIR INCLUDE[set safeName”[regsub-all{[^a-zA-Z0-9]}{Lines}\u]\u[expr round(ra亚搏在线nd()*1000000)]\u[clock clicks-millises];puts“宏安全\u FFS\u NAME$safeName”;]工厂定义{*}检查器工厂名称行{Prepper命令{PARM}评估单通输入功能{u类型计数器{u 2}输出{u 1}rlbO72IVDeA=组{u属性}检查器功能{u类型{u属性}组{u属性{行}光栅}减少或减少点{u云}减少无细化输出结果功能{u类型}视图}现在将所有功能路由到记录器中,将它们的#功能类型更改为转换器名称,以便它们可以很好地查看默认的#宏可视化工具#功能文件$(工作区#临时#目录)/$(安全的ŠFFSŠ名称)。FFS默认的Š宏可视化工具Š创建Š空间Š索引编号Š[PRŠ45549]数据检查器将限制它在WIN32上读取的最大功能数,因此我们将使用MAX#features#TO#record指令相应地限制这里记录的#features的数量。工厂\定义*记录器工厂\名称行\记录器命令\参数\评估单次\通过输入功能\类型\视图\ wb \终止功能\功能是@功能类型(终止符@值(\u wb\u termination\u xformer))INPUT FEATURE\u TYPE\u viewme\u@FeatureType(@Value(\u inspector\u FEATURE\u TYPE\u attr\u))@RemoveAttributes(\u inspector\u FEATURE\u TYPE\uattr\u)特征文件“$(可视化工具\u特征\u文件)”存储\u扫描的\u模式是创建\u空间\u索引“$(可视化工具\u创建\u空间\u索引)”检查器“$(可视化工具\u创建\u空间\u索引)”FSC \u模式中间ID,varchar 255 ,形状\u id,varchar 255 瓦查尔 255 那_match_id,varchar 255 、\u copynum、varchar 255 ,\u重叠,varchar 255 ,lineid,varchar 255 Mode Record Store_scanned_metadata record_directly_to_disk是max_features_to_record win32 2000000#----------------------------------------------------------------------------------------------------FEATURE_TYPE ___TOLABELLER___ fme_type fme_arc TEST @GlobalVariable(fme_get_mapping_file_flag_keyword_FME_USE_RICH_GEOMETRY)==是输出PASSED FEATURE_TYPE ___TOLABELLER___ @Arc()OUTPUT失败FEATURE_TYPE ___TOLABELLER___ FACTORY_DEF * TeeFactory FACTORY_NAME LabelPointReplacer_Pointer INPUT FEATURE_TYPE ___TOLABELLER___ fme_geometry fme_point输出FEATURE_TYPE LabelPointReplacer_LabelPoint @GeometryType(fme_text,“@ EvaluateExpression(FDIV,STRING_ENCODED那 LineId ,LabelPointReplacer)”,“15”,0,编码)工厂\u DEF*LabelFactory工厂\u NAME LabelPointReplacer \u线性输入特征\u TYPE \u TOLABELLER \u拒绝\u无效\u GEOM YES TREAT \u非线性\u特殊YES放置上部\u右放置\u距离0 LABEL \u始终旋转YES输出点特征\u TYPE LabelPointReplacer \u LabelPoint@GeometryType(fme\u text,“@EvaluateExpression(FDIV,字符串\u编码, LineId ,标签“,”15“,@值(LabelRotation),编码的)输出拒绝的特征类型LabelPointReplacer_ 默认\u宏\u WB \u旁路\u终止无工厂\u DEF*TeeFactory工厂\u名称LabelPointReplacer_ 输入feature_type labelpointreplacer_ 输出失败feature_type * @abort(编码,labelpointreplacer 输出 拒绝 功能。 继续 translation 什么时候 特征 拒绝 改变 工作区 参数 翻译 拒绝 特色 处理 继续 翻译 )#--------------------------------------------------------------------- #--#假设是研发和创建的工作空间TEMP DIR。请参阅contreolyefs.cpp - controlyefs :: writevisualizertempdir default_macro workspace_temp_dir包括[set safe亚搏在线Name] [Regsub -All {[^ a-za-z0-9]} {labels} _] _ [expr轮(rand()* 1000000)] _[时钟点击-milliseconds]“;把“宏Safe_ffs_亚搏在线name $ safeName”放了;] FACTORY_DEF {*} InspectorFactory FACTORY_NAME Labels_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE LabelPointReplacer_LabelPoint GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY {} GROUP_ATTRIBUTE_PREFIX {标签} RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING输出结果FEATURE_TYPE __viewme__#现在将所有功能集成在录像机,改变他们#功能类型变压器的名称,以便它们查看了默认情况下默认_MacroSisureIzer_Feature_file $(workspace_temp_dir)/ $亚搏在线#特征我们使用max_features_to_record指令录制。FACTORY_DEF * RecorderFactory FACTORY_NAME Labels_Recorder COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE __viewme__ _wb_termination_feature是@FeatureType(TERMINATOR_ @值(_wb_termination_xformer))输入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 onerse_id,varchar 255 ,形状\u id,varchar 255 瓦查尔 255 那_match_id,varchar 255 、\u copynum、varchar 255 ,\u重叠,varchar 255 ,lineid,varchar 255 模式记录存储\u已扫描\u元数据记录\u直接\u到磁盘是最大\u功能\u到\u记录WIN32 2000000#----------------------------------------工厂\u定义*路由工厂\u名称“目标功能类型路由相关器”命令\u参数\u求值单次\u传递输入功能\u类型*功能\u类型\u属性__wb\u out\u feat\u type\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu__nuke\u me\uuu35;------------------------------------------------------FACTORY\u DEF*CreationFactory FACTORY\u NAME VisualizerProcessor CREATE\u AT\u END OUTPUT FEATURE\u TYPE\u NUKEME\uuujl@TCL(“if[文件存在{$(WORKSPACE\u TEMP\u DIR)}]{设置文件[glob-nocomplain-目录{$(WORKSPACE\u TEMP\u DIR)}-tails*.ffs];if{[长度$files]==1}{set theFile{$(WORKSPACE\u TEMP\u DIR)/};append theFile[lindex$files 0];eval FME\u Execute System\173\042$(FME\u HOME\u UNIX)/fmedatainspector\042--可视化工具--单个应用程序--关闭时删除--无源提示-f FFS\042$theFile\042&\175;}elseif{[llength$files]==0}{catch{file delete-force{$(WORKSPACE\u TEMP\u DIR)};}else{set filesNoExt{};set lastfile{};foreach{fileName}[lsort$files]{set fileNoExt[string trimright$fileName{.ffs}];if[regexp{(.*)\[0-9]*$}$fileNoExt wholething fileNoExtBase]{if{$fileNoExtBase==$lastfile}{continue}};set lastfile$fileNoExt;lappend fileNoExt$fileNoExt};eval FME\u Execute System\173\042$(FME\u HOME\u UNIX)/fmedatainspector\042--可视化工具--单个应用程序--关闭时删除--无源代码提示-d{$(WORKSPACE\u TEMP\u DIR)}-a ffs-f ffs$filesNoExt&\175;};};“)工厂定义*工厂名称可视化清理器输入功能\u TYPE\u NUKEME__