#! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! GUI IGNORE SourceDataset_MIF_1,MIF_IN_ENCODING_MIF_1,MIF_IN_SEARCH_ENVELOPE_MINX_MIF_1,MIF_IN_SEARCH_ENVELOPE_MINY_MIF_1,MIF_IN_SEARCH_ENVELOPE_MAXX_MIF_1,MIF_IN_SEARCH_ENVELOPE_MAXY_MIF_1,MIF_IN_CLIP_TO_ENVELOPE_MIF_1,SEARCH_ENVELOPE_COORDINATE_SYSTEM_MIF_1,DestDataset_GEODATABASE_FILE_1,GEODATABASE_FILE_OUT_OVERWRITE_GEODB_GEODATABASE_FILE_1,GEODATABASE_FILE_OUT_TRANSACTION_TYPE_GEODATABASE_FILE_1,GEODATABASE_FILE_OUT_TEMPLATEFILE_GEODATABASE_FILE_1,GEODATABASE_FILE_OUT_SIMPLIFY_GEOM_GEODATABASE_FILE_1,GEODATABASE_FILE_OUT_HAS_Z_VALUES_GEODATABASE_FILE_1,_GEODBOutDefaultZValue_GEODATABASE_FILE_1,_GEODBOutWriterMode_GEODATABASE_FILE_1,_GEODBOutTransaction_GEODATABASE_FILE_1,_GEODBOutTransactionInterval_GEODATABASE_FILE_1,_GEODBOutIgnoreFailedFeatureEntry_GEODATABASE_FILE_1,_GEODBOutMaxNumberFailedFeatures_GEODATABASE_FILE_1,_GEODBOutDumpFailedFeatures_GEODATABASE_FILE_1,_GEODBOutFFSDumpFile_GEODATABASE_FILE_1,_GEODBOutAnnotationUnits_GEODATABASE_FILE_1,_GEODBOutMeasures_GEODATABASE_FILE_1,_GEODBOutCompressAtEnd_GEODATABASE_FILE_1,_GEODBOutValidateFeatures_GEODATABASE_FILE_1,_GEODBOutSimplifyNetworkFeatures_GEODATABASE_FILE_1,_GEODBOutBeginSql_GEODATABASE_FILE_1,_GEODBOutEndSql_GEODATABASE_FILE_1 DEFAULT_MACRO SourceDataset_MIF C:\FMEData\Data\Properties\parcel_N26.mif GUI MULTIFILE SourceDataset_MIF MIF_Files(*.mif)|*.mif|All_Files(*.*)|*.* Source MapInfo MIF/MID File(s): INCLUDE [ set encodedVal [FME_EncodeText {$(SourceDataset_MIF)}]; puts "MACRO SourceDataset_MIF__FMEENCODED__ $encodedVal" ; ] DEFAULT_MACRO DestDataset_GEODATABASE_FILE C:\FMEData\Resources\Esri\CityData.gdb GUI DEST_GEODATABASE DestDataset_GEODATABASE_FILE Destination ESRI Geodatabase (File-based) File: INCLUDE [ set encodedVal [FME_EncodeText {$(DestDataset_GEODATABASE_FILE)}]; puts "MACRO DestDataset_GEODATABASE_FILE__FMEENCODED__ $encodedVal" ; ] INCLUDE [ if {{$(SourceDataset_MIF)} == {}} { puts_real {Parameter 'SourceDataset_MIF' must be given a value.}; exit 1; }; ] INCLUDE [ if {{$(DestDataset_GEODATABASE_FILE)} == {}} { puts_real {Parameter 'DestDataset_GEODATABASE_FILE' must be given a value.}; exit 1; }; ] #! START_HEADER #! START_WB_HEADER READER_TYPE MIF READER_KEYWORD MIF_1 READER_GEN_DIRECTIVES MIF_EXPOSE_FORMAT_ATTRS,,SEARCH_ENVELOPE_MAXX,0,CLIP_TO_ENVELOPE,NO,USE_SEARCH_ENVELOPE,NO,SEARCH_ENVELOPE_MINX,0,SEARCH_ENVELOPE_MINY,0,_MERGE_SCHEMAS,YES,ENCODING,,SEARCH_ENVELOPE_MAXY,0 WRITER_TYPE MULTI_WRITER MULTI_WRITER_DATASET_ORDER BY_ID MULTI_WRITER_FIRST_WRITER_ID 0 MULTI_WRITER_TYPE{0} GEODATABASE_FILE MULTI_WRITER_KEYWORD{0} GEODATABASE_FILE_1 #! END_WB_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "MIF_1" #! END_WB_HEADER #! START_SOURCE_HEADER MIF MIF_1 # ============================================================================ # The following GUI line prompts for a directory to be used as the # source of the MIF/MID files. # 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_MIF_1 $(SourceDataset)} \ } ] #! END_WB_HEADER #! START_SOURCE_HEADER MIF MIF_1 DEFAULT_MACRO SourceDataset_MIF_1 $(SourceDataset_MIF) GUI MULTIFILE SourceDataset_MIF_1 MIF_Files(*.mif)|*.mif|All_Files(*.*)|*.* Source MapInfo MIF/MID File(s): # ============================================================================ # [REG 20070109] We want to allow the user to choose heterogeneous collections # by choosing not to break collections in workbench or other applications. # However, we don't want to create classic geometry heterogenous collections, # so the best way to set that they want heterogenous collections is to specify # that they want to FME_USE_RICH_GEOMETRY. # The following asks whether MIF/Mapinfo collections should be broken down into # their component parts when reading. By default we break down collections, but # if you are writing to the same format, you may want to preserve collections. #__ #DEFAULT_MACRO _BREAK_COLLECTION yes #__ #GUI CHOICE _BREAK_COLLECTION yes%no Break Collections: #__ #MIF_BREAK_COLLECTION "$(_BREAK_COLLECTION_MIF_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 _, except # for _text_string, which always needs the encoding. MIF_1_ENCODED_ATTRS mif_text_string MIF_1_UNENCODED_ATTR_PREFIX fme_ mif_ DEFAULT_MACRO MIF_IN_ENCODING_MIF_1 MIF_1_ENCODING "$(MIF_IN_ENCODING_MIF_1)" GUI OPTIONAL STRING_OR_ENCODING MIF_IN_ENCODING_MIF_1 SJIS%CP437%CP850%CP852%CP855%CP857%CP860%CP861%CP863%CP864%CP865%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1253%CP1254%CP1255%CP1256%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9 Character Encoding (optional): # Include this file in source setting section to add external search envelope processing # Zero as a default means we don't do any search -- this makes workbench happier # =========================================================================== DEFAULT_MACRO MIF_IN_SEARCH_ENVELOPE_MINX_MIF_1 0 MIF_1_SEARCH_ENVELOPE "$(MIF_IN_SEARCH_ENVELOPE_MINX_MIF_1)" GUI OPTIONAL FLOAT MIF_IN_SEARCH_ENVELOPE_MINX_MIF_1 Minimum X: # =========================================================================== DEFAULT_MACRO MIF_IN_SEARCH_ENVELOPE_MINY_MIF_1 0 MIF_1_SEARCH_ENVELOPE "$(MIF_IN_SEARCH_ENVELOPE_MINY_MIF_1)" GUI OPTIONAL FLOAT MIF_IN_SEARCH_ENVELOPE_MINY_MIF_1 Minimum Y: # =========================================================================== DEFAULT_MACRO MIF_IN_SEARCH_ENVELOPE_MAXX_MIF_1 0 MIF_1_SEARCH_ENVELOPE "$(MIF_IN_SEARCH_ENVELOPE_MAXX_MIF_1)" GUI OPTIONAL FLOAT MIF_IN_SEARCH_ENVELOPE_MAXX_MIF_1 Maximum X: # =========================================================================== DEFAULT_MACRO MIF_IN_SEARCH_ENVELOPE_MAXY_MIF_1 0 MIF_1_SEARCH_ENVELOPE "$(MIF_IN_SEARCH_ENVELOPE_MAXY_MIF_1)" GUI OPTIONAL FLOAT MIF_IN_SEARCH_ENVELOPE_MAXY_MIF_1 Maximum Y: # =========================================================================== # 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 MIF_IN_CLIP_TO_ENVELOPE_MIF_1 NO MIF_1_CLIP_TO_ENVELOPE "$(MIF_IN_CLIP_TO_ENVELOPE_MIF_1)" GUI OPTIONAL CHECKBOX MIF_IN_CLIP_TO_ENVELOPE_MIF_1 YES%NO Clip to Search Envelope # PR:31021 # Include this file in workbench source preamble section to enable the ability # to specify a coordinate system for search envelope processing # =========================================================================== DEFAULT_MACRO SEARCH_ENVELOPE_COORDINATE_SYSTEM_MIF_1 GUI OPTIONAL COORDSYS SEARCH_ENVELOPE_COORDINATE_SYSTEM_MIF_1 Search Envelope Coordinate System: MIF_1_SEARCH_ENVELOPE_COORDINATE_SYSTEM "$(SEARCH_ENVELOPE_COORDINATE_SYSTEM_MIF_1)" # =========================================================================== MIF_1_DATASET "$(SourceDataset_MIF_1)" #! END_SOURCE_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "GEODATABASE_FILE_1" #! END_WB_HEADER #! START_DEST_HEADER GEODATABASE_FILE GEODATABASE_FILE_1 GEODATABASE_FILE_1_COORDINATE_SYSTEM_GRANULARITY FEATURE_TYPE # ============================================================================ # The following GUI line prompts for a directory to be used as the # the destination for the GEODB files. # The user input is stored in a macro, which is then used to define # the dataset to be written. #! END_DEST_HEADER #! START_WB_HEADER DEFAULT_MACRO DestDataset INCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_GEODATABASE_FILE_1 $(DestDataset)} \ } ] #! END_WB_HEADER #! START_DEST_HEADER GEODATABASE_FILE GEODATABASE_FILE_1 DEFAULT_MACRO DestDataset_GEODATABASE_FILE_1 $(DestDataset_GEODATABASE_FILE) GUI DEST_GEODATABASE DestDataset_GEODATABASE_FILE_1 Destination ESRI Geodatabase (File-based) File: # ============================================================================ # Determines if dataset has to be overwritten DEFAULT_MACRO GEODATABASE_FILE_OUT_OVERWRITE_GEODB_GEODATABASE_FILE_1 No GEODATABASE_FILE_1_OVERWRITE_GEODB "$(GEODATABASE_FILE_OUT_OVERWRITE_GEODB_GEODATABASE_FILE_1)" GUI LOOKUP_CHOICE GEODATABASE_FILE_OUT_OVERWRITE_GEODB_GEODATABASE_FILE_1 Yes%No Overwrite Existing Geodatabase: # ============================================================================ # This option specifies the transaction type. This should be set to EDIT_SESSION # when edits are made to tables/feature classes that have custom behaviour # associated with them - i.e. when writing to feature classes that are involved # in relationships. Both TRANSACTIONS and NONE can be chosen only when writing # to tables/feature classes that do not have custom behaviour. DEFAULT_MACRO GEODATABASE_FILE_OUT_TRANSACTION_TYPE_GEODATABASE_FILE_1 EDIT_SESSION GEODATABASE_FILE_1_TRANSACTION_TYPE "$(GEODATABASE_FILE_OUT_TRANSACTION_TYPE_GEODATABASE_FILE_1)" GUI LOOKUP_CHOICE GEODATABASE_FILE_OUT_TRANSACTION_TYPE_GEODATABASE_FILE_1 EditSession,EDIT_SESSION%Transactions,TRANSACTIONS%None,NONE Transaction Type: # ============================================================================__ # Optional template file can be specified. This will load the schema # of the template file into the database before any writing occurs. DEFAULT_MACRO GEODATABASE_FILE_OUT_TEMPLATEFILE_GEODATABASE_FILE_1 GEODATABASE_FILE_1_TEMPLATEFILE "$(GEODATABASE_FILE_OUT_TEMPLATEFILE_GEODATABASE_FILE_1)" GUI OPTIONAL FILENAME_MUSTEXIST GEODATABASE_FILE_OUT_TEMPLATEFILE_GEODATABASE_FILE_1 XML_Geodatabase_Files(*.xml)|*.xml|(*.zip)|*.zip|(*.z)|*.z|All_files(*.*)|*.* Template File: # ============================================================================ # Specifies if the geomtery is to be simplified or not. Default is no DEFAULT_MACRO GEODATABASE_FILE_OUT_SIMPLIFY_GEOM_GEODATABASE_FILE_1 No GEODATABASE_FILE_1_SIMPLIFY_GEOM "$(GEODATABASE_FILE_OUT_SIMPLIFY_GEOM_GEODATABASE_FILE_1)" GUI LOOKUP_CHOICE GEODATABASE_FILE_OUT_SIMPLIFY_GEOM_GEODATABASE_FILE_1 Yes%No Simplify Geometry: DEFAULT_MACRO GEODATABASE_FILE_OUT_X_ORIGIN_GEODATABASE_FILE_1 0 GEODATABASE_FILE_1_X_ORIGIN "$(GEODATABASE_FILE_OUT_X_ORIGIN_GEODATABASE_FILE_1)" DEFAULT_MACRO GEODATABASE_FILE_OUT_Y_ORIGIN_GEODATABASE_FILE_1 0 GEODATABASE_FILE_1_Y_ORIGIN "$(GEODATABASE_FILE_OUT_Y_ORIGIN_GEODATABASE_FILE_1)" DEFAULT_MACRO GEODATABASE_FILE_OUT_XY_SCALE_GEODATABASE_FILE_1 0 GEODATABASE_FILE_1_XY_SCALE "$(GEODATABASE_FILE_OUT_XY_SCALE_GEODATABASE_FILE_1)" # ============================================================================ # Determines if dataset contains Z values. This value will be used if DEF lines # don't have anything set. The auto_detect option will use the first feature # headed for each feature class to determine whether the feature class should be # 2D or 3D. DEFAULT_MACRO GEODATABASE_FILE_OUT_HAS_Z_VALUES_GEODATABASE_FILE_1 auto_detect GEODATABASE_FILE_1_HAS_Z_VALUES "$(GEODATABASE_FILE_OUT_HAS_Z_VALUES_GEODATABASE_FILE_1)" GUI LOOKUP_CHOICE GEODATABASE_FILE_OUT_HAS_Z_VALUES_GEODATABASE_FILE_1 Yes,yes%No,no%AutoDetect,auto_detect Contains Z Values: DEFAULT_MACRO GEODATABASE_FILE_OUT_Z_ORIGIN_GEODATABASE_FILE_1 0 GEODATABASE_FILE_1_Z_ORIGIN "$(GEODATABASE_FILE_OUT_Z_ORIGIN_GEODATABASE_FILE_1)" DEFAULT_MACRO GEODATABASE_FILE_OUT_Z_SCALE_GEODATABASE_FILE_1 0 GEODATABASE_FILE_1_Z_SCALE "$(GEODATABASE_FILE_OUT_Z_SCALE_GEODATABASE_FILE_1)" DEFAULT_MACRO GEODATABASE_FILE_OUT_GRID_1_GEODATABASE_FILE_1 0 GEODATABASE_FILE_1_GRID_1 "$(GEODATABASE_FILE_OUT_GRID_1_GEODATABASE_FILE_1)" # ============================================================================ # Determines default Z value DEFAULT_MACRO _GEODBOutDefaultZValue_GEODATABASE_FILE_1 0 GUI FLOAT _GEODBOutDefaultZValue_GEODATABASE_FILE_1 Default Z Value: GEODATABASE_FILE_1_DEFAULT_Z_VALUE $(_GEODBOutDefaultZValue_GEODATABASE_FILE_1) # ============================================================================ # This option specifies the writer mode. If set to UPDATE or DELETE, the # mode can be overwritten by each individual feature using the attribute # 'fme_db_operation'. DEFAULT_MACRO _GEODBOutWriterMode_GEODATABASE_FILE_1 INSERT GUI CHOICE _GEODBOutWriterMode_GEODATABASE_FILE_1 INSERT%UPDATE%DELETE Writer Mode: GEODATABASE_FILE_1_WRITER_MODE $(_GEODBOutWriterMode_GEODATABASE_FILE_1) # ============================================================================ # This option specifies the starting transaction number. Normally # this will be zero, which will write every feature to the Geodatabase, # but it might be another value if a previous translation was interrupted. DEFAULT_MACRO _GEODBOutTransaction_GEODATABASE_FILE_1 0 GUI OPTIONAL INTEGER _GEODBOutTransaction_GEODATABASE_FILE_1 Transaction Number: GEODATABASE_FILE_1_TRANSACTION $(_GEODBOutTransaction_GEODATABASE_FILE_1) # ============================================================================ # This option specifies how many features will be written to the Geodatabase on # each transaction. DEFAULT_MACRO _GEODBOutTransactionInterval_GEODATABASE_FILE_1 1000 GUI OPTIONAL INTEGER _GEODBOutTransactionInterval_GEODATABASE_FILE_1 Features to Write Per Transaction: GEODATABASE_FILE_1_TRANSACTION_INTERVAL $(_GEODBOutTransactionInterval_GEODATABASE_FILE_1) # ============================================================================ # Determines whether to continue the translation, despite having encountered # a feature that would normally stop the translation. DEFAULT_MACRO _GEODBOutIgnoreFailedFeatureEntry_GEODATABASE_FILE_1 no GUI OPTIONAL CHOICE _GEODBOutIgnoreFailedFeatureEntry_GEODATABASE_FILE_1 yes%no Ignore Failed Features: GEODATABASE_FILE_1_IGNORE_FAILED_FEATURE_ENTRY $(_GEODBOutIgnoreFailedFeatureEntry_GEODATABASE_FILE_1) # ============================================================================ # The number of features to ignore before stopping a translation due to a # problematic feature. Used only if IGNORE_FAILED_FEATURE_ENTRY is 'yes'. DEFAULT_MACRO _GEODBOutMaxNumberFailedFeatures_GEODATABASE_FILE_1 -1 GUI OPTIONAL INTEGER _GEODBOutMaxNumberFailedFeatures_GEODATABASE_FILE_1 Max number of features to ignore: GEODATABASE_FILE_1_MAX_NUMBER_FAILED_FEATURES $(_GEODBOutMaxNumberFailedFeatures_GEODATABASE_FILE_1) # ============================================================================ # Determines whether to store failed features in an FFS file, so that they # can be viewed/manipulated at a later time. Only applicable if the keyword # IGNORE_FAILED_FEATURE_ENTRY is set to 'yes'. DEFAULT_MACRO _GEODBOutDumpFailedFeatures_GEODATABASE_FILE_1 no GUI OPTIONAL CHOICE _GEODBOutDumpFailedFeatures_GEODATABASE_FILE_1 yes%no Dump Failed Features to File: GEODATABASE_FILE_1_DUMP_FAILED_FEATURES $(_GEODBOutDumpFailedFeatures_GEODATABASE_FILE_1) # ============================================================================ # If the keyword DUMP_FAILED_FEATURES is set to 'yes', determines where to # store the failed features. The location must specify both the path and the # filename. The filename must have an extension of 'ffs'. DEFAULT_MACRO _GEODBOutFFSDumpFile_GEODATABASE_FILE_1 GUI OPTIONAL FILENAME _GEODBOutFFSDumpFile_GEODATABASE_FILE_1 FME_Feature_Store_Files(*.ffs)|*.ffs|All_files(*.*)|*.* Failed Feature Dump filename: GEODATABASE_FILE_1_FFS_DUMP_FILE "$(_GEODBOutFFSDumpFile_GEODATABASE_FILE_1)" # ============================================================================ # Specifies the units to use when creating a new annotation feature class. DEFAULT_MACRO _GEODBOutAnnotationUnits_GEODATABASE_FILE_1 unknown_units GUI OPTIONAL CHOICE _GEODBOutAnnotationUnits_GEODATABASE_FILE_1 unknown_units%decimal_degrees%inches%points%feet%yards%miles%nautical_miles%millimeters%centimeters%meters%kilometers%decimeters Annotation Units: GEODATABASE_FILE_1_ANNOTATION_UNITS $(_GEODBOutAnnotationUnits_GEODATABASE_FILE_1) # ============================================================================ # Determines if dataset contains Measures. This value will be used if DEF lines # don't have anything set. DEFAULT_MACRO _GEODBOutMeasures_GEODATABASE_FILE_1 no GUI OPTIONAL CHOICE _GEODBOutMeasures_GEODATABASE_FILE_1 yes%no Contains Measures: GEODATABASE_FILE_1_HAS_MEASURES $(_GEODBOutMeasures_GEODATABASE_FILE_1) # ============================================================================ # Determines if the output MDB file is to be compressed or not. Default is no DEFAULT_MACRO _GEODBOutCompressAtEnd_GEODATABASE_FILE_1 no GUI OPTIONAL CHOICE _GEODBOutCompressAtEnd_GEODATABASE_FILE_1 yes%no Compress Database When Done: GEODATABASE_FILE_1_COMPRESS_AT_END $(_GEODBOutCompressAtEnd_GEODATABASE_FILE_1) # ============================================================================ # Determines whether to perform validation on features being written to the # geodatabase. Default is no. DEFAULT_MACRO _GEODBOutValidateFeatures_GEODATABASE_FILE_1 no GUI OPTIONAL CHOICE _GEODBOutValidateFeatures_GEODATABASE_FILE_1 yes%no Validate Features to Write: GEODATABASE_FILE_1_VALIDATE_FEATURES $(_GEODBOutValidateFeatures_GEODATABASE_FILE_1) # ============================================================================ # Determines whether to perform simplification on network features being # written to the geodatabase. Default is no. DEFAULT_MACRO _GEODBOutSimplifyNetworkFeatures_GEODATABASE_FILE_1 no GUI OPTIONAL CHOICE _GEODBOutSimplifyNetworkFeatures_GEODATABASE_FILE_1 yes%no Simplify Network Features: GEODATABASE_FILE_1_SIMPLIFY_NETWORK_FEATURES $(_GEODBOutSimplifyNetworkFeatures_GEODATABASE_FILE_1) # ============================================================================== # The following specifies an SQL command to execute before opening the first # Geodatabase table. DEFAULT_MACRO _GEODBOutBeginSql_GEODATABASE_FILE_1 GUI OPTIONAL TEXT_EDIT_SQL _GEODBOutBeginSql_GEODATABASE_FILE_1 SQL Statement To Execute Before Translation: GEODATABASE_FILE_1_BEGIN_SQL{0} "$(_GEODBOutBeginSql_GEODATABASE_FILE_1)" # ============================================================================== # The following specifies an SQL command to execute after closing all the # Geodatabase tables. DEFAULT_MACRO _GEODBOutEndSql_GEODATABASE_FILE_1 GUI OPTIONAL TEXT_EDIT_SQL _GEODBOutEndSql_GEODATABASE_FILE_1 SQL Statement To Execute After Translation: GEODATABASE_FILE_1_END_SQL{0} "$(_GEODBOutEndSql_GEODATABASE_FILE_1)" GEODATABASE_FILE_1_DATASET "$(DestDataset_GEODATABASE_FILE_1)" #! END_DEST_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)arcpyStartupExample.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 Enhanced FME_STROKE_MAX_DEVIATION 0 LOG_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_MIF_1 MIF_1 DEFAULT_MACRO DATASET_KEYWORD_GEODATABASE_FILE_1 GEODATABASE_FILE_1 # ------------------------------------------------------------------------- MIF_1_READER_META_ATTRIBUTES fme_feature_type # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No FME_BEGIN_PYTHON_ENC #-*-coding:utf-8-*-#---------------------------------------------------------------------------#samp.py#Createdon:2012-11-0510:44:15.00000#generatedbyArcGISModelBuilder#Description:#---------------------------------------------------------------------------#Importarcpymoduleimportarcpy#Localvariables:Parcels=C:FMEDataResourcesEsriCityData.gdbPropertyDataParcelsParcel_Ids=C:FMEDataResourcesEsriCityData.gdbPropertyDataParcel_Ids#Process:DeleteRowsarcpy.DeleteRows_managementParcels#Process:DeleteRows2arcpy.DeleteRows_managementParcel_Ids # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME arcpyStartupExample MACRO FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- INCLUDE [ if {[info exists env(FME_TEMP)] && [file isdirectory $env(FME_TEMP)] && [file isdirectory $env(TEMP)]} {set gVisualizerTemp $env(FME_TEMP)} elseif {[info exists 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_CREATE_SPATIAL_INDEX YES # ------------------------------------------------------------------------- MIF_1_DEF parcel_N26 AREA float BLOCK_ID char(2) FLAG float LOT char(2) LU90 float LUCODE float PLAT char(6) LU95 float LULU float SOURCE char(10) PERIMETER float PARCEL_ID char(23) # ------------------------------------------------------------------------- Lookup ___KnownFeatureTypes___ parcel_N26 yes "" no # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME "Unexpected Input Remover" INPUT FEATURE_TYPE * TEST @Lookup(___KnownFeatureTypes___,@FeatureType()) == yes OUTPUT PASSED FEATURE_TYPE * # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Source -> Generic" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE * @Transform(MIF,FME_GENERIC,PRESERVE_GEOMETRY) DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME FeatureTypeExtractor INPUT FEATURE_TYPE parcel_N26 OUTPUT FEATURE_TYPE FeatureTypeExtractor_OUTPUT @SupplyAttributes(_feature_type,&fme_feature_type) # ------------------------------------------------------------------------- INCLUDE [ if {"No" == "Yes"} { puts "MACRO COLLECTION_HANDLING *"; } else { puts "MACRO COLLECTION_HANDLING NOT_THIS_TIME"; } ] MACRO OUTPUT_POINT_FTYPE x MACRO OUTPUT_POINT_FTYPE GeometryFilter_POINT MACRO OUTPUT_LINE_FTYPE x MACRO OUTPUT_LINE_FTYPE GeometryFilter_LINE MACRO OUTPUT_AREA_FTYPE x MACRO OUTPUT_ARC_FTYPE x MACRO OUTPUT_TEXT_FTYPE x MACRO OUTPUT_ELLIPSE_FTYPE x MACRO OUTPUT_RASTER_FTYPE x MACRO OUTPUT_POINTCLOUD_FTYPE x MACRO OUTPUT_SURFACE_FTYPE x MACRO OUTPUT_SOLID_FTYPE x MACRO OUTPUT_COLLECTION_FTYPE x MACRO OUTPUT_NULL_FTYPE x Lookup GeometryFilter_RouterTable "" "x" fme_point $(OUTPUT_POINT_FTYPE) fme_line $(OUTPUT_LINE_FTYPE) fme_area $(OUTPUT_AREA_FTYPE) fme_arc $(OUTPUT_ARC_FTYPE) fme_text $(OUTPUT_TEXT_FTYPE) fme_ellipse $(OUTPUT_ELLIPSE_FTYPE) fme_raster $(OUTPUT_RASTER_FTYPE) fme_point_cloud $(OUTPUT_POINTCLOUD_FTYPE) fme_surface $(OUTPUT_SURFACE_FTYPE) fme_solid $(OUTPUT_SOLID_FTYPE) fme_collection $(OUTPUT_COLLECTION_FTYPE) fme_no_geom $(OUTPUT_NULL_FTYPE) FACTORY_DEF * TeeFactory FACTORY_NAME GeometryFilter_InputPassThrough INPUT FEATURE_TYPE FeatureTypeExtractor_OUTPUT OUTPUT FEATURE_TYPE GeometryFilter_AllInput FACTORY_DEF * TestFactory FACTORY_NAME GeometryFilter_InstanceTest INPUT FEATURE_TYPE GeometryFilter_AllInput TEST @Geometry(IS_GEOMETRY_INSTANCE) == 1 OUTPUT FAILED FEATURE_TYPE GeometryFilter_RestInput FACTORY_DEF $(COLLECTION_HANDLING) TestFactory FACTORY_NAME GeometryFilter_CollectionTest INPUT FEATURE_TYPE GeometryFilter_RestInput TEST &fme_type == "fme_collection" OUTPUT FAILED FEATURE_TYPE GeometryFilter___Not_Collection___ OUTPUT PASSED FEATURE_TYPE GeometryFilter___Collection___ GeometryFilter__temp_count @Count(GeometryFilter_COUNT_DOMAIN, 0) FACTORY_DEF $(COLLECTION_HANDLING) DeaggregateFactory FACTORY_NAME GeometryFilter_Deagg INPUT FEATURE_TYPE GeometryFilter___Collection___ RECURSIVE Yes SET_FME_TYPE Yes OUTPUT POINT FEATURE_TYPE GeometryFilter___Deaggregated___ OUTPUT LINE FEATURE_TYPE GeometryFilter___Deaggregated___ OUTPUT POLYGON FEATURE_TYPE GeometryFilter___Deaggregated___ OUTPUT DONUT FEATURE_TYPE GeometryFilter___Deaggregated___ OUTPUT AGGREGATE FEATURE_TYPE GeometryFilter___Deaggregated___ FACTORY_DEF $(COLLECTION_HANDLING) AggregateFactory FACTORY_NAME GeometryFilter_AggregateHomo INPUT FEATURE_TYPE GeometryFilter___Deaggregated___ GROUP_BY fme_type BREAK_BEFORE_FIELD_CHANGE GeometryFilter__temp_count OUTPUT AGGREGATE FEATURE_TYPE GeometryFilter___HomogenousAggregate___ FACTORY_DEF * TestFactory FACTORY_NAME GeometryFilter_Router INPUT FEATURE_TYPE GeometryFilter___HomogenousAggregate___ INPUT FEATURE_TYPE GeometryFilter___Not_Collection___ INPUT FEATURE_TYPE GeometryFilter_RestInput TEST @Concatenate(@FeatureType(@Lookup(GeometryFilter_RouterTable,&fme_type)),@FeatureType()) != "x" OUTPUT PASSED FEATURE_TYPE * @RemoveAttributes(GeometryFilter__temp_count) # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME AreaBuilder_GeomFilter_1 INPUT FEATURE_TYPE GeometryFilter_LINE INPUT FEATURE_TYPE AreaBuilder_GeomFilter_DUMMY TEST &fme_type == "fme_arc" TEST &fme_type == "fme_ellipse" BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE AreaBuilder___ValidGeoms_1___ OUTPUT FAILED FEATURE_TYPE AreaBuilder___InvalidGeoms_1___ FACTORY_DEF * TestFactory FACTORY_NAME AreaBuilder_GeomFilter_2 INPUT FEATURE_TYPE AreaBuilder___ValidGeoms_1___ TEST @GlobalVariable(fme_get_mapping_file_flag_keyword_FME_USE_RICH_GEOMETRY) == yes BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE AreaBuilder___ValidGeoms___ OUTPUT FAILED FEATURE_TYPE AreaBuilder___InvalidGeoms_1___ FACTORY_DEF * TestFactory FACTORY_NAME AreaBuilder_GeomFilter_3 INPUT FEATURE_TYPE AreaBuilder___InvalidGeoms_1___ TEST @Tcl2("FME_Coordinates numCoords") >= 2 BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE AreaBuilder___ValidGeoms___ OUTPUT FAILED FEATURE_TYPE AreaBuilder___InvalidGeoms___ FACTORY_DEF * PolygonFactory FACTORY_NAME AreaBuilder_polygonizer GROUP_BY fme_feature_type INPUT FEATURE_TYPE AreaBuilder___ValidGeoms___ END_NODED OUTPUT POLYGON FEATURE_TYPE ___POLY___ INCLUDE [if { ("Yes" == "Yes") } { puts "MACRO DONUT_FACTORY_IN *"; puts "MACRO TEE_FACTORY_IN NOT_THIS_TIME"; } else { puts "MACRO DONUT_FACTORY_IN NOT_THIS_TIME"; puts "MACRO TEE_FACTORY_IN *"; } ] FACTORY_DEF $(DONUT_FACTORY_IN) DonutFactory FACTORY_NAME AreaBuilder_donutizer INPUT FEATURE_TYPE ___POLY___ GROUP_BY fme_feature_type DROP_HOLES No TAG_HOLES NO SPLIT_INPUT_DONUTS MODE COMPLETE OUTPUT DONUT FEATURE_TYPE AreaBuilder_AREA @RemoveAttributes(tagged_hole) OUTPUT POLYGON FEATURE_TYPE AreaBuilder_AREA @RemoveAttributes(tagged_hole) FACTORY_DEF $(TEE_FACTORY_IN) TeeFactory FACTORY_NAME AreaBuilder_router INPUT FEATURE_TYPE ___POLY___ OUTPUT FEATURE_TYPE AreaBuilder_AREA FACTORY_DEF * TeeFactory FACTORY_NAME AreaBuilder_WarnInvalids INPUT FEATURE_TYPE AreaBuilder___InvalidGeoms___ # ------------------------------------------------------------------------- FACTORY_DEF * OverlayFactory FACTORY_NAME PointOnAreaOverlayer INPUT POINT FEATURE_TYPE GeometryFilter_POINT INPUT POLYGON FEATURE_TYPE AreaBuilder_AREA OVERLAP_COUNT_ATTRIBUTE "_overlaps" MODE COMPLETE OUTPUT POLYGON FEATURE_TYPE PointOnAreaOverlayer_AREA # ------------------------------------------------------------------------- # Since the Tcl "END" index specification starts at -1 for the second # last character, and we've defined -1 to be the last charater, we've got # small bit of fiddling to do Tcl2 proc SubstringExtractor_fixLastIndex {lastValue} { if {$lastValue < -1} { incr lastValue; return "end$lastValue"; } elseif {$lastValue == -1} { return "end"; } else { return $lastValue; } } Tcl2 proc SubstringExtractor_extract {startIdx endIdx} { FME_SetAttribute {CITY_GRID_ID} [string range [FME_GetAttribute {"_feature_type"}] [SubstringExtractor_fixLastIndex $startIdx] [SubstringExtractor_fixLastIndex $endIdx]] } FACTORY_DEF * TeeFactory FACTORY_NAME SubstringExtractor INPUT FEATURE_TYPE PointOnAreaOverlayer_AREA OUTPUT FEATURE_TYPE SubstringExtractor_OUTPUT @Tcl2("SubstringExtractor_extract -3 -1") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "SubstringExtractor_OUTPUT -> Parcels Correlator" INPUT FEATURE_TYPE SubstringExtractor_OUTPUT OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id 0 @Transform(FME_GENERIC,GEODATABASE_FILE) @SupplyAttributes(__wb_out_feat_type__,Parcels) # ------------------------------------------------------------------------- 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__ # ------------------------------------------------------------------------- GEODATABASE_FILE_1_DEF Parcels geodb_type geodb_polygon GEODB_DROP_TABLE NO GEODB_TRUNCATE_TABLE NO GEODB_OBJECT_ID_NAME OBJECTID GEODB_OBJECT_ID_ALIAS OBJECTID GEODB_SHAPE_NAME SHAPE GEODB_SHAPE_ALIAS SHAPE GEODB_CONFIG_KEYWORD DEFAULTS GEODB_FEATURE_DATASET "" GEODB_GRID{1} "" GEODB_AVG_NUM_POINTS "" GEODB_HAS_Z_VALUES "" GEODB_HAS_MEASURES "" GEODB_ANNO_REFERENCE_SCALE "" GEODB_MEASURES_ORIGIN "" GEODB_MEASURES_SCALE "" GEODB_YORIGIN "" GEODB_XORIGIN "" GEODB_XYSCALE "" GEODB_ZSCALE "" GEODB_ZORIGIN "" CITY_GRID_ID char(4) BLOCK_ID char(2) PARCEL_ID char(23) FLAG float LOT char(2) LU90 float LUCODE float PLAT char(6) LU95 float LULU float SOURCE char(10) PERIMETER float AREA float