#! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #!GUI IGNORE DestDataset_SHAPE_1,_MEASURES_AS_Z_SHAPE_1,SHAPE_OUT_ENCODING_SHAPE_1,DestDataset_SHAPE_2,_MEASURES_AS_Z_SHAPE_2,SHAPE_OUT_ENCODING_SHAPE_2 DEFAULT_MACRO DestDataset_SHAPE形状GUI DIRNAME DestDataset_SHAPE目的地式样文件目录:INCLUDE [组encodedVal [FME_EncodeText {$(DestDataset_SHAPE)}];看跌期权 “MACRO DestDataset_SHAPE__FMEENCODED__ $ encodedVal”;] DEFAULT_MACRO DestDataset_SHAPE_3 shape2 GUI DIRNAME DestDataset_SHAPE_3目的地式样文件目录:INCLUDE [组encodedVal [FME_EncodeText {$(DestDataset_SHAPE_3)}];看跌期权 “MACRO DestDataset_SHAPE_3__FMEENCODED__ $ encodedVal”;] INCLUDE [如果{{$(DestDataset_SHAPE)} {==}} {puts_real {参数 'DestDataset_SHAPE' 必须被给出的值}。出口1;};] INCLUDE [如果{{$(DestDataset_SHAPE_3)} {==}} {puts_real {参数 'DestDataset_SHAPE_3' 必须被给出的值}。出口1;};]#!START_HEADER#!START_WB_HEADER READER_TYPE NULL READER_KEYWORD NULL_SOURCE NULL_SOURCE_DATASET空WRITER_TYPE MULTI_WRITER MULTI_WRITER_DATASET_ORDER BY_ID MULTI_WRITER_FIRST_WRITER_ID 0 MULTI_WRITER_TYPE {0} SHAPE MULTI_WRITER_KEYWORD {0} SHAPE_1 MULTI_WRITER_TYPE {1} SHAPE MULTI_WRITER_KEYWORD {1} SHAPE_2#!END_WB_HEADER#!START_WB_HEADER MACRO WB_KEYWORD “SHAPE_1” #!END_WB_HEADER#!START_DEST_HEADER SHAPE SHAPE_1#=============================================== ============================= # The following GUI line prompts for a directory to be used as the # the destination for the ESRI SHAPE files.#用户输入被存储在宏,然后将其用于定义#要写入的数据集。#!END_DEST_HEADER#!START_WB_HEADER DEFAULT_MACRO DestDataset有[{IF “$(DestDataset)”!= “”} {\ {放DEFAULT_MACRO DestDataset_SHAPE_1 $(DestDataset)} \}]#!END_WB_HEADER#!START_DEST_HEADER SHAPE SHAPE_1 DEFAULT_MACRO DestDataset_SHAPE_1 $(DestDataset_SHAPE)GUI DIRNAME DestDataset_SHAPE_1目标形状文件目录:#============================================================================#请注意,这个映射文件 has been generated to output 2d shape files.#为了与旧FMEs向后兼容性,关键字“shape_arc”已被#用于指定折线的文件 - 你可以取代“shape_arc”的所有出现#与“shape_polyline”如果你想。#如果你想与措施输出2D文件,则只需添加一个“M”到#几何关键字(即如果您想更换“shape_polygon”与“shape_polygonm”)#输出3D文件与措施,则只需添加一个“Z”到#几何关键字(即“shape_polygon”替换为“shape_polygonz”) # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #决定属性名称应该大写,或者他们是否#应该保持形状文件中指定。默认将是为#向后兼容性。一旦映射文件/工作区已经生成,#这个关键字的值不应该被改变。DEFAULT_MACRO UPPER_CASE_ATTR_NAMES_SHAPE_1 YES SHAPE_1_UPPER_CASE_ATTR_NAMES $(UPPER_CASE_ATTR_NAMES_SHAPE_1)#============================================================================#下面GUI线套是否在形状文件测量值应# be treated as elevations.DEFAULT_MACRO _MEASURES_AS_Z_SHAPE_1没有GUI CHOICE _MEASURES_AS_Z_SHAPE_1是%不款待措施为海拔:SHAPE_1_MEASURES_AS_Z $(_ MEASURES_AS_Z_SHAPE_1)#============================================================================#以下关键字 allows the user to choose what encoding to # use for outputting the shape file DEFAULT_MACRO SHAPE_OUT_ENCODING_SHAPE_1 GUI OPTIONAL CHOICE SHAPE_OUT_ENCODING_SHAPE_1 ANSI%BIG5%EUC%ISO%OEM%SJIS%UTF-8%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO8859-13%ISO8859-15 Character Encoding: SHAPE_1_ENCODING $(SHAPE_OUT_ENCODING_SHAPE_1) SHAPE_1_DATASET "$(DestDataset_SHAPE_1)" #!END_DEST_HEADER#!START_WB_HEADER MACRO WB_KEYWORD “SHAPE_2” #!END_WB_HEADER#!START_DEST_HEADER SHAPE SHAPE_2#=============================================== ============================= # The following GUI line prompts for a directory to be used as the # the destination for the ESRI SHAPE files.#用户输入被存储在宏,然后将其用于定义#要写入的数据集。#!END_DEST_HEADER#!START_WB_HEADER DEFAULT_MACRO DestDataset有[{IF “$(DestDataset)”!= “”} {\ {放DEFAULT_MACRO DestDataset_SHAPE_2 $(DestDataset)} \}]#!END_WB_HEADER#!START_DEST_HEADER形状SHAPE_2 DEFAULT_MACRO DestDataset_SHAPE_2 $ (DestDataset_SHAPE_3) GUI目录名DestDataset_SHAPE_2目的地形状文件目录:# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #注意,这个映射文件已经生成的输出二维形状文件。#为了与旧FMEs向后兼容性,关键字“shape_arc”已被#用于指定折线的文件 - 你可以取代“shape_arc”的所有出现#与“shape_polyline”如果你想。#如果你想与措施输出2D文件,则只需添加一个“M”到#几何关键字(即如果您想更换“shape_polygon”与“shape_polygonm”)#输出3D文件与措施,则只需添加一个“Z”到#几何关键字(即“shape_polygon”替换为“shape_polygonz”) # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #决定属性名称应该大写,或者他们是否#应该保持形状文件中指定。默认将是为#向后兼容性。一旦映射文件/工作区已经生成,#这个关键字的值不应该被改变。DEFAULT_MACRO UPPER_CASE_ATTR_NAMES_SHAPE_2是的SHAPE_2_UPPER_CASE_ATTR_NAMES $ (UPPER_CASE_ATTR_NAMES_SHAPE_2) # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #下面的GUI行集测量形状文件中的值是否应该#被视为高度。DEFAULT_MACRO _MEASURES_AS_Z_SHAPE_2 no GUI选项_MEASURES_AS_Z_SHAPE_2 yes%no将度量视为海拔:SHAPE_2_MEASURES_AS_Z $(_MEASURES_AS_Z_SHAPE_2) # ============================================================================ # The following keyword allows the user to choose what encoding to # use for outputting the shape file DEFAULT_MACRO SHAPE_OUT_ENCODING_SHAPE_2 GUI OPTIONAL CHOICE SHAPE_OUT_ENCODING_SHAPE_2 ANSI%BIG5%EUC%ISO%OEM%SJIS%UTF-8%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO8859-13%ISO8859-15 Character Encoding: SHAPE_2_ENCODING $(SHAPE_OUT_ENCODING_SHAPE_2) SHAPE_2_DATASET "$(DestDataset_SHAPE_2)" #!END_DEST_HEADER#!END_HEADER LOG_FILENAME”(FME_MF_DIR) Python_Shutdown_Script美元。log" LOG_APPEND NO LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE Datum FME_GEOMETRY_HANDLING Classic FME_STROKE_MAX_DEVIATION 0 LOG_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_SHAPE_1 SHAPE_1 DEFAULT_MACRO DATASET_KEYWORD_SHAPE_2 SHAPE_2 # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No FME_BEGIN_PYTHON_ENC # 需要 在这里 初始化 FME_MacroValues - 固定的。FME_END_PYTHON_ENC # 脚本 创建 空间 索引 所有 shapefile 工作空间 # 亚搏在线 软件 戴夫 C。 评论 - 2009-08-06 # 编辑 代码 收集 形状 文件 的名字 # 处理 递归 子目录 情况下 数据集 扇出 # 使用 # 进口 系统 模块 进口 操作系统 arcpy __main__ # 删除 重复的 enteries 一个 列表。 def filterList 列表 : dict = 地图 dict.__setitem__ 列表 返回 dict.keys # 找到 所有 形状 作家 确定 在哪里 他们 # 所以 我们 可以 通过 位置 .shp 文件 ArcGIS 指数 他们 def spatialIndex : shapewriter = ShapeFileNames = __main__.FME_MacroValues: 如果 macro.startswith DestDataset_SHAPE : ShapeWriters.append 作家 shapewriter: ShapeDataset = __main__.FME_MacroValues % s %的作家 # 扫描 目录 文件 结束 .shp 填充 列表 dirs 文件 os.walk ShapeDataset : 的名字 文件: 文件 = os.path.join 的名字 如果 文件 4: = = .shp : ShapeFileNames.append 文件 NumberOfFiles = 0 # 过滤器 重复。 需要 作为 在那里 2 每一个 作家 filteredList = filterList ShapeFileNames 形状 filteredList: # 过程: 添加 空间 索引…… 打印 添加 空间 指数 % s… %的形状 arcpy.AddSpatialIndex_management 形状 0 0 0 # 创建 索引 字段 arcpy.AddIndex_management 形状 第一个 firstIndex NON_UNIQUE NON_ASCENDING NumberOfFiles + = 1 打印 空间 索引 添加 %我 文件。 % NumberOfFiles # 创建 一个 函数 创建 空间 指数 使 非常 容易 # 评论 如果 只有 属性 inxeding 需要的。 spatialIndex # 取消注释 硬编码 一个 shapefile 添加 一个 空间 指数 : # arcpy.AddSpatialIndex_management path_to_shape.shp 0 0 0 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -宏WORKSPACE_NAME Python_Shutdown_Script宏观FME_VIEWER_APP fmedatainspector # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -包括(如果{[信息存在env (FME_TEMP) & &(文件isdirectory env (FME_TEMP)美元)& &(文件isdirectory $ env(临时)]}{设置gVisualizerTemp $ env (FME_TEMP)} elseif{[信息存在env(临时)]}{设置gVisualizerTemp $ env(临时)}elseif {$ tcl_platform(平台)= =“unix”}{集{set gVisualizerTemp c:};regsub - {[,]} {$ (WORKSPACE_NAME)} {_} wsname;设置gVisualizerTemp $gVisualizerTemp/${wsname}_[时钟格式[时钟秒]-格式%H%M%S];设置“宏WORKSPACE_TEMP_DIR $gVisualizerTemp”;宏VISUALIZER_FEATURE_FILE $ (WORKSPACE_TEMP_DIR) /检查员。ffs MACRO VISUALIZER_CREATE_SPATIAL_INDEX YES DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- Tcl2 proc Creator_CoordSysRemover {} { global FME_CoordSys;设置FME_CoordSys {};宏创建器_classic NOT_ACTIVATED宏创建器_2d3d 2D_GEOMETRY宏创建器_coords {{XML几何}== {XML几何}}{放置{宏Creator_XML *}}}{宏Creator_CLASSIC *}}包括[if {{XML Geometry} == {3D坐标列表}}{宏Creator_2D3D 3D_GEOMETRY};如果{{XML几何}== {2D Min/Max Box}} {set comment {We need to turn the COORDS which are minX minY maxX maxY into a full polygon list of coordinates};设置splitcods [split]字符串修剪{ }]];如果{[llength $splitCoords] != 4} {error {Creator: Coordinate List必须有四个数字- ' 的是无效的};};设置minX [lindex $splitCoords 0];set minY [lindex $splitCoords 1];设置maxX [lindex $splitCoords 2];设置maxY [lindex $splitCoords 3];放“宏创建器_coords $minX $minY $minX $maxY $maxX $maxY $maxX $minY $minX $minY”;放置{宏Creator_2D3D 2D_GEOMETRY};Creator_XML_Creator CREATE_AT_END无输出 xml ? version = 1.0 编码= US_ASCII 独立的= 没有 吗? 几何 多边形 coord x = 0 y = 0 coord x = 1 y = 0 coord x = 1 y = 1 coord x = 0 y = 1 coord x = 0 y = 0 多边形 几何 )FACTORY_DEF $ (Creator_CLASSIC) CreationFactory FACTORY_NAME Creator_CLASSIC_Creator (Creator_2D3D) (Creator_COORDS) CREATE_AT_END没有美元输出FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner输入FEATURE_TYPE _____CREATED______ NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE _creation_instance输出FEATURE_TYPE Creator_CREATED @Tcl2 (Creator_CoordSysRemover) @CoordSys () # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 procAttributeCreator_a775c010_d5f4_48d1_a5e3_b862b08bce1620_attrSetter {attrList} [string trim $attrList {()}];set attrs [split $attrList {,}];如果{[字符串匹配{*],则foreach {attrName attrVal} $attrs { *} $attrName] == 1} {set attrName [FME_Execute EvaluateExpression {STRING} $attrName {AttributeCreator}];{set attrName [FME_DecodeText $attrName];};如果{[字符串匹配{* *} $attrVal] == 1} {set attrVal [FME_Execute EvaluateExpression {STRING_ENCODED} $attrVal {AttributeCreator}];};FME_SetAttribute $attrName [FME_DecodeText $attrVal];};};FACTORY_DEF * TeeFactory FACTORY_NAME AttributeCreator INPUT FEATURE_TYPE Creator_CREATED OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT “@ TCL2(AttributeCreator_a775c010_d5f4_48d1_a5e3_b862b08bce1620_attrSetter {(第一,一,第二两个)})” FACTORY_DEF * TeeFactory FACTORY_NAME “AttributeCreator输出分配器” INPUT FEATURE_TYPE AttributeCreator_OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT_0 OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT_1# ------------------------------------------------------------------------ FACTORY_DEF * TeeFactory FACTORY_NAME "AttributeCreator_OUTPUT_0 -> dataset0 Correlator" INPUT FEATURE_TYPE AttributeCreator_OUTPUT_0 OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id 0 @Transform(FME_GENERIC,SHAPE) @CopyAttributes(FIRST,first,SECOND,second) @SupplyAttributes(__wb_out_feat_type__,dataset0) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "AttributeCreator_OUTPUT_1 -> dataset1 Correlator" INPUT FEATURE_TYPE AttributeCreator_OUTPUT_1 OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id 1 @Transform(FME_GENERIC,SHAPE) @CopyAttributes(FIRST,first,SECOND,second) @SupplyAttributes(__wb_out_feat_type__,dataset1) # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME "Final Output Feature Type Router" INPUT FEATURE_TYPE * TEST @Value(__wb_out_feat_type__) != "" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value(__wb_out_feat_type__)) OUTPUT FAILED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 {@Value(fme_template_feature_type)} 818060 818061 fme_warn") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__ # ------------------------------------------------------------------------- SHAPE_1_DEF dataset0 SHAPE_GEOMETRY shape_polygon FIRST char(30) SECOND char(30) # ------------------------------------------------------------------------- SHAPE_2_DEF dataset1 SHAPE_GEOMETRY shape_polygon FIRST char(30) SECOND char(30)