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

Merge the text file attributes

onto the point cloud with an

indiscriminate merge

" POSITION="-1109.39 255.525" TOP_LEFT="-1109.39 255.525" BOTTOM_RIGHT="-1110.39 256.525" BOUNDING_RECT="-1109.39 255.525 -1 -1" ORDER="5e+14" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.784314,0.192157" SIZE_POLICY="8" COMMENT_TYPE="REGULAR" ANCHORED_NODE="20">
#!
#! #!#! #!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!Value_list0 C2 SET_TO Value_list1 C3 SET_TO Value_list2">#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#! #!#! #!#!
FME_PYTHON_VERSION 27 GUI IGNORE SourceDataset_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_SEPARATOR_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_DUPLICATE_DELIMS_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_STRIP_QUOTES_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_FIELD_NAMES_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_FIELD_NAMES_AFTER_HEADER_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_MAX_LINES_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_COLUMN_TO_PCCOMPONENT_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINX_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINY_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXX_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXY_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_CLIP_TO_ENVELOPE_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_ENCODING_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_STRING_DATA_CONTAINS_DELIMS_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_EXPOSE_ATTRS_GROUP_POINTCLOUDXYZ_1,POINTCLOUDXYZ_IN_NETWORK_AUTHENTICATION_POINTCLOUDXYZ_1,SKIP_LINES_POINTCLOUDXYZ_1,SKIP_FOOTER_POINTCLOUDXYZ_1,SourceDataset_TEXTLINE_1,TEXTLINE_IN_READ_WHOLE_FILE_AT_ONCE_TEXTLINE_1,TEXTLINE_IN_READ_BOTTOM_UP_TEXTLINE_1,TEXTLINE_IN_SKIP_LINES_TEXTLINE_1,TEXTLINE_IN_SKIP_FOOTER_TEXTLINE_1,TEXTLINE_IN_ENCODING_TEXTLINE_1,TEXTLINE_IN_EXPOSE_ATTRS_GROUP_TEXTLINE_1,TEXTLINE_IN_NETWORK_AUTHENTICATION_TEXTLINE_1,DestDataset_LAS_1,LAS_OUT_VERSION_LAS_1,LAS_OUT_COMPRESSION_LAS_1,LAS_OUT_FIXED_GROUP_LAS_1,LAS_OUT_USER_GROUP_LAS_1,LAS_OUT_USER_COMPONENTS_LAS_1,LAS_OUT_ADVANCED_PARAMETERS_LAS_1,LAS_OUT_LAS_DATASET_FILE_LAS_1,LAS_OUT_ARCGIS_LAS_DATASET_LAS_1,LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_1,LAS_OUT_ZLAS_PARAMETERS_LAS_1,LAS_OUT_ZLAS_REARRANGE_POINTS_LAS_1,LAS_OUT_ZLAS_POINT_SPACING_SOURCE_LAS_1,LAS_OUT_ZLAS_POINT_SPACING_VALUE_LAS_1,DestDataset_LAS_2,LAS_OUT_VERSION_LAS_2,LAS_OUT_COMPRESSION_LAS_2,LAS_OUT_FIXED_GROUP_LAS_2,LAS_OUT_USER_GROUP_LAS_2,LAS_OUT_USER_COMPONENTS_LAS_2,LAS_OUT_ADVANCED_PARAMETERS_LAS_2,LAS_OUT_LAS_DATASET_FILE_LAS_2,LAS_OUT_ARCGIS_LAS_DATASET_LAS_2,LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_2,LAS_OUT_ZLAS_PARAMETERS_LAS_2,LAS_OUT_ZLAS_REARRANGE_POINTS_LAS_2,LAS_OUT_ZLAS_POINT_SPACING_SOURCE_LAS_2,LAS_OUT_ZLAS_POINT_SPACING_VALUE_LAS_2 DEFAULT_MACRO SourceDataset_POINTCLOUDXYZ $(FME_MF_DIR)pointmatch2 / 1 / Rott_LAS_20170324 / Onefeature_paal.txt GUI多文件SourceDataset_POINTCLOUDXYZ XYZ / CSV / TEXT_FILES(* XYZ * CSV; *。TXT)|名为* .xyz;。*的.csv; * TXT | XYZ_Files(。* XYZ)|名为* .xyz | CSV_Files | * .CSV | TEXT_FILES | * .TXT | All_Files | *点云XYZ文件(S(* CSV)(* TXT)。):。DEFAULT_MACRO SourceDataset_TEXTLINE $(FME_MF_DIR)pointmatch2 / 2 /测试/ las_py.txt GUI的多文件SourceDataset_TEXTLINE文/ Compressed_Text_Files(* TXT; * txt.gz)| * .TXT; * txt.gz | TEXT_FILES(* TXT)| * .TXT | Compressed_Text_Files(* txt.gz)| * .txt.gz | All_files(*)| *源文本文件(S):DEFAULT_MACRO DestDataset_LAS $(FME_MF_DIR)pointmatch2 /数据\ Rott_LAS_20170324 \测试GUI DIRNAME DestDataset_LAS目标ASPRS LAS文件夹:DEFAULT_MACRO DestDataset_LAS_3 $(FME_MF_DIR)pointmatch2 /数据\ Rott_LAS_20170324 \测试GUI DIRNAME DestDataset_LAS_3目的地ASPRS LAS文件夹:INCLUDE [如果{{$(SourceDataset_POINTCLOUDXYZ)} {==}} {puts_real {参数 'SourceDataset_POINTCLOUDXYZ' 必须被给出的值};。出口1;};] INCLUDE [如果{{$(SourceDataset_TEXTLINE)} {==}} {puts_real {参数 'SourceDataset_TEXTLINE' 必须被给出的值}。出口1; }; ] INCLUDE [ if {{$(DestDataset_LAS)} == {}} { puts_real {Parameter 'DestDataset_LAS' must be given a value.}; exit 1; }; ] INCLUDE [ if {{$(DestDataset_LAS_3)} == {}} { puts_real {Parameter 'DestDataset_LAS_3' must be given a value.}; exit 1; }; ] #! START_HEADER #! START_WB_HEADER READER_TYPE MULTI_READER MULTI_READER_TYPE{0} POINTCLOUDXYZ MULTI_READER_KEYWORD{0} POINTCLOUDXYZ_1 MULTI_READER_GEN_DIRECTIVES{0} STRIP_QUOTES,no,SEPARATOR,space,_MERGE_SCHEMAS,YES,ENCODING,,DUPLICATE_DELIMS,no,COLUMN_TO_PCCOMPONENT_HAS_TYPES,yes,SEARCH_ENVELOPE_MINY,0,MAX_LINES,,FILE_PREVIEW_GROUP,,PREVIEW_PLACEHOLDER,,USE_SEARCH_ENVELOPE,NO,FIELD_SEPARATION_GROUP,,SEARCH_ENVELOPE_MAXX,0,SEARCH_ENVELOPE_COORDINATE_SYSTEM,,COLUMN_TO_PCCOMPONENT,x 固定 固定 X REAL64 y y REAL64 Z. Z. Real32 point_source_id 分类 SCAN_MAX_LINES POINTCLOUDXYZ_EXPOSE_FORMAT_ATTRS UInt16 SCAN_GROUP,,, 10000年,STRING_DATA_CONTAINS_DELIMS,是的,LINES_TO_SKIP_GROUP, POINTCLOUDXYZ_RDR_ADV_PARM_GROUP, SEARCH_ENVELOPE_MAXY, 0, CLIP_TO_ENVELOPE,不,SKIP_FOOTER, 0, FIELD_NAMES_AFTER_HEADER,不,EXPOSE_ATTRS_GROUP, COMPONENT_MAP_GROUP, SKIP_LINES, 1, FIELD_NAMES,是的,SEARCH_ENVELOPE_MINX, 0MULTI_READER_TYPE {1} TEXTLINE MULTI_READER_KEYWORD {1} TEXTLINE_1 MULTI_READER_GEN_DIRECTIVES{1}编码,,TEXTLINE_EXPOSE_FORMAT_ATTRS, READ_WHOLE_FILE_AT_ONCE,不,READ_BOTTOM_UP,不,SKIP_FOOTER, 0 EXPOSE_ATTRS_GROUP, SKIP_LINES, 0, _MERGE_SCHEMAS,是的WRITER_TYPE MULTI_WRITER MULTI_WRITER_DATASET_ORDER BY_ID MULTI_WRITER_FIRST_WRITER_ID 0Multi_writer_type {0} las multi_writer_keyword {0} las_1 Multi_writer_type {1} las multi_writer_keyword {1} las_2 #!END_WB_HEADER # !Start_wb_header宏wb_keyword " pointcloudxyz_1 " #!END_WB_HEADER # !START_SOURCE_HEADER POINTCLOUDXYZ POINTCLOUDXYZ_1 # ============================================================================ # 下面的GUI行提示输入一个文件夹作为# CSV文件的来源。#用户输入存储在宏中,然后使用宏定义要读取的数据集。这个映射文件的数据集是:#!END_SOURCE_HEADER # ! START_WB_HEADER DEFAULT_MACRO SourceDataset INCLUDE [ if {{$(SourceDataset)} != ""} { \ puts {DEFAULT_MACRO SourceDataset_POINTCLOUDXYZ_1 $(SourceDataset)} \ } ] #! END_WB_HEADER #! START_SOURCE_HEADER POINTCLOUDXYZ POINTCLOUDXYZ_1 DEFAULT_MACRO SourceDataset_POINTCLOUDXYZ_1 $(SourceDataset_POINTCLOUDXYZ) GUI MULTIFILE SourceDataset_POINTCLOUDXYZ_1 XYZ/CSV/Text_Files(*.xyz;*.csv;*.txt)|*.xyz;*.csv;*.txt|XYZ_Files(*.xyz)|*.xyz|CSV_Files(*.csv)|*.csv|Text_Files(*.txt)|*.txt|All_Files|* Point Cloud XYZ File(s): # ============================================================================ # Hardcode the settings that were used to generate this mapping file # DEFAULT_MACRO SKIP_LINES_POINTCLOUDXYZ_1 1 POINTCLOUDXYZ_1_SKIP_LINES $(SKIP_LINES_POINTCLOUDXYZ_1) DEFAULT_MACRO SKIP_FOOTER_POINTCLOUDXYZ_1 0 POINTCLOUDXYZ_1_SKIP_FOOTER $(SKIP_FOOTER_POINTCLOUDXYZ_1) # ===================================================================== # 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 csv_. POINTCLOUDXYZ_1_UNENCODED_ATTR_PREFIX fme_ pointcloudxyz_ DEFAULT_MACRO POINTCLOUDXYZ_IN_SEPARATOR_POINTCLOUDXYZ_1 space POINTCLOUDXYZ_1_SEPARATOR "$(POINTCLOUDXYZ_IN_SEPARATOR_POINTCLOUDXYZ_1)" GUI STRING_OR_CHOICE_ENCODED POINTCLOUDXYZ_IN_SEPARATOR_POINTCLOUDXYZ_1 ,%;%|%space%tab Separator Character: DEFAULT_MACRO POINTCLOUDXYZ_IN_DUPLICATE_DELIMS_POINTCLOUDXYZ_1 no POINTCLOUDXYZ_1_DUPLICATE_DELIMS "$(POINTCLOUDXYZ_IN_DUPLICATE_DELIMS_POINTCLOUDXYZ_1)" GUI OPTIONAL CHECKBOX POINTCLOUDXYZ_IN_DUPLICATE_DELIMS_POINTCLOUDXYZ_1 yes%no Remove Duplicate Separators: DEFAULT_MACRO POINTCLOUDXYZ_IN_STRIP_QUOTES_POINTCLOUDXYZ_1 no POINTCLOUDXYZ_1_STRIP_QUOTES "$(POINTCLOUDXYZ_IN_STRIP_QUOTES_POINTCLOUDXYZ_1)" GUI OPTIONAL CHECKBOX POINTCLOUDXYZ_IN_STRIP_QUOTES_POINTCLOUDXYZ_1 yes%no Strip Quotes: DEFAULT_MACRO POINTCLOUDXYZ_IN_FIELD_NAMES_POINTCLOUDXYZ_1 YES POINTCLOUDXYZ_1_FIELD_NAMES "$(POINTCLOUDXYZ_IN_FIELD_NAMES_POINTCLOUDXYZ_1)" GUI ACTIVEDISCLOSUREGROUP POINTCLOUDXYZ_IN_FIELD_NAMES_POINTCLOUDXYZ_1 FME_DISCLOSURE_CLOSED%FIELD_NAMES_AFTER_HEADER File Has Field Names DEFAULT_MACRO POINTCLOUDXYZ_IN_FIELD_NAMES_AFTER_HEADER_POINTCLOUDXYZ_1 no POINTCLOUDXYZ_1_FIELD_NAMES_AFTER_HEADER "$(POINTCLOUDXYZ_IN_FIELD_NAMES_AFTER_HEADER_POINTCLOUDXYZ_1)" GUI OPTIONAL CHECKBOX POINTCLOUDXYZ_IN_FIELD_NAMES_AFTER_HEADER_POINTCLOUDXYZ_1 yes%no Field Names Follow Header GUI LOOKUP POINTCLOUDXYZ_IN_FIELD_NAMES_AFTER_HEADER_POINTCLOUDXYZ_1 ,否default_macro pointcloudxyz_in_max_lines_pointcloudxyz_1 postcloudxyz_1_max_lines“$(pointcloudxyz_in_max_lines_pointcloudxyz_1)”gui可选整数pointcloudxyz_in_max_lines_pointcloudxyz_1最大行读取:default_macro pointcloudxyz_in_column_to_pccomponent_pointcloudxyz_1 x, X,Real64,Y,Y,Real64,Z,Z,Real32,point_source_id,分类,UINT16 POINTCLOUDXYZ_1_COLUMN_TO_PCCOMPONENT “$(POINTCLOUDXYZ_IN_COLUMN_TO_PCCOMPONENT_POINTCLOUDXYZ_1)” GUI OPTIONAL GUI_LINE_TABLE POINTCLOUDXYZ_IN_COLUMN_TO_PCCOMPONENT_POINTCLOUDXYZ_1 NO_MOVE%NO_LABEL%ROW_DELIM:,%COL_DELIM:,%COL_DISPLAY_ORDER:1,0,2%的 “组件” % “PC_COMPONENT_ENCODED PC_COMPONENT X%Y%Z%*” % “列名” % “STRING_ENCODED COLUMN_NAME” % “数据类型” % “PC_TYPE PC_TYPE *%字符串” 组件映射:#包含在源设置这个文件部分添加外部搜索包膜处理#零作为默认的手段,我们没有做任何搜索 - 这使得工作台更幸福#===========================================================================.DEFAULT_MACRO POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINX_POINTCLOUDXYZ_1 0 POINTCLOUDXYZ_1_SEARCH_ENVELOPE "$(POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINX_POINTCLOUDXYZ_1)" GUI OPTIONAL FLOAT POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINX_POINTCLOUDXYZ_1 Minimum X: # =========================================================================== DEFAULT_MACRO POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINY_POINTCLOUDXYZ_1 0 POINTCLOUDXYZ_1_SEARCH_ENVELOPE "$(POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINY_POINTCLOUDXYZ_1)" GUI OPTIONAL FLOAT POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MINY_POINTCLOUDXYZ_1 Minimum Y: # =========================================================================== DEFAULT_MACRO POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXX_POINTCLOUDXYZ_1 0 POINTCLOUDXYZ_1_SEARCH_ENVELOPE "$(POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXX_POINTCLOUDXYZ_1)" GUI OPTIONAL FLOAT POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXX_POINTCLOUDXYZ_1 Maximum X: # =========================================================================== DEFAULT_MACRO POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXY_POINTCLOUDXYZ_1 0 POINTCLOUDXYZ_1_SEARCH_ENVELOPE "$(POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXY_POINTCLOUDXYZ_1)" GUI OPTIONAL FLOAT POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_MAXY_POINTCLOUDXYZ_1 Maximum Y: # =========================================================================== DEFAULT_MACRO POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_POINTCLOUDXYZ_1 POINTCLOUDXYZ_1_SEARCH_ENVELOPE "$(POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_POINTCLOUDXYZ_1)" GUI OPTIONAL COORDSYS POINTCLOUDXYZ_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_POINTCLOUDXYZ_1 Search Envelope Coordinate System: # =========================================================================== # BUG18999: We now have a soft clip to fall back on like native spatial index # thus we are reintroducing the clip to envelop as an option for users. # Defualt to soft clip as per the existing database readers we are emulating DEFAULT_MACRO POINTCLOUDXYZ_IN_CLIP_TO_ENVELOPE_POINTCLOUDXYZ_1 NO POINTCLOUDXYZ_1_CLIP_TO_ENVELOPE "$(POINTCLOUDXYZ_IN_CLIP_TO_ENVELOPE_POINTCLOUDXYZ_1)" GUI OPTIONAL CHECKBOX POINTCLOUDXYZ_IN_CLIP_TO_ENVELOPE_POINTCLOUDXYZ_1 YES%NO Clip to Search Envelope DEFAULT_MACRO POINTCLOUDXYZ_IN_ENCODING_POINTCLOUDXYZ_1 POINTCLOUDXYZ_1_ENCODING "$(POINTCLOUDXYZ_IN_ENCODING_POINTCLOUDXYZ_1)" GUI OPTIONAL STRING_OR_ENCODING POINTCLOUDXYZ_IN_ENCODING_POINTCLOUDXYZ_1 SYSTEM%* Character Encoding: DEFAULT_MACRO POINTCLOUDXYZ_IN_STRING_DATA_CONTAINS_DELIMS_POINTCLOUDXYZ_1 yes POINTCLOUDXYZ_1_STRING_DATA_CONTAINS_DELIMS "$(POINTCLOUDXYZ_IN_STRING_DATA_CONTAINS_DELIMS_POINTCLOUDXYZ_1)" GUI CHOICE POINTCLOUDXYZ_IN_STRING_DATA_CONTAINS_DELIMS_POINTCLOUDXYZ_1 yes%no String Data Contains Separators: DEFAULT_MACRO POINTCLOUDXYZ_IN_EXPOSE_ATTRS_GROUP_POINTCLOUDXYZ_1 POINTCLOUDXYZ_1_EXPOSE_ATTRS_GROUP "$(POINTCLOUDXYZ_IN_EXPOSE_ATTRS_GROUP_POINTCLOUDXYZ_1)" GUI OPTIONAL DISCLOSUREGROUP POINTCLOUDXYZ_IN_EXPOSE_ATTRS_GROUP_POINTCLOUDXYZ_1 POINTCLOUDXYZ_EXPOSE_FORMAT_ATTRS Schema Attributes DEFAULT_MACRO POINTCLOUDXYZ_IN_COLUMN_TO_PCCOMPONENT_HAS_TYPES_POINTCLOUDXYZ_1 yes POINTCLOUDXYZ_1_COLUMN_TO_PCCOMPONENT_HAS_TYPES "$(POINTCLOUDXYZ_IN_COLUMN_TO_PCCOMPONENT_HAS_TYPES_POINTCLOUDXYZ_1)" # =========================================================================== DEFAULT_MACRO POINTCLOUDXYZ_IN_NETWORK_AUTHENTICATION_POINTCLOUDXYZ_1 POINTCLOUDXYZ_1_NETWORK_AUTHENTICATION "$(POINTCLOUDXYZ_IN_NETWORK_AUTHENTICATION_POINTCLOUDXYZ_1)" GUI OPTIONAL AUTHENTICATOR POINTCLOUDXYZ_IN_NETWORK_AUTHENTICATION_POINTCLOUDXYZ_1 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication # =========================================================================== DEFAULT_MACRO POINTCLOUDXYZ_IN_ATTRIBUTE_READING_POINTCLOUDXYZ_1 ALL POINTCLOUDXYZ_1_ATTRIBUTE_READING "$(POINTCLOUDXYZ_IN_ATTRIBUTE_READING_POINTCLOUDXYZ_1)" GUI INTEGER SKIP_LINES_POINTCLOUDXYZ_1 Number of Lines to Skip: GUI INTEGER SKIP_FOOTER_POINTCLOUDXYZ_1 Number of Footer Lines to Skip: POINTCLOUDXYZ_1_DATASET "$(SourceDataset_POINTCLOUDXYZ_1)" #! END_SOURCE_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "TEXTLINE_1" #! END_WB_HEADER #! START_SOURCE_HEADER TEXTLINE TEXTLINE_1 # ===================================================================== # The following GUI line prompts for a file to be used as the source # TextLine 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_TEXTLINE_1 $(SourceDataset)} \ } ] #! END_WB_HEADER #! START_SOURCE_HEADER TEXTLINE TEXTLINE_1 DEFAULT_MACRO SourceDataset_TEXTLINE_1 $(SourceDataset_TEXTLINE) GUI MULTIFILE SourceDataset_TEXTLINE_1 Text/Compressed_Text_Files(*.txt;*.txt.gz)|*.txt;*.txt.gz|Text_Files(*.txt)|*.txt|Compressed_Text_Files(*.txt.gz)|*.txt.gz|All_files(*)|* Source Text File(s): DEFAULT_MACRO TEXTLINE_IN_READ_WHOLE_FILE_AT_ONCE_TEXTLINE_1 NO TEXTLINE_1_READ_WHOLE_FILE_AT_ONCE "$(TEXTLINE_IN_READ_WHOLE_FILE_AT_ONCE_TEXTLINE_1)" GUI ACTIVECHOICE TEXTLINE_IN_READ_WHOLE_FILE_AT_ONCE_TEXTLINE_1 YES,TEXTLINE_IN_READ_BOTTOM_UP,TEXTLINE_IN_SKIP_LINES,TEXTLINE_IN_SKIP_FOOTER%NO Read Whole File at Once: DEFAULT_MACRO TEXTLINE_IN_READ_BOTTOM_UP_TEXTLINE_1 No TEXTLINE_1_READ_BOTTOM_UP "$(TEXTLINE_IN_READ_BOTTOM_UP_TEXTLINE_1)" GUI CHOICE TEXTLINE_IN_READ_BOTTOM_UP_TEXTLINE_1 Yes%No Read Bottom Up: DEFAULT_MACRO TEXTLINE_IN_SKIP_LINES_TEXTLINE_1 0 TEXTLINE_1_SKIP_LINES "$(TEXTLINE_IN_SKIP_LINES_TEXTLINE_1)" GUI OPTIONAL INTEGER TEXTLINE_IN_SKIP_LINES_TEXTLINE_1 Number of Lines to Skip: DEFAULT_MACRO TEXTLINE_IN_SKIP_FOOTER_TEXTLINE_1 0 TEXTLINE_1_SKIP_FOOTER "$(TEXTLINE_IN_SKIP_FOOTER_TEXTLINE_1)" GUI OPTIONAL INTEGER TEXTLINE_IN_SKIP_FOOTER_TEXTLINE_1 Number of Footer Lines to Skip: # ===================================================================== # Allows to force the encoding of source text file DEFAULT_MACRO TEXTLINE_IN_ENCODING_TEXTLINE_1 TEXTLINE_1_ENCODING "$(TEXTLINE_IN_ENCODING_TEXTLINE_1)" GUI OPTIONAL STRING_OR_ENCODING TEXTLINE_IN_ENCODING_TEXTLINE_1 SYSTEM%* Character Encoding: # ===================================================================== # Allow dynamic exposing of FORMAT ATTRIBUTES on the schema DEFAULT_MACRO TEXTLINE_IN_EXPOSE_ATTRS_GROUP_TEXTLINE_1 TEXTLINE_1_EXPOSE_ATTRS_GROUP "$(TEXTLINE_IN_EXPOSE_ATTRS_GROUP_TEXTLINE_1)" GUI OPTIONAL DISCLOSUREGROUP TEXTLINE_IN_EXPOSE_ATTRS_GROUP_TEXTLINE_1 TEXTLINE_EXPOSE_FORMAT_ATTRS Schema Attributes # =========================================================================== DEFAULT_MACRO TEXTLINE_IN_NETWORK_AUTHENTICATION_TEXTLINE_1 TEXTLINE_1_NETWORK_AUTHENTICATION "$(TEXTLINE_IN_NETWORK_AUTHENTICATION_TEXTLINE_1)" GUI OPTIONAL AUTHENTICATOR TEXTLINE_IN_NETWORK_AUTHENTICATION_TEXTLINE_1 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication # =========================================================================== DEFAULT_MACRO TEXTLINE_IN_ATTRIBUTE_READING_TEXTLINE_1 ALL TEXTLINE_1_ATTRIBUTE_READING "$(TEXTLINE_IN_ATTRIBUTE_READING_TEXTLINE_1)" TEXTLINE_1_DATASET "$(SourceDataset_TEXTLINE_1)" #! END_SOURCE_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "LAS_1" #! END_WB_HEADER #! START_DEST_HEADER LAS LAS_1 # The following GUI lines prompt for a LAS file to be used as the # the destination of the data. # 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_LAS_1 $(DestDataset)} \ } ] #! END_WB_HEADER #! START_DEST_HEADER LAS LAS_1 DEFAULT_MACRO DestDataset_LAS_1 $(DestDataset_LAS) GUI DIRNAME DestDataset_LAS_1 Destination ASPRS LAS Folder: # ============================================================================ # Version DEFAULT_MACRO LAS_OUT_VERSION_LAS_1 1.2 LAS_1_VERSION "$(LAS_OUT_VERSION_LAS_1)" GUI LOOKUP_CHOICE LAS_OUT_VERSION_LAS_1 1.0,1.0%1.1,1.1%1.2,1.2%1.3,1.3%"\"1.4 (Legacy Compatible)\",1.4-legacy-compatible"%1.4,1.4 ASPRS LAS Version: # [PR#30472] Compression DEFAULT_MACRO LAS_OUT_COMPRESSION_LAS_1 None LAS_1_COMPRESSION "$(LAS_OUT_COMPRESSION_LAS_1)" GUI ACTIVECHOICE LAS_OUT_COMPRESSION_LAS_1 None,LAS_OUT_ZLAS_PARAMETERS%LAZ,LAS_OUT_ZLAS_PARAMETERS%zLAS Compression DEFAULT_MACRO LAS_OUT_FIXED_GROUP_LAS_1 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_FIXED_GROUP_LAS_1 FME_DISCLOSURE_CLOSED%FIXED_COMPONENTS Fixed Components # This is a placeholder parameter that will be replaced with a custom table in the controller DEFAULT_MACRO LAS_OUT_USER_GROUP_LAS_1 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_USER_GROUP_LAS_1 FME_DISCLOSURE_OPEN%USER_COMPONENTS Additional User Components DEFAULT_MACRO LAS_OUT_USER_COMPONENTS_LAS_1 LAS_1_USER_COMPONENTS "$(LAS_OUT_USER_COMPONENTS_LAS_1)" GUI OPTIONAL GUI_LINE_TABLE_ENCODED LAS_OUT_USER_COMPONENTS_LAS_1 NO_LABEL%ROW_DELIM:,%COL_DELIM:,%"User Components"%"STRING COMPONENTS" User Components # ============================================================================ # Opt in for destination dataset type vs format type validation DEFAULT_MACRO LAS_OUT_DESTINATION_DATASETTYPE_VALIDATION_LAS_1 Yes LAS_1_DESTINATION_DATASETTYPE_VALIDATION "$(LAS_OUT_DESTINATION_DATASETTYPE_VALIDATION_LAS_1)" DEFAULT_MACRO LAS_OUT_COORDINATE_SYSTEM_GRANULARITY_LAS_1 FEATURE LAS_1_COORDINATE_SYSTEM_GRANULARITY "$(LAS_OUT_COORDINATE_SYSTEM_GRANULARITY_LAS_1)" DEFAULT_MACRO LAS_OUT_ADVANCED_PARAMETERS_LAS_1 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_ADVANCED_PARAMETERS_LAS_1 LAS_DATASET_FILE%ZLAS_PARAMETERS Advanced DEFAULT_MACRO LAS_OUT_LAS_DATASET_FILE_LAS_1 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_LAS_DATASET_FILE_LAS_1 ARCGIS_LAS_DATASET%COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET LAS Dataset File # The following GUI line provides the ability to create an # Esri ArcGIS LAS Dataset encapsulating the LAS files produced # by this translation. The LAS Dataset can then be used to view # the output using Esri's tools. DEFAULT_MACRO LAS_OUT_ARCGIS_LAS_DATASET_LAS_1 LAS_1_ARCGIS_LAS_DATASET "$(LAS_OUT_ARCGIS_LAS_DATASET_LAS_1)" GUI OPTIONAL TEXT LAS_OUT_ARCGIS_LAS_DATASET_LAS_1 ArcGIS LAS Dataset (.lasd) Filename # The following GUI line determines whether statistics should # be calculated on the ArcGIS LAS Dataset. This keyword is # applicable when FME is creating an ArcGIS LAS Dataset. DEFAULT_MACRO LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_1 No LAS_1_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET "$(LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_1)" GUI CHOICE LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_1 Yes%No Compute Statistics on ArcGIS LAS Dataset DEFAULT_MACRO LAS_OUT_ZLAS_PARAMETERS_LAS_1 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_ZLAS_PARAMETERS_LAS_1 ZLAS_REARRANGE_POINTS%ZLAS_POINT_SPACING_SOURCE%ZLAS_POINT_SPACING_VALUE zLAS Parameters DEFAULT_MACRO LAS_OUT_ZLAS_REARRANGE_POINTS_LAS_1 las_1_zlas_rearrange_points“$(las_out_zlas_rearrange_points_las_1)”gui choice las_out_zlas_rearrange_points_las_1是%没有重新排列点zlas压缩default_macro las_out_zlas_point_spacing_source_las_1 LAS_1_ZLAS_POINT_SPACING_SOURCE “$(LAS_OUT_ZLAS_POINT_SPACING_SOURCE_LAS_1)” GUI LOOKUP_CHOICE LAS_OUT_ZLAS_POINT_SPACING_SOURCE_LAS_1 “\” 扫描点\ “扫描 ”%“ \ ”From头\“,标题 ”%“ \ ”指定值\“,指定” zLAS点间距源DEFAULT_MACRO LAS_OUT_ZLAS_POINT_SPACING_VALUE_LAS_1 LAS_1_ZLAS_POINT_SPACING_VALUE " $ (LAS_OUT_ZLAS_POINT_SPACING_VALUE_LAS_1) "GUI FLOAT LAS_OUT_ZLAS_POINT_SPACING_VALUE_LAS_1 zLAS点间距值LAS_1_DATASET "$(DestDataset_LAS_1)"#!END_DEST_HEADER # !Start_wb_header宏wb_keyword " las_2 " #!END_WB_HEADER # !START_DEST_HEADER LAS LAS_2 #以下GUI行提示一个LAS文件被用作#数据的目的地。#用户输入存储在宏中,然后使用宏定义要写入的数据集。#!END_DEST_HEADER # ! START_WB_HEADER DEFAULT_MACRO DestDataset INCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_LAS_2 $(DestDataset)} \ } ] #! END_WB_HEADER #! START_DEST_HEADER LAS LAS_2 DEFAULT_MACRO DestDataset_LAS_2 $(DestDataset_LAS_3) GUI DIRNAME DestDataset_LAS_2 Destination ASPRS LAS Folder: # ============================================================================ # Version DEFAULT_MACRO LAS_OUT_VERSION_LAS_2 1.2 LAS_2_VERSION "$(LAS_OUT_VERSION_LAS_2)" GUI LOOKUP_CHOICE LAS_OUT_VERSION_LAS_2 1.0,1.0%1.1,1.1%1.2,1.2%1.3,1.3%"\"1.4 (Legacy Compatible)\",1.4-legacy-compatible"%1.4,1.4 ASPRS LAS Version: # [PR#30472] Compression DEFAULT_MACRO LAS_OUT_COMPRESSION_LAS_2 None LAS_2_COMPRESSION "$(LAS_OUT_COMPRESSION_LAS_2)" GUI ACTIVECHOICE LAS_OUT_COMPRESSION_LAS_2 None,LAS_OUT_ZLAS_PARAMETERS%LAZ,LAS_OUT_ZLAS_PARAMETERS%zLAS Compression DEFAULT_MACRO LAS_OUT_FIXED_GROUP_LAS_2 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_FIXED_GROUP_LAS_2 FME_DISCLOSURE_CLOSED%FIXED_COMPONENTS Fixed Components # This is a placeholder parameter that will be replaced with a custom table in the controller DEFAULT_MACRO LAS_OUT_USER_GROUP_LAS_2 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_USER_GROUP_LAS_2 FME_DISCLOSURE_OPEN%USER_COMPONENTS Additional User Components DEFAULT_MACRO LAS_OUT_USER_COMPONENTS_LAS_2 LAS_2_USER_COMPONENTS "$(LAS_OUT_USER_COMPONENTS_LAS_2)" GUI OPTIONAL GUI_LINE_TABLE_ENCODED LAS_OUT_USER_COMPONENTS_LAS_2 NO_LABEL%ROW_DELIM:,%COL_DELIM:,%"User Components"%"STRING COMPONENTS" User Components # ============================================================================ # Opt in for destination dataset type vs format type validation DEFAULT_MACRO LAS_OUT_DESTINATION_DATASETTYPE_VALIDATION_LAS_2 Yes LAS_2_DESTINATION_DATASETTYPE_VALIDATION "$(LAS_OUT_DESTINATION_DATASETTYPE_VALIDATION_LAS_2)" DEFAULT_MACRO LAS_OUT_COORDINATE_SYSTEM_GRANULARITY_LAS_2 FEATURE LAS_2_COORDINATE_SYSTEM_GRANULARITY "$(LAS_OUT_COORDINATE_SYSTEM_GRANULARITY_LAS_2)" DEFAULT_MACRO LAS_OUT_ADVANCED_PARAMETERS_LAS_2 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_ADVANCED_PARAMETERS_LAS_2 LAS_DATASET_FILE%ZLAS_PARAMETERS Advanced DEFAULT_MACRO LAS_OUT_LAS_DATASET_FILE_LAS_2 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_LAS_DATASET_FILE_LAS_2 ARCGIS_LAS_DATASET%COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET LAS Dataset File # The following GUI line provides the ability to create an # Esri ArcGIS LAS Dataset encapsulating the LAS files produced # by this translation. The LAS Dataset can then be used to view # the output using Esri's tools. DEFAULT_MACRO LAS_OUT_ARCGIS_LAS_DATASET_LAS_2 LAS_2_ARCGIS_LAS_DATASET "$(LAS_OUT_ARCGIS_LAS_DATASET_LAS_2)" GUI OPTIONAL TEXT LAS_OUT_ARCGIS_LAS_DATASET_LAS_2 ArcGIS LAS Dataset (.lasd) Filename # The following GUI line determines whether statistics should # be calculated on the ArcGIS LAS Dataset. This keyword is # applicable when FME is creating an ArcGIS LAS Dataset. DEFAULT_MACRO LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_2 No LAS_2_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET "$(LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_2)" GUI CHOICE LAS_OUT_COMPUTE_STATISTICS_ON_ARCGIS_LAS_DATASET_LAS_2 Yes%No Compute Statistics on ArcGIS LAS Dataset DEFAULT_MACRO LAS_OUT_ZLAS_PARAMETERS_LAS_2 GUI OPTIONAL DISCLOSUREGROUP LAS_OUT_ZLAS_PARAMETERS_LAS_2 ZLAS_REARRANGE_POINTS%ZLAS_POINT_SPACING_SOURCE%ZLAS_POINT_SPACING_VALUE zLAS Parameters DEFAULT_MACRO LAS_OUT_ZLAS_REARRANGE_POINTS_LAS_2 LAS_2_ZLAS_REARRANGE_POINTS " $ (LAS_OUT_ZLAS_REARRANGE_POINTS_LAS_2) "GUI CHOICE las_out_zlas_rearrange e_points_las_2 Yes%No Rearrange Points for zLAS Compression DEFAULT_MACRO LAS_OUT_ZLAS_POINT_SPACING_SOURCE_LAS_2是%No Rearrange Points for zLAS Compression LAS_2_ZLAS_POINT_SPACING_SOURCE “$(LAS_OUT_ZLAS_POINT_SPACING_SOURCE_LAS_2)” GUI LOOKUP_CHOICE LAS_OUT_ZLAS_POINT_SPACING_SOURCE_LAS_2 “\” 扫描点\ “扫描 ”%“ \ ”From头\“,标题 ”%“ \ ”指定值\“,指定” zLAS点间距源DEFAULT_MACRO LAS_OUT_ZLAS_POINT_SPACING_VALUE_LAS_2 las_2_zlas_point_spacing_value“$(las_out_zlas_point_spacing_value_las_2)”gui float las_out_zlas_point_spacing_value_las_2 zlas point间距值las_2_dataset“$(destdataset_las_2)”#!END_DEST_HEADER # !start_wb_header#!END_WB_HEADER # !END_HEADER LOG_FILENAME “$(FME_MF_DIR)pointmatch2.log” LOG_APPEND NO LOG_MAX_FEATURES 200个LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE自动FME_GEOMETRY_HANDLING增强FME_STROKE_MAX_DEVIATION 0 MAPPING_FILE_ID pointmatch2 LOG_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_POINTCLOUDXYZ_1 POINTCLOUDXYZ_1 DEFAULT_MACRO DATASET_KEYWORD_TEXTLINE_1 TEXTLINE_1 DEFAULT_MACRO DATASET_KEYWORD_LAS_1 LAS_1 DEFAULT_MACRO DATASET_KEYWORD_LAS_2 LAS_2#-------------------------------------------------------------------------------------- pointcloudxyz_1_reader_meta_attributes fme_baseName fme_feature_type#-------------------------------------------------------------- TextLine_1_Reader_meta_Attributes fme_feature_type#------------------------------------------------------------------------------------- pointcloudxyz_1_coorder_system epsg:28992 multi_reader_continue_on_reader_failure no#---------------------------------------------------------------------宏Workspace_name pointmatch2宏FME_VIEWER_APP FMEDatainsPector#------------------------------------------------------------- POINTCLOUDXYZ_1_DEF POINLCLOUDXYZ#---------------------------------------------------------------------------------------- Factory_def * routingFactory factory_name“路由器和意外输入删除器”command_parm_evalization single_pare输入feature_type *路由pointcloudxyz pointcloudxyz_1 :: pointcloudxyz multi_reader_keyword,$(dataset_keyword_pointcloudxyz_1)到fme_generic :: pointcloudxyz alias_geometry路由TextLine TextLine_1 :: Text_linemulti_reader_keyword,$(dataset_keyword_textline_1)到fme_generic :: text_line alias_geometry merge_input是输出路由effermer_type * pointcloudxyz_1_merge_def pointcloudxyz_1 :: pointcloudxyz精确pointcloudxyz textline_1__merge_def textline_1 :: text_line精确的text_line# - - - - ------------------------------------------------------------------------------------ FACTORY_DEF * TeeFactory FACTORY_NAME "POINTCLOUDXYZ (POINTCLOUDXYZ_1) Splitter" INPUT FEATURE_TYPE POINTCLOUDXYZ OUTPUT FEATURE_TYPE POINTCLOUDXYZ_POINTCLOUDXYZ_1 # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "text_line (TEXTLINE_1) Splitter" INPUT FEATURE_TYPE text_line OUTPUT FEATURE_TYPE text_line_TEXTLINE_1 DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- Tcl2 set AttributeSplitter_1fba4145_963f_4058_99af_4716499e0d240_splitDelim [FME_DecodeText { }];如果{[正则表达式{^([1-9] [0-9] * S)+ $} [组AttributeSplitter_1fba4145_963f_4058_99af_4716499e0d240_splitDelim]]} {集AttributeSplitter_1fba4145_963f_4058_99af_4716499e0d240_splitWidths [分裂[regsub -all {S $} { } {}] s];proc attributes plitter_dosplit {} {global attributesplitter_1fba4145_963f_4058_99af_4716499e0d240_splitwths;设置源[fme_getattibute [fme_decodeText {text_line_data}]];设置attrnum 0;set listName [fme_decodeText {_list}];设置attrpos 0;set keepempyparts [string等于{no} {no}];foreach宽度[set attributes plitter_1fba4145_963f_4058_99af_4716499e0d240_splitwidths] {set nempos [expr $ attrpos + $ width - 1];设置位[字符串范围$源$ attrpos $ endpos];设置部分[字符串修剪$ bit]; if { $keepEmptyParts || $part != \"\" } { FME_SetAttribute "$listName{$attrNum}" $part; incr attrNum; }; incr attrPos $width; }; }; } else { proc AttributeSplitter_doSplit {} { global AttributeSplitter_1fba4145_963f_4058_99af_4716499e0d240_splitDelim; set delim [set AttributeSplitter_1fba4145_963f_4058_99af_4716499e0d240_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute [FME_DecodeText {text_line_data}]]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { lappend bits [string range $source $startIndex [expr $nextIndex-1]]; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; lappend bits [string range $source $startIndex end]; set listName [FME_DecodeText {_list}]; set attrNum 0; foreach bit $bits { set trimmedPart [string trim $bit]; if { $keepEmptyParts || $trimmedPart != \"\" } { FME_SetAttribute "$listName{$attrNum}" $trimmedPart; incr attrNum; }; } } } FACTORY_DEF * TeeFactory FACTORY_NAME AttributeSplitter INPUT FEATURE_TYPE text_line_TEXTLINE_1 OUTPUT FEATURE_TYPE AttributeSplitter_OUTPUT @Tcl2(AttributeSplitter_doSplit) # ------------------------------------------------------------------------- FACTORY_DEF {*} AttrSetFactory FACTORY_NAME AttributeCreator INPUT FEATURE_TYPE AttributeSplitter_OUTPUT MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION { "" "C1" "SET_TO" " 价值 _列表 0 “} attr_action {”“c2”“set_to”“ 价值 _列表 1 “} attr_action {”“”c3“”set_to“” 价值 _列表 2 ”}输出输出FEATURE_TYPE AttributeCreator_OUTPUT # ------------------------------------------------------------------------- 包括(如果{{属性}= ={属性}}{所说的“宏观FeatureMerger_REFERENCE_INFO属性”;} elsef {{attributes} == {geom_build} && { } == {polygons}} {puts“macro featuremerger_reference_info geom_build_polys”;} elsef {{attributes} == {geom_build} && { } {==骨料}} {看跌期权 “MACRO FeatureMerger_REFERENCE_INFO GEOM_BUILD_AGGREGATES”;} elsef {{attributes} == {geom_build} && { } == {lineSfromopointss}} {puts“macro featuremerger_reference_info geom_build_lines_from_points”;} elseif {{ATTRIBUTES} == {GEOM_AND_ATTRS} && { } == {polygon}} {puts "MACRO FeatureMerger_REFERENCE_INFO geom_and_attr_build_polyys ";} elseif {{ATTRIBUTES} == {GEOM_AND_ATTRS} && { } {==骨料}} {看跌期权 “MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES”;} elseif {{ATTRIBUTES} == {GEOM_AND_ATTRS} && { } == {lineSfromopoints}} {puts“宏efturemerger_reference_info geom_and_attr_build_lines_from_points”;} elsef {{attributes} == {geom_build}} {puts“macro featuremerger_reference_info geom_build_aggregates”;} elsef {{attributes} == {geom_and_attrs}} {puts“macro featuremerger_reference_info geom_and_attr_build_aggregates”;} 别的 {};] FACTORY_DEF {*} ReferenceFactory FACTORY_NAME FeatureMerger输入参考进行FEATURE_TYPE POINTCLOUDXYZ_POINTCLOUDXYZ_1 INPUT REFERENCEE FEATURE_TYPE AttributeCreator_OUTPUT REFERENCE_INFO $(FeatureMerger_REFERENCE_INFO)REFERENCE_TABLE 1 AUTO ATTR_ACCUM_MODE “HANDLE_CONFLICT” ATTR_CONFLICT_RES “REQUESTOR_IF_CONFLICT” IGNORE_NULLS “否” HANDLE_NULL_MISSING_KEYS_LIKE_FME2013没有LIST_ATTRS_TO_INCLUDE { list_attrs_to_include_mode. merge_attributes是manage_fme_type yes模式完成process_duplicate_reference否参考_first no reseft_invalid_geom是输出完成feature_type featuremerger_merged输出不完整的feature_type featuremerger_unmerged_requestor输出被拒绝的feature_type featuremerger_ DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * tefactory FACTORY_NAME FeatureMerger_ . DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * tefactory FACTORY_NAME FeatureMerger_ . DEFAULT_MACRO _WB_BYPASS_TERMINATION 输入feature_type featuremerger_ FEATURE_TYPE * @Abort(ENCODED, FeatureMerger . 输出 一种 拒绝了 特征。 继续 翻译 什么时候 特征 拒绝了 改变 工作空间 参数 翻译 拒绝了 特征 处理 继续 翻译 )#------------------------------------------------------------------------- FACTORY_DEF * PointCloudEvaluationFactory FACTORY_NAME PointCloudFilter INPUT FEATURE_TYPE FeatureMerger_MERGED输入FEATURE_TYPE FeatureMerger_UNMERGED_REQUESTOR模滤波器FORCE_FLOAT_DIVISION是EXPRESSION_LIST 成分 point_source_id ==. 价值 C1. FILTER_ATTRIBUTE __pc_internal_filter_attribute__ FILTER_ATTRIBUTE_VALUES_LIST pole1 OUTPUT_UNFILTERED_POINTS “是” 的输出结果FEATURE_TYPE PointCloudFilter_POINTCLOUDFILTERINPUTLINE_0 FACTORY_DEF * TestFactory中FACTORY_NAME PointCloudFilter_TestFactory_0 INPUT FEATURE_TYPE PointCloudFilter_POINTCLOUDFILTERINPUTLINE_0 STRING_TEST @Value(__ pc_internal_filter_attribute__)= pole1 OUTPUT PASSED FEATURE_TYPE PointCloudFilter_pole1 @RemoveAttributes(__ pc_internal_filter_attribute__)OUTPUT FAILED FEATURE_TYPE PointCloudFilter_POINTCLOUDFILTERINPUTLINE_1 FACTORY_DEF * TeeFactory FACTORY_NAME PointCloudFilter_UNFILTERED INPUT FEATURE_TYPE PointCloudFilter_POINTCLOUDFILTERINPUTLINE_1 OUTPUTfeature_type pointcloudfilter_ @removeattributes(__ pc_internal_filter_attribute__)#----------------------------------------------------------------------------------------------------------macro pointcloudexpressionevaluator_2_component_list default_macro pointcloudexcressevaluator_2_component_type_list default_macro pointcloudexcressionevaluator_2_expression_list包括[foreach {component typertype表达式} [split {classification auto 2}] {lappend列表(组件)$组件;lappend列表(component_type)$ componenttype;如果[regexp {@evaluateExpression \(string_encoded,(。*),。+ \)} $表达式 - >未包装] {lappend列表(表达式)$ unprapped;} elsef [regexp {@evaluateExpression \(fdiv,string_encoded,(。*),。+ \)} $表达式 - >未包装] {lappend列表(表达式)$ unprapped;} else {lappend列表(表达式)$表达式;};};foreach {listname} [数组名称列表] {puts“宏pointcloudexpressevaluator_2 _ $ {listname} _list \”[加入$ lists($ listname){;}] \“”;}; ] FACTORY_DEF * PointCloudEvaluationFactory FACTORY_NAME PointCloudExpressionEvaluator_2 INPUT FEATURE_TYPE PointCloudFilter_ MODE SET_COMPONENT_VALUES COMPONENT_LIST $(PointCloudExpressionEvaluator_2_COMPONENT_LIST)COMPONENT_TYPE_LIST $(PointCloudExpressionEvaluator_2_COMPONENT_TYPE_LIST)EXPRESSION_LIST $(PointCloudExpressionEvaluator_2_EXPRESSION_LIST)FORCE_FLOAT_DIVISION是输出结果FEATURE_TYPE PointCloudExpressionEvaluator_2_RESULT#------------------------------------------------------------------------- DEFAULT_MACRO PointCloudExpressionEvaluator_COMPONENT_LIST DEFAULT_MACROPointCloudExpressionEvaluator_COMPONENT_TYPE_LIST DEFAULT_MACRO PointCloudExpressionEvaluator_EXPRESSION_LIST INCLUDE [{的foreach部件组件类型表达} [{分裂分类自动6}] {lappend列表(COMPONENT)$组分;lappend列表(component_type)$ componenttype;如果[regexp {@evaluateExpression \(string_encoded,(。*),。+ \)} $表达式 - >未包装] {lappend列表(表达式)$ unprapped;} elsef [regexp {@evaluateExpression \(fdiv,string_encoded,(。*),。+ \)} $表达式 - >未包装] {lappend列表(表达式)$ unprapped;} else {lappend列表(表达式)$表达式;};};的foreach {LISTNAME} [数组名称列表] {看跌期权 “MACRO PointCloudExpressionEvaluator _ $ {LISTNAME} _List \”[加入$列表($ LISTNAME){;}] \ “”;}; ] FACTORY_DEF * PointCloudEvaluationFactory FACTORY_NAME PointCloudExpressionEvaluator INPUT FEATURE_TYPE PointCloudFilter_pole1 MODE SET_COMPONENT_VALUES COMPONENT_LIST $(PointCloudExpressionEvaluator_COMPONENT_LIST) COMPONENT_TYPE_LIST $(PointCloudExpressionEvaluator_COMPONENT_TYPE_LIST) EXPRESSION_LIST $(PointCloudExpressionEvaluator_EXPRESSION_LIST) FORCE_FLOAT_DIVISION yes OUTPUT RESULT FEATURE_TYPE PointCloudExpressionEvaluator_RESULT # ------------------------------------------------------------------------- FACTORY_DEF * VectorToPointCloudFactory FACTORY_NAME PointCloudCombiner___VectorMerger INPUT FEATURE_TYPE PointCloudExpressionEvaluator_RESULT INPUT FEATURE_TYPE PointCloudExpressionEvaluator_2_RESULT ACCUMULATE_ATTRIBUTES yes EXTRACT_RASTER_NODATA no SPACING "1.0" MEASURES_TO_PRESERVE ATTRIBUTES_TO_PRESERVE OUTPUT COERCED FEATURE_TYPE PointCloudCombiner___MergedVectorFeatures__ @SupplyAttributes(?,fme_basename,PointCloudCombiner) FACTORY_DEF * PointCloudCombinerFactory FACTORY_NAME PointCloudCombiner___Combiner INPUT FEATURE_TYPE PointCloudCombiner___MergedVectorFeatures__ ACCUMULATE_ATTRIBUTES yes OUTPUT MERGED FEATURE_TYPE PointCloudCombiner_OUTPUT # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE FME_GENERIC PointCloudCombiner_OUTPUT TO LAS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,1, SupplyAttributes 编码 __wb_out_feat_type__ Pole1 GEOMETRY FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__输出连FEATURE_TYPE * OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @ TCL2( “FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn”)#---------------------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME “最终输出Nuker” INPUT FEATURE_TYPE __nuke_me__#------------------------------------------------------------------------- LAS_2_DEF Pole1