#! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! GUI IGNORE SourceDataset_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_SERVER_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_USERID_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_PASSWORD_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_INSTANCE_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_VERSION_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_WHERE_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_RESOLVE_DOMAINS_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_IGNORE_NETWORK_INFO_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_SDE_1,GEODATABASE_SDE_IN_CLIP_TO_ENVELOPE_GEODATABASE_SDE_1,_GEODBSplitComplexAnnotations_GEODATABASE_SDE_1,_GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_SDE_1,_GEODBInSearchFeature_GEODATABASE_SDE_1,_GEODBInSearchOrder_GEODATABASE_SDE_1,_GEODBInSearchMethod_GEODATABASE_SDE_1,_GEODBInChildVersionName_GEODATABASE_SDE_1,_GEODBInFeatureReadMode_GEODATABASE_SDE_1,_GEODBInArchiveWhereClause_GEODATABASE_SDE_1,_GEODBInCheckSimpleGeom_GEODATABASE_SDE_1,_GEODBMergeFeatLinkedAnnos_GEODATABASE_SDE_1,_GEODBInPersistentConnection_GEODATABASE_SDE_1,_GEODBInBeginSql_GEODATABASE_SDE_1,_GEODBInEndSql_GEODATABASE_SDE_1,DestDataset_SHAPE_1,_MEASURES_AS_Z_SHAPE_1,SHAPE_OUT_ENCODING_SHAPE_1,STRICT_COMPATIBILITY_SHAPE_1 DEFAULT_MACRO DestDataset_SHAPE GUI DIRNAME DestDataset_SHAPE Destination ESRI Shape Directory: DEFAULT_MACRO FeatureClassList $(FME_MF_DIR)FeatureTypesToRead.txt GUI OPTIONAL FILENAME_EXISTING FeatureClassList FeatureClassList|*.* FeatureClassList: INCLUDE PYTHON def ParamFunc(): # Get the file from a published parameter ListFile = (FME_MacroValues['FeatureClassList']) #Replace FME_MF_DIR with actual path, if necessary #(needs to be done if FeatureClassList file is in same directory # as the workspace. PR#37688) replaceThis = '$(FME_MF_DIR' directory = (FME_MacroValues['FME_MF_DIR']) if replaceThis in ListFile: ListFile = ListFile.replace(replaceThis,directory) ListFile = ListFile.replace(')','',1) f = open(ListFile,'r') featureTypes = '' # Read the file and add each line to the featureTypes Variable for line in f.read().split('\n'): featureTypes += (line + " ") f.close() #Return this list to the parameter return featureTypes value = ParamFunc() macroName = 'FeatureTypes' if value == None: return { macroName : '' } else: return { macroName : str(value) } END_INCLUDE INCLUDE TCL proc __FME_ExpandMacros {text {maxlevels 100}} { if { $maxlevels <= 0 } { return $text; } set pattern [join {{\$} {\([^()$]*\)}} {}] set indices [regexp -inline -all -indices $pattern $text] if [llength $indices] { foreach pair [lreverse $indices] { lassign $pair start end set replacement {} set replacement $::FME_MacroValues([string range $text [expr $start + 2] [expr $end - 1]]) set text [string replace $text $start $end $replacement] } return [__FME_ExpandMacros $text [expr $maxlevels - 1]] } return $text } proc __FME_ExpandEnvVars {text {maxlevels 100}} { if { $maxlevels <= 0 } { return $text; } set pattern [join {{\$} {\{[^\{\}$]*\}}} {}] set indices [regexp -inline -all -indices $pattern $text] if [llength $indices] { foreach pair [lreverse $indices] { lassign $pair start end set replacement {} set replacement $::env([string range $text [expr $start + 2] [expr $end - 1]]) set text [string replace $text $start $end $replacement] } return [__FME_ExpandEnvVars $text [expr $maxlevels - 1]] } return $text } proc __FME_EvalAndEncodeMacro {macroName} { set macroVal {} catch { set macroVal [__FME_ExpandMacros $::FME_MacroValues($macroName)] } catch { set macroVal [__FME_ExpandEnvVars $macroVal] } return [FME_EncodeText $macroVal] } END_INCLUDE INCLUDE [ puts "MACRO DestDataset_SHAPE__FMEENCODED__ [__FME_EvalAndEncodeMacro DestDataset_SHAPE]" ; ] INCLUDE [ puts "MACRO FeatureClassList__FMEENCODED__ [__FME_EvalAndEncodeMacro FeatureClassList]" ; ] INCLUDE [ ] INCLUDE [ if {{$(DestDataset_SHAPE)} == {}} { puts_real {Parameter 'DestDataset_SHAPE' must be given a value.}; exit 1; }; ] #! START_HEADER #! WORKSPACE_VERSION 1 # ============================================================================ # # This mapping file was generated by FME Workbench # on 05/10/12 09:54:38 for translation between GEODATABASE_SDE and SHAPE # # This workspace was generated with FME build 12235 # # You may edit this mapping file to customize its operation. Comments are # placed throughout to assist you. # # Modification History: # # Name Date Description # ================= ======== ============================================= # # # ============================================================================ # ============================================================================ # The following line defines the title presented to the user when this # mapping file is run through the FME GUI. You may modify this # if a more meaningful title would be appropriate. GUI TITLE GEODATABASE_SDE to SHAPE Translation # ============================================================================ # The following line names the log file to which useful statistics about # the translation will be written. This line can be uncommented and # updated if you do wish to keep these statistics. # LOG_FILENAME translation.log # LOG_APPEND NO # ============================================================================ # The following line instructs the FME to log any features that do not # match any of the source feature patterns listed further down in # this file. If you are modifying this mapping file, this will be # useful to describe to you exactly which features you are losing # during translation, if the statistics indicate that features are # not being correlated or grouped. Uncorrelated features do not # match any source specification, ungrouped features do not have # any corresponding _DEF line. # FME_DEBUG UNGROUPED UNCORRELATED # ============================================================================ # The following two lines define the type of reader and writer to be # used for this translation. If you want to translate your data # back into its original format, you may make a copy of this file # and switch the reader and writer types. If you rerun the FME, you # will get your original data back again (together with any modifications # you made in the meantime). Note that several formats are NOT # bi-directional (for example, GIF can only be used as a WRITER) # so a reverse translation may not always be possible. #! START_WB_HEADER READER_TYPE GEODATABASE_SDE READER_KEYWORD GEODATABASE_SDE_1 READER_GEN_DIRECTIVES CONNECTION,Parameters,SERVER,maul,USERID,support,INSTANCE,port:5151,VERSION_TYPE,ConnectusingaTransactionalVersion,VERSION,SDE.DEFAULT,REMOVE_TABLE_QUALIFIER,NO,TRANSLATE_SPATIAL_DATA_ONLY,no,RESOLVE_DOMAINS,no,RESOLVE_SUBTYPE_NAMES,yes,IGNORE_NETWORK_INFO,no,IGNORE_RELATIONSHIP_INFO,yes,SPLIT_COMPLEX_EDGES,no,SPLIT_MULTI_PART_ANNOS,no,USE_SEARCH_ENVELOPE,NO,SEARCH_ENVELOPE_MINX,0,SEARCH_ENVELOPE_MINY,0,SEARCH_ENVELOPE_MAXX,0,SEARCH_ENVELOPE_MAXY,0,CLIP_TO_ENVELOPE,NO,SourceDataset,sde,FME_GEOMETRY_HANDLING,Enhanced 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 #! END_WB_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "GEODATABASE_SDE_1" #! END_WB_HEADER #! START_SOURCE_HEADER GEODATABASE_SDE GEODATABASE_SDE_1 GEODATABASE_SDE_1_DYNAMIC_WORKFLOW YES # ============================================================================ # The following GUI line prompts for a source dataset, sometimes this is not # used by SDE. # 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_GEODATABASE_SDE_1 $(SourceDataset)} \ } ] #! END_WB_HEADER #! START_SOURCE_HEADER GEODATABASE_SDE GEODATABASE_SDE_1 DEFAULT_MACRO SourceDataset_GEODATABASE_SDE_1 sde GUI TEXT SourceDataset_GEODATABASE_SDE_1 Source ESRI Geodatabase (ArcSDE) Dataset: # ============================================================================ # Reader connection file stuff. # If you manually change this value for whether or not to use connection files, # you must also make sure the correct directives appear below this to support your # choice. # i.e. The GEODB_SDE_CONNECTION_FILE directive should exist and not # be commented if you set _GEODBInUsingConnFile to YES. # _GEODBInUsingConnFile DEFAULT_MACRO _GEODBInUsingConnFile_GEODATABASE_SDE_1 no #============================================================================= # READER CONNECTION PARAMETERS: Either these or the connection file should be specified. # ============================================================================ # END OF CONNECTION PARAMETERS #============================================================================== # Translation flags. # # ============================================================================= # DEFAULT_MACRO GEODATABASE_SDE_IN_SERVER_GEODATABASE_SDE_1 maul GUI TEXT GEODATABASE_SDE_IN_SERVER_GEODATABASE_SDE_1 Server: GEODATABASE_SDE_1_SERVER "$(GEODATABASE_SDE_IN_SERVER_GEODATABASE_SDE_1)" # ============================================================================= # DEFAULT_MACRO GEODATABASE_SDE_IN_USERID_GEODATABASE_SDE_1 support GUI TEXT GEODATABASE_SDE_IN_USERID_GEODATABASE_SDE_1 Username: GEODATABASE_SDE_1_USERID "$(GEODATABASE_SDE_IN_USERID_GEODATABASE_SDE_1)" # ============================================================================= # DEFAULT_MACRO GEODATABASE_SDE_IN_PASSWORD_GEODATABASE_SDE_1 support GUI PASSWORD GEODATABASE_SDE_IN_PASSWORD_GEODATABASE_SDE_1 Password: GEODATABASE_SDE_1_PASSWORD "$(GEODATABASE_SDE_IN_PASSWORD_GEODATABASE_SDE_1)" # ============================================================================= # DEFAULT_MACRO GEODATABASE_SDE_IN_INSTANCE_GEODATABASE_SDE_1 port:5151 GUI TEXT GEODATABASE_SDE_IN_INSTANCE_GEODATABASE_SDE_1 Instance Name: GEODATABASE_SDE_1_INSTANCE "$(GEODATABASE_SDE_IN_INSTANCE_GEODATABASE_SDE_1)" # ============================================================================= # DEFAULT_MACRO GEODATABASE_SDE_IN_VERSION_GEODATABASE_SDE_1 SDE.DEFAULT GUI TEXT GEODATABASE_SDE_IN_VERSION_GEODATABASE_SDE_1 Transactional Version: GEODATABASE_SDE_1_VERSION "$(GEODATABASE_SDE_IN_VERSION_GEODATABASE_SDE_1)" # ============================================================================ # The following GUI line prompts for the name of the host machine on which # the SDE Server runs. GEODATABASE_SDE_1_SERVER "$(GEODATABASE_SDE_IN_SERVER_GEODATABASE_SDE_1)" # ============================================================================ # The following GUI line prompts for the username to use for # accessing the SDE dataset. GEODATABASE_SDE_1_USERID "$(GEODATABASE_SDE_IN_USERID_GEODATABASE_SDE_1)" # ============================================================================ # The following GUI line prompts for the user password. GEODATABASE_SDE_1_PASSWORD "$(GEODATABASE_SDE_IN_PASSWORD_GEODATABASE_SDE_1)" # ============================================================================ # The following GUI line prompts for the instance GEODATABASE_SDE_1_INSTANCE "$(GEODATABASE_SDE_IN_INSTANCE_GEODATABASE_SDE_1)" # ============================================================================ DEFAULT_MACRO GEODATABASE_SDE_IN_CONNECTION_FILE_GEODATABASE_SDE_1 GEODATABASE_SDE_1_CONNECTION_FILE "$(GEODATABASE_SDE_IN_CONNECTION_FILE_GEODATABASE_SDE_1)" # ============================================================================ # The following GUI line prompts for the version. # ======================================================================== # The following GUI line prompts for the historical version name. # ======================================================================== # The following GUI line prompts for the historical version timestamp. # ======================================================================== # ======================================================================== # ======================================================================== DEFAULT_MACRO GEODATABASE_SDE_IN_WHERE_GEODATABASE_SDE_1 GEODATABASE_SDE_1_WHERE "$(GEODATABASE_SDE_IN_WHERE_GEODATABASE_SDE_1)" GUI OPTIONAL TEXT GEODATABASE_SDE_IN_WHERE_GEODATABASE_SDE_1 WHERE Clause: # ======================================================================== # Determines whether non-spatial data, such as tables, subtypes, domains, # and relationship classes, get translated DEFAULT_MACRO GEODATABASE_SDE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_SDE_1 no GEODATABASE_SDE_1_TRANSLATE_SPATIAL_DATA_ONLY "$(GEODATABASE_SDE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_SDE_1)" GUI CHECKBOX GEODATABASE_SDE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_SDE_1 yes%no Spatial Data Only # ======================================================================== # Determines whether to resolve domains DEFAULT_MACRO GEODATABASE_SDE_IN_RESOLVE_DOMAINS_GEODATABASE_SDE_1 no GEODATABASE_SDE_1_RESOLVE_DOMAINS "$(GEODATABASE_SDE_IN_RESOLVE_DOMAINS_GEODATABASE_SDE_1)" GUI CHECKBOX GEODATABASE_SDE_IN_RESOLVE_DOMAINS_GEODATABASE_SDE_1 yes%no Resolve Domains # ======================================================================== # Determines whether to resolve the subtype associated with a feature to the # text description linked to the subtype value. The text description will # be added as an attribute on the feature. DEFAULT_MACRO GEODATABASE_SDE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_SDE_1 yes GEODATABASE_SDE_1_RESOLVE_SUBTYPE_NAMES "$(GEODATABASE_SDE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_SDE_1)" GUI CHECKBOX GEODATABASE_SDE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_SDE_1 yes%no Resolve Subtypes # ======================================================================== # Determines whether to ignore the network info associated with a feature # coming from a network feature class. When set to 'yes', junctions will be # treated as point features, and edges will be treated as polyline features, # with the geodb_type being set to geodb_point and geodb_polyline, respectively. # Caution should be taken when changing the value for this keyword to a different # value than was specified when creating the mapping file/workspace. DEFAULT_MACRO GEODATABASE_SDE_IN_IGNORE_NETWORK_INFO_GEODATABASE_SDE_1 no GEODATABASE_SDE_1_IGNORE_NETWORK_INFO "$(GEODATABASE_SDE_IN_IGNORE_NETWORK_INFO_GEODATABASE_SDE_1)" GUI CHECKBOX GEODATABASE_SDE_IN_IGNORE_NETWORK_INFO_GEODATABASE_SDE_1 yes%no Ignore Network Info # ======================================================================== # Determines whether to ignore the relationship info associated with a feature # coming from a feature class containing relationships. When set to 'yes', simple # relationships will not be read, and attributed relationships will be read as # tables. Caution should be taken when changing the value for this keyword to a # different value than was specified when creating the mapping file/workspace. DEFAULT_MACRO GEODATABASE_SDE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_SDE_1 yes GEODATABASE_SDE_1_IGNORE_RELATIONSHIP_INFO "$(GEODATABASE_SDE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_SDE_1)" GUI CHECKBOX GEODATABASE_SDE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_SDE_1 yes%no Ignore Relationship Info # ======================================================================== # Determines whether complex edge features should be split up and each edge # element read as a separate feature. The default behaviour is to treat an # entire edge *feature* as an FME feature, rather than an edge *element* as an # FME feature. Returning edge elements ensures that all network connectivity # information on complex edges is read. DEFAULT_MACRO GEODATABASE_SDE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_SDE_1 no GEODATABASE_SDE_1_SPLIT_COMPLEX_EDGES "$(GEODATABASE_SDE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_SDE_1)" GUI CHECKBOX GEODATABASE_SDE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_SDE_1 yes%no Split Complex Edges #============================================================================== # Determines whether annotation features should be split up and each part # element read as a separate feature. The default behaviour is to treat an # entire annotation *feature* as an FME feature, rather than an annotation # *element* as an FME feature. Returning edge elements ensures that all # rotation and positional information for each element is preserved. DEFAULT_MACRO GEODATABASE_SDE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_SDE_1 no GEODATABASE_SDE_1_SPLIT_MULTI_PART_ANNOS "$(GEODATABASE_SDE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_SDE_1)" GUI CHECKBOX GEODATABASE_SDE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_SDE_1 yes%no Split Multi-Part Annotations # Include this file in source setting section to add native search envelope processing # Zero as a default means we don't do any search -- this makes workbench happier # =========================================================================== DEFAULT_MACRO GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_SDE_1 0 GEODATABASE_SDE_1_SEARCH_ENVELOPE "$(GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_SDE_1)" GUI OPTIONAL FLOAT GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_SDE_1 Minimum X: # =========================================================================== DEFAULT_MACRO GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_SDE_1 0 GEODATABASE_SDE_1_SEARCH_ENVELOPE "$(GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_SDE_1)" GUI OPTIONAL FLOAT GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_SDE_1 Minimum Y: # =========================================================================== DEFAULT_MACRO GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_SDE_1 0 GEODATABASE_SDE_1_SEARCH_ENVELOPE "$(GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_SDE_1)" GUI OPTIONAL FLOAT GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_SDE_1 Maximum X: # =========================================================================== DEFAULT_MACRO GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_SDE_1 0 GEODATABASE_SDE_1_SEARCH_ENVELOPE "$(GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_SDE_1)" GUI OPTIONAL FLOAT GEODATABASE_SDE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_SDE_1 Maximum Y: # =========================================================================== DEFAULT_MACRO GEODATABASE_SDE_IN_CLIP_TO_ENVELOPE_GEODATABASE_SDE_1 NO GEODATABASE_SDE_1_CLIP_TO_ENVELOPE "$(GEODATABASE_SDE_IN_CLIP_TO_ENVELOPE_GEODATABASE_SDE_1)" GUI OPTIONAL CHECKBOX GEODATABASE_SDE_IN_CLIP_TO_ENVELOPE_GEODATABASE_SDE_1 YES%NO Clip to Search Envelope #============================================================================== # The following specifies that complex representations for annotation should # be split into simpler representations. DEFAULT_MACRO _GEODBSplitComplexAnnotations_GEODATABASE_SDE_1 no GUI CHOICE _GEODBSplitComplexAnnotations_GEODATABASE_SDE_1 yes%no Split Complex Annotations GEODATABASE_SDE_1_SPLIT_COMPLEX_ANNOS $(_GEODBSplitComplexAnnotations_GEODATABASE_SDE_1) # ============================================================================ # Search Envelope Coordinate System DEFAULT_MACRO _GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_SDE_1 GUI OPTIONAL COORDSYS _GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_SDE_1 Search Envelope Coordinate System: GEODATABASE_SDE_1_SEARCH_ENVELOPE_COORDINATE_SYSTEM "$(_GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_SDE_1)" # ======================================================================== # The following determines whether to vectorize arcs. If SPLIT_AT_ARCS # is set to yes, then arcs do not get vectorized and lines/polygons # containing arcs get split up into line segments and arc segments. # # Update: This keyword is not applicable when using rich geometry. Since # all new mapping files/workspaces have FME_USE_RICH_GEOMETRY set to YES then # we do not need to expose this keyword. #DEFAULT_MACRO _GEODBInSplitAtArcs no #DEFAULT_MACRO _GEODBInSplitAtArcs NO #GUI OPTIONAL CHOICE _GEODBInSplitAtArcs yes%no Split at Arcs #GEODATABASE_SDE_SPLIT_AT_ARCS "$(_GEODBInSplitAtArcs_GEODATABASE_SDE_1)" # # ======================================================================== # The following defines the search feature for the query. It defines an # arbitrarily complex search feature as a spatial contraint. It is in the # form _SEARCH_FEATURE [ ]+. DEFAULT_MACRO _GEODBInSearchFeature_GEODATABASE_SDE_1 GUI OPTIONAL TEXT _GEODBInSearchFeature_GEODATABASE_SDE_1 Search Feature: GEODATABASE_SDE_1_SEARCH_FEATURE $(_GEODBInSearchFeature_GEODATABASE_SDE_1) # ======================================================================== # Determines whether the spatial component or the attribute component of a # query is performed first. This is only applicable when both spatial and # non-spatial searches are being performed. DEFAULT_MACRO _GEODBInSearchOrder_GEODATABASE_SDE_1 SPATIAL_FIRST GUI OPTIONAL CHOICE _GEODBInSearchOrder_GEODATABASE_SDE_1 SPATIAL_FIRST%ATTRIBUTE_FIRST Search Order: GEODATABASE_SDE_1_SEARCH_ORDER $(_GEODBInSearchOrder_GEODATABASE_SDE_1) # ======================================================================== # Determines which type of search method to use. This keyword is only applicable # when either the keyword SEARCH_ENVELOPE or the keyword SEARCH_FEATURE is specified. DEFAULT_MACRO _GEODBInSearchMethod_GEODATABASE_SDE_1 GEODB_INTERSECTS GUI OPTIONAL CHOICE _GEODBInSearchMethod_GEODATABASE_SDE_1 GEODB_INTERSECTS%GEODB_ENVELOPE_INTERSECTS%GEODB_TOUCHES%GEODB_OVERLAPS%GEODB_CROSSES%GEODB_WITHIN%GEODB_CONTAINS Search Method: GEODATABASE_SDE_1_SEARCH_METHOD $(_GEODBInSearchMethod_GEODATABASE_SDE_1) # ======================================================================== # The following specifies the name of a child version to be created. After # the version has been created, tables will be read using this version # rather than the version specified by the VERSION keyword. DEFAULT_MACRO _GEODBInChildVersionName_GEODATABASE_SDE_1 GUI OPTIONAL TEXT _GEODBInChildVersionName_GEODATABASE_SDE_1 Child Version Name: GEODATABASE_SDE_1_CHILD_VERSION_NAME $(_GEODBInChildVersionName_GEODATABASE_SDE_1) # ======================================================================== # The following determines whether to read features from the geodatabase # tables/feature classes or to read metadata from those tables/feature # classes. DEFAULT_MACRO _GEODBInFeatureReadMode_GEODATABASE_SDE_1 Features GUI CHOICE _GEODBInFeatureReadMode_GEODATABASE_SDE_1 Features%Metadata Feature Read Mode: GEODATABASE_SDE_1_FEATURE_READ_MODE "$(_GEODBInFeatureReadMode_GEODATABASE_SDE_1)" # ======================================================================== # The following specifies the archive where clause to be used when retrieving # features from an archived table in geodb. DEFAULT_MACRO _GEODBInArchiveWhereClause_GEODATABASE_SDE_1 GUI OPTIONAL TEXT _GEODBInArchiveWhereClause_GEODATABASE_SDE_1 Archive WHERE Clause: GEODATABASE_SDE_1_ARCHIVE_WHERE $(_GEODBInArchiveWhereClause_GEODATABASE_SDE_1) # ======================================================================== # The following specifies that simple geometry should be checked for # when reading features. DEFAULT_MACRO _GEODBInCheckSimpleGeom_GEODATABASE_SDE_1 no GUI CHOICE _GEODBInCheckSimpleGeom_GEODATABASE_SDE_1 yes%no Check for Simple Geometry: GEODATABASE_SDE_1_CHECK_SIMPLE_GEOM $(_GEODBInCheckSimpleGeom_GEODATABASE_SDE_1) # ======================================================================== # The following specifies whether feature-linked annotations should # be merged onto the main feature as a text list attribute when reading. DEFAULT_MACRO _GEODBMergeFeatLinkedAnnos_GEODATABASE_SDE_1 no GUI CHOICE _GEODBMergeFeatLinkedAnnos_GEODATABASE_SDE_1 yes%no Merge Feature Linked Annotations: GEODATABASE_SDE_1_MERGE_FEAT_LINKED_ANNOS $(_GEODBMergeFeatLinkedAnnos_GEODATABASE_SDE_1) #============================================================================== # Determines whether the connection should persist after the reader/writer # has been shut down. The default is 'no'. DEFAULT_MACRO _GEODBInPersistentConnection_GEODATABASE_SDE_1 no GUI CHOICE _GEODBInPersistentConnection_GEODATABASE_SDE_1 yes%no Make Connection Persistent GEODATABASE_SDE_1_PERSISTENT_CONNECTION $(_GEODBInPersistentConnection_GEODATABASE_SDE_1) # ============================================================================== # The following specifies an SQL command to execute before opening the first # Geodatabase table. DEFAULT_MACRO _GEODBInBeginSql_GEODATABASE_SDE_1 GUI OPTIONAL TEXT_EDIT_SQL _GEODBInBeginSql_GEODATABASE_SDE_1 SQL Statement To Execute Before Translation: GEODATABASE_SDE_1_BEGIN_SQL{0} "$(_GEODBInBeginSql_GEODATABASE_SDE_1)" # ============================================================================== # The following specifies an SQL command to execute after closing all the # Geodatabase tables. DEFAULT_MACRO _GEODBInEndSql_GEODATABASE_SDE_1 GUI OPTIONAL TEXT_EDIT_SQL _GEODBInEndSql_GEODATABASE_SDE_1 SQL Statement To Execute After Translation: GEODATABASE_SDE_1_END_SQL{0} "$(_GEODBInEndSql_GEODATABASE_SDE_1)" GEODATABASE_SDE_1_DATASET "$(SourceDataset_GEODATABASE_SDE_1)" #! END_SOURCE_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. # The user input is stored in a macro, which is then used to define # the dataset to be written. # The dataset this mapping file was generated for was: #! END_DEST_HEADER #! START_WB_HEADER DEFAULT_MACRO DestDataset INCLUDE [ if {"$(DestDataset)" != ""} { \ puts {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 Destination ESRI Shape Directory: # ============================================================================ # Note that this mapping file has been generated to output 3d shape files # that have measures. FME will leave the measure data blank, but other tools # may update these files later to hold measures. Remember that 3d shape files # with measures cannot be read by ArcView 3.0a [unless you've applied the # latest database patch] and older, and ArcExplorer 1.1 and older. # If the input data source had elevation data, it will be written to the # output files. Otherwise, the elevation will be set to 0. # If you want to output "normal" 2d files compatible with older # ESRI products, then just remove the "z" from the geometry keywords # (i.e. replace "shape_polygonz" with "shape_polygon") # If you want to output 2d files with measures, then just replace the "z" # in the geometry keywords with a "m" # (i.e. replace "shape_polygonz" with "shape_polygonm") SHAPE_1_COORDINATE_SYSTEM_GRANULARITY FEATURE_TYPE # ============================================================================ # Determines whether the attribute names should be uppercased, or whether they # should stay as specified in the shape file. The default will be Yes for # backwards compatibility. Once the mapping file/workspace has been generated, # the value for this keyword should not be changed. DEFAULT_MACRO SHAPE_OUT_UPPER_CASE_ATTR_NAMES_SHAPE_1 Yes SHAPE_1_UPPER_CASE_ATTR_NAMES "$(SHAPE_OUT_UPPER_CASE_ATTR_NAMES_SHAPE_1)" # ============================================================================ # The following GUI line sets whether measure values in the shape files should # be treated as elevations. DEFAULT_MACRO _MEASURES_AS_Z_SHAPE_1 no GUI CHOICE _MEASURES_AS_Z_SHAPE_1 yes%no Treat Measures as Elevation: SHAPE_1_MEASURES_AS_Z $(_MEASURES_AS_Z_SHAPE_1) # ============================================================================ # The following keyword allows the user to choose what encoding to # use for outputting the shape file # BUG31194: For backwards compatibility and not outputting a .cpg file # we have chosen to make the writer default encoding system (ANSI) DEFAULT_MACRO SHAPE_OUT_ENCODING_SHAPE_1 ANSI GUI OPTIONAL ENCODING SHAPE_OUT_ENCODING_SHAPE_1 ANSI%BIG5%EUC%HKBIG5%ISO%OEM%SJIS%UTF-8%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP874%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%ISO-8859-11%ISO8859-13%ISO8859-15%WINDOWS-874 Character Encoding: SHAPE_1_ENCODING $(SHAPE_OUT_ENCODING_SHAPE_1) # ============================================================================ # BUG31474: Add an Strict compatibility flag to prevent some apps from # crashing when record lengths are too long. By default, we want to write # compatible files going forward. DEFAULT_MACRO STRICT_COMPATIBILITY_SHAPE_1 Yes GUI CHECKBOX STRICT_COMPATIBILITY_SHAPE_1 Yes%No Strict Compatibility SHAPE_1_STRICT_COMPATIBILITY $(STRICT_COMPATIBILITY_SHAPE_1) SHAPE_1_DATASET "$(DestDataset_SHAPE_1)" #! END_DEST_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)GeoDatabase2Shape.log" LOG_APPEND NO LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_GEOMETRY_HANDLING Enhanced FME_STROKE_MAX_DEVIATION 0 LOG_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_GEODATABASE_SDE_1 GEODATABASE_SDE_1 DEFAULT_MACRO DATASET_KEYWORD_SHAPE_1 SHAPE_1 # ------------------------------------------------------------------------- GEODATABASE_SDE_1_READER_META_ATTRIBUTES fme_feature_type # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME GeoDatabase2Shape MACRO FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- INCLUDE [ if {[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 # ------------------------------------------------------------------------- GEODATABASE_SDE_1_DEF SUPPORT.AnyTable geodb_type geodb_polygon geodb_oid integer OBJECTID integer NAME char(64) NAME_ALT char(64) SHAPE.AREA double SHAPE.LEN double # ------------------------------------------------------------------------- Lookup ___KnownFeatureTypes___ SUPPORT.AnyTable yes "" no FACTORY_DEF * TeeFactory FACTORY_NAME "GEODATABASE_SDE_1 Merger" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE "SUPPORT.AnyTable" # ------------------------------------------------------------------------- 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(GEODATABASE_SDE,FME_GENERIC,PRESERVE_GEOMETRY) DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "SUPPORT.AnyTable -> DYNAMIC Correlator" INPUT FEATURE_TYPE SUPPORT.AnyTable OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id 0 @Transform(FME_GENERIC,SHAPE) @SupplyAttributes(fme_template_feature_type,DYNAMIC) @CopyAttributes(__wb_out_feat_type__,fme_feature_type) # ------------------------------------------------------------------------- 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_TEMPLATE DYNAMIC SHAPE_GEOMETRY {FME_GEN_GEOMETRY} fme_schema_readers GEODATABASE_SDE_1