# !# ! # ! # ! # !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # ! # !# !# !# ! # !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# ! # !# ! # !# !# !# !# !# ! # !# ! # !# ! # !# ! # ! # !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !Valuegml_id"># !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !Valuegml_id"># !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# !# !# !# !# !# !# !# !# !# !# !# !# !# !# ! # !# ! # !# ! # !# ! # !# !FME_PYTHON_VERSION 27 GUI IGNORE SourceDataset_ESRISHAPE_1,ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1,ESRISHAPE_IN_ENCODING_ESRISHAPE_1,ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1,ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1,ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1,ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1,_MEASURES_AS_Z_ESRISHAPE_1,ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1,ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1,ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1,DestDataset_CITYGML_1,CITYGML_OUT_USE_CITYGML_SCHEMA_FILES_CITYGML_1,CITYGML_OUT_ADE_CITYGML_1,CITYGML_OUT_ADE_XSD_DOC_CITYGML_1,CITYGML_OUT_VERSION_CITYGML_1,CITYGML_OUT_DOCUMENT_ENCODING_CITYGML_1,CITYGML_OUT_HEADER_COMMENTS_CITYGML_1,CITYGML_OUT_SCHEMA_LOCATION_CITYGML_1,CITYGML_OUT_RESTRICT_CURVES_TO_POLYLINES_CITYGML_1,CITYGML_OUT_REMOVE_AUTO_GENERATED_IDS_WHEN_POSSIBLE_CITYGML_1,CITYGML_OUT_USE_CORE_NAMESPACE_PREFIX_CITYGML_1,CITYGML_OUT_CITYGML_VALIDATION_CITYGML_1,CITYGML_OUT_TEXTURE_OUTPUT_FORMAT_CITYGML_1,CITYGML_OUT_SRS_NAME_CITYGML_1,CITYGML_OUT_SRS_AXIS_ORDER_CITYGML_1,CITYGML_OUT_PRETTY_PRINT_SETTINGS_CITYGML_1,CITYGML_OUT_PRETTY_PRINT_CITYGML_1,CITYGML_OUT_INDENT_SIZE_CITYGML_1,CITYGML_OUT_REPLACE_TABS_WITH_SPACES_CITYGML_1,TEXTURE_DIRECTORY_CITYGML_1,THEME_NAME_CITYGML_1 DEFAULT_MACRO SourceDataset_ESRISHAPE C:\ Users \用户的ServerAdmin \下载\ 47温哥华\ single_building.shp GUI多文件SourceDataset_ESRISHAPE形状文件(*。SHP)| *的.shp | Compressed_Shapefiles(* SHZ)| * .shz | All_Files(*)| *来源ESRI的shapefile(一个或多个):DEFAULT_MACRO DestDataset_CITYGML C:\ Users \用户的ServerAdmin \下载\ 47温哥华\ single_building_gml_out.gml GUI(*。GML * XML)。FILENAME DestDataset_CITYGML CityGML_Files | * .gml; * XML | CityGML_Files(。* GML)| * .gml | CityGML_Files(。* XML)| * .XML | All_Files | *目的地CityGML文献:DEFAULT_MACRøGEOM lod2MultiSurface GUI CHOICE GEOM lod0Geometry%lod1Geometry%lod2Geometry%lod3Geometry%lod4Geometry%relativeGMLGeometry%几何%lod1MultiSolid%lod2MultiSolid%lod3MultiSolid%lod0MultiSurface%lod1MultiSurface%lod2MultiSurface%lod3MultiSurface%lod4MultiSurface%lod0MultiCurve%lod1MultiCurve%lod2MultiCurve%lod3MultiCurve%lod4MultiCurve%lod1Solid%lod2Solid%lod3Solid%lod4Solid%lod2Surface%lod3Surface%lod4Surface%lod0TerrainIntersection%lod1TerrainIntersection%lod2TerrainIntersection%lod3TerrainIntersection%lod4TerrainIntersection%lod0Network%referencePoint%reliefPoints%程度%ridgeOrValleyLines%断裂线%点对多点CityGML罗德名称:DEFAULT_MACRO ROLE cityObjectMember GUI CHOICE ROLE外观%appearanceMember%surfaceDataMember%reliefComponent%outerBuildingInstallation%interiorBuildingInstallation%roomInstallation%boundedBy%interiorRoom%consistsOfBuildingPart%地址%开口%interiorFurniture%trafficArea%auxiliaryTrafficArea%cityObjectMember功能作用:INCLUDE [如果{{$(SourceDataset_ESRISHAPE)} {==}} {puts_real {参数 'SourceDataset_ESRISHAPE' 必须被给出的值}。出口1;};] INCLUDE [如果{{$(DestDataset_CITYGML)} {==}} {puts_real {参数 'DestDataset_CITYGML' 必须被给出的值}。出口1; }; ] INCLUDE [ if {{$(GEOM)} == {}} { puts_real {Parameter 'GEOM' must be given a value.}; exit 1; }; ] INCLUDE [ if {{$(ROLE)} == {}} { puts_real {Parameter 'ROLE' must be given a value.}; exit 1; }; ] #! START_HEADER #! START_WB_HEADER READER_TYPE ESRISHAPE READER_KEYWORD ESRISHAPE_1 READER_GEN_DIRECTIVES CHECK_NUMERIC_FIELDS,yes,UPPER_CASE_ATTR_NAMES,No,SIMPLE_DONUT_GEOMETRY,simple,ESRISHAPE_EXPOSE_FORMAT_ATTRS,,SEARCH_ENVELOPE_MAXY,0,_MERGE_SCHEMAS,YES,USE_SEARCH_ENVELOPE,NO,SEARCH_ENVELOPE_MINX,0,ENCODING,,CLIP_TO_ENVELOPE,NO,SEARCH_ENVELOPE_MINY,0,EXPOSE_ATTRS_GROUP,,DISSOLVE_HOLES,no,SEARCH_ENVELOPE_MAXX,0 WRITER_TYPE MULTI_WRITER MULTI_WRITER_DATASET_ORDER BY_ID MULTI_WRITER_FIRST_WRITER_ID 0 MULTI_WRITER_TYPE{0} CITYGML MULTI_WRITER_KEYWORD{0} CITYGML_1 #! END_WB_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "ESRISHAPE_1" #! END_WB_HEADER #! START_SOURCE_HEADER ESRISHAPE ESRISHAPE_1 # ============================================================================ # The following GUI line prompts for the source shapefiles # 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_ESRISHAPE_1 $(SourceDataset)} \ } ] #! END_WB_HEADER #! START_SOURCE_HEADER ESRISHAPE ESRISHAPE_1 DEFAULT_MACRO SourceDataset_ESRISHAPE_1 $(SourceDataset_ESRISHAPE) GUI MULTIFILE SourceDataset_ESRISHAPE_1 Shapefiles(*.shp)|*.shp|Compressed_Shapefiles(*.shz)|*.shz|All_Files(*)|* Source Esri Shapefile(s): # ===================================================================== # 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 shape_. ESRISHAPE_1_UNENCODED_ATTR_PREFIX fme_ shape_ #Added default value for dissolve holes so that default for DI is consistent with workbench DEFAULT_MACRO ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1 no ESRISHAPE_1_DISSOLVE_HOLES "$(ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1)" # ============================================================================ # Determines whether the attribute names should be uppercased, or whether they # should stay as specified in the shapefile. Once the mapping file/workspace # has been generated, the value for this keyword should not be changed. DEFAULT_MACRO ESRISHAPE_IN_UPPER_CASE_ATTR_NAMES_ESRISHAPE_1 No ESRISHAPE_1_UPPER_CASE_ATTR_NAMES "$(ESRISHAPE_IN_UPPER_CASE_ATTR_NAMES_ESRISHAPE_1)" # ============================================================================ # Option to use simple donut geometry creation, which is faster than the # original creation method, but less meticulous at detecting and correcting # geometric anomalies (i.e.holeswithinholes) DEFAULT_MACRO ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1 simple ESRISHAPE_1_SIMPLE_DONUT_GEOMETRY "$(ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1)" GUI LOOKUP_CHOICE ESRISHAPE_IN_SIMPLE_DONUT_GEOMETRY_ESRISHAPE_1 "Orientation Only",simple%"Orientation and Spatial Relationship",complex Donut Geometry Detection # ============================================================================ # The following keyword allows the user to choose what encoding to # use for reading the shapefile, overrides dbf file LDID or .cpg # file if present. DEFAULT_MACRO ESRISHAPE_IN_ENCODING_ESRISHAPE_1 ESRISHAPE_1_ENCODING "$(ESRISHAPE_IN_ENCODING_ESRISHAPE_1)" GUI OPTIONAL ENCODING ESRISHAPE_IN_ENCODING_ESRISHAPE_1 ANSI%SYSTEM%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: #Note: Using the search envelope requires the shape index files (.sbnand.sbx) DEFAULT_MACRO ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1 ESRISHAPE_1_EXPOSE_ATTRS_GROUP "$(ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1)" GUI DISCLOSUREGROUP ESRISHAPE_IN_EXPOSE_ATTRS_GROUP_ESRISHAPE_1 ESRISHAPE_EXPOSE_FORMAT_ATTRS Schema Attributes # 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 ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1 0 ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1)" GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MINX_ESRISHAPE_1 Minimum X: # =========================================================================== DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1 0 ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1)" GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MINY_ESRISHAPE_1 Minimum Y: # =========================================================================== DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1 0 ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1)" GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MAXX_ESRISHAPE_1 Maximum X: # =========================================================================== DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1 0 ESRISHAPE_1_SEARCH_ENVELOPE "$(ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1)" GUI OPTIONAL FLOAT ESRISHAPE_IN_SEARCH_ENVELOPE_MAXY_ESRISHAPE_1 Maximum Y: # =========================================================================== DEFAULT_MACRO ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1 NO ESRISHAPE_1_CLIP_TO_ENVELOPE "$(ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1)" GUI OPTIONAL CHECKBOX ESRISHAPE_IN_CLIP_TO_ENVELOPE_ESRISHAPE_1 YES%NO Clip to Search Envelope DEFAULT_MACRO ESRISHAPE_IN_CHECK_NUMERIC_FIELDS_ESRISHAPE_1 yes ESRISHAPE_1_CHECK_NUMERIC_FIELDS "$(ESRISHAPE_IN_CHECK_NUMERIC_FIELDS_ESRISHAPE_1)" # =========================================================================== DEFAULT_MACRO ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1 ESRISHAPE_1_NETWORK_AUTHENTICATION "$(ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1)" GUI OPTIONAL AUTHENTICATOR ESRISHAPE_IN_NETWORK_AUTHENTICATION_ESRISHAPE_1 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication # =========================================================================== DEFAULT_MACRO ESRISHAPE_IN_ATTRIBUTE_READING_ESRISHAPE_1 ALL ESRISHAPE_1_ATTRIBUTE_READING "$(ESRISHAPE_IN_ATTRIBUTE_READING_ESRISHAPE_1)" # ============================================================================ # Search Envelope Coordinate System # BUG18999: Re-adding directive to allow specification of a search envelope # in a coordinate system other than what the data is in. Note that this # depends on the source coordinate system being set as well. DEFAULT_MACRO ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1 GUI OPTIONAL COORDSYS ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1 Search Envelope Coordinate System: ESRISHAPE_1_SEARCH_ENVELOPE_COORDINATE_SYSTEM "$(ESRISHAPE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_ESRISHAPE_1)" # ============================================================================ # The following GUI line sets whether measure values in the shapefiles should # be treated as elevations. DEFAULT_MACRO _MEASURES_AS_Z_ESRISHAPE_1 no GUI CHOICE _MEASURES_AS_Z_ESRISHAPE_1 yes%no Treat Measures as Elevation: ESRISHAPE_1_MEASURES_AS_Z $(_MEASURES_AS_Z_ESRISHAPE_1) # ============================================================================ # The following keyword sets whether the reader dissolves holes in donuts. GUI CHOICE ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1 yes%no Dissolve Adjacent Holes: ESRISHAPE_1_DISSOLVE_HOLES $(ESRISHAPE_IN_DISSOLVE_HOLES_ESRISHAPE_1) # ============================================================================ # The following keyword sets whether bad geometry should be reported via # the shape_geometry_error{} list attribute. DEFAULT_MACRO ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1 no GUI CHOICE ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1 yes%no Report Geometry Anomalies: ESRISHAPE_1_REPORT_BAD_GEOMETRY $(ESRISHAPE_IN_REPORT_BAD_GEOMETRY_ESRISHAPE_1) DEFAULT_MACRO ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1 YES GUI CHOICE ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1 yes%no Trim Preceding Spaces: ESRISHAPE_1_TRIM_PRECEDING_SPACES $(ESRISHAPE_IN_TRIM_PRECEDING_SPACES_ESRISHAPE_1) ESRISHAPE_1_DATASET "$(SourceDataset_ESRISHAPE_1)" #! END_SOURCE_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "CITYGML_1" #! END_WB_HEADER #! START_DEST_HEADER CITYGML CITYGML_1 #! END_DEST_HEADER #! START_WB_HEADER DEFAULT_MACRO DestDataset INCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_CITYGML_1 $(DestDataset)} \ } ] #! END_WB_HEADER #! START_DEST_HEADER CITYGML CITYGML_1 DEFAULT_MACRO DestDataset_CITYGML_1 $(DestDataset_CITYGML) GUI FILENAME DestDataset_CITYGML_1 CityGML_Files(*.gml;*.xml)|*.gml;*.xml|CityGML_Files(*.gml)|*.gml|CityGML_Files(*.xml)|*.xml|All_Files|* Destination CityGML Document: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_USE_CITYGML_SCHEMA_FILES_CITYGML_1 Yes CITYGML_1_USE_CITYGML_SCHEMA_FILES "$(CITYGML_OUT_USE_CITYGML_SCHEMA_FILES_CITYGML_1)" GUI LOOKUP_CHOICE CITYGML_OUT_USE_CITYGML_SCHEMA_FILES_CITYGML_1 "Yes (Recommended)",Yes%"No (Deprecated - Backward-compatible)",No Writer Driven by CityGML Schema # ============================================================================ DEFAULT_MACRO CITYGML_OUT_ADE_CITYGML_1 None CITYGML_1_ADE "$(CITYGML_OUT_ADE_CITYGML_1)" GUI ACTIVECHOICE CITYGML_OUT_ADE_CITYGML_1 "None",CITYGML_OUT_ADE_XSD_DOC%NoiseADE,CITYGML_OUT_ADE_XSD_DOC%Other Application Domain Extension DEFAULT_MACRO CITYGML_OUT_ADE_XSD_DOC_CITYGML_1 CITYGML_1_ADE_XSD_DOC "$(CITYGML_OUT_ADE_XSD_DOC_CITYGML_1)" GUI OPTIONAL MULTIFILE CITYGML_OUT_ADE_XSD_DOC_CITYGML_1 ADE_Schema_File(*.xsd)|*.xsd|All_Files(*)|* ADE Schema File(s): # ============================================================================ DEFAULT_MACRO CITYGML_OUT_VERSION_CITYGML_1 1.0 CITYGML_1_VERSION "$(CITYGML_OUT_VERSION_CITYGML_1)" GUI ACTIVECHOICE CITYGML_OUT_VERSION_CITYGML_1 0.4,CITYGML_OUT_USE_CITYGML_SCHEMA_FILES,CITYGML_OUT_ADE%1.0%2.0 CityGML Version: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_DOCUMENT_ENCODING_CITYGML_1 CITYGML_1_DOCUMENT_ENCODING "$(CITYGML_OUT_DOCUMENT_ENCODING_CITYGML_1)" GUI OPTIONAL STRING_OR_ENCODING CITYGML_OUT_DOCUMENT_ENCODING_CITYGML_1 * Character Encoding: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_HEADER_COMMENTS_CITYGML_1 CITYGML_1_HEADER_COMMENTS "$(CITYGML_OUT_HEADER_COMMENTS_CITYGML_1)" GUI OPTIONAL TEXT_EDIT_XML CITYGML_OUT_HEADER_COMMENTS_CITYGML_1 Header Comments: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_SCHEMA_LOCATION_CITYGML_1 CITYGML_1_SCHEMA_LOCATION "$(CITYGML_OUT_SCHEMA_LOCATION_CITYGML_1)" GUI OPTIONAL TEXT_EDIT_ CITYGML_OUT_SCHEMA_LOCATION_CITYGML_1 xsi:schemaLocation: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_RESTRICT_CURVES_TO_POLYLINES_CITYGML_1 Yes CITYGML_1_RESTRICT_CURVES_TO_POLYLINES "$(CITYGML_OUT_RESTRICT_CURVES_TO_POLYLINES_CITYGML_1)" GUI LOOKUP_CHOICE CITYGML_OUT_RESTRICT_CURVES_TO_POLYLINES_CITYGML_1 "Yes (Recommended)",Yes%"No (Deprecated - Backward-compatible)",No Restrict Curves to Polylines # ============================================================================ DEFAULT_MACRO CITYGML_OUT_REMOVE_AUTO_GENERATED_IDS_WHEN_POSSIBLE_CITYGML_1 Yes CITYGML_1_REMOVE_AUTO_GENERATED_IDS_WHEN_POSSIBLE "$(CITYGML_OUT_REMOVE_AUTO_GENERATED_IDS_WHEN_POSSIBLE_CITYGML_1)" GUI LOOKUP_CHOICE CITYGML_OUT_REMOVE_AUTO_GENERATED_IDS_WHEN_POSSIBLE_CITYGML_1 Yes%No Remove Auto Generated GML IDs When Possible: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_USE_CORE_NAMESPACE_PREFIX_CITYGML_1 Yes CITYGML_1_USE_CORE_NAMESPACE_PREFIX "$(CITYGML_OUT_USE_CORE_NAMESPACE_PREFIX_CITYGML_1)" GUI LOOKUP_CHOICE CITYGML_OUT_USE_CORE_NAMESPACE_PREFIX_CITYGML_1 Yes%No Use 'core' Namespace Prefix: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_CITYGML_VALIDATION_CITYGML_1 No CITYGML_1_CITYGML_VALIDATION "$(CITYGML_OUT_CITYGML_VALIDATION_CITYGML_1)" GUI LOOKUP_CHOICE CITYGML_OUT_CITYGML_VALIDATION_CITYGML_1 Yes%No Validate Output File: # ============================================================================ DEFAULT_MACRO CITYGML_OUT_TEXTURE_OUTPUT_FORMAT_CITYGML_1 NONE CITYGML_1_TEXTURE_OUTPUT_FORMAT "$(CITYGML_OUT_TEXTURE_OUTPUT_FORMAT_CITYGML_1)" GUI LOOKUP_CHOICE CITYGML_OUT_TEXTURE_OUTPUT_FORMAT_CITYGML_1 Auto,NONE%PNG,PNGRASTER%JPEG%GIF,GIFRASTER%BMP%ECW%ERDAS%GEOTIFF%INGR%JPEG2000%MRSID%PCIDSK%SGI%TIFF%XPM Preferred Texture Format: # ============================================================================ # Overwrites the GML srsName with the specified value. When left unspecified # the FME coordinate system name for the input features will be used as the # value for the srsName in the GML document. DEFAULT_MACRO CITYGML_OUT_SRS_NAME_CITYGML_1 CITYGML_1_SRS_NAME "$(CITYGML_OUT_SRS_NAME_CITYGML_1)" GUI OPTIONAL TEXT CITYGML_OUT_SRS_NAME_CITYGML_1 GML srsName: # ============================================================================ # This keyword specifies the axis order for a coordinate tuple for the specified # SRS_NAME in the GML document. This keyword only applies when used conjunction # with the SRS_NAME keyword. The valid values for this keyword are 1,2, 2,1, # 1,2,3 and 2,1,3. DEFAULT_MACRO CITYGML_OUT_SRS_AXIS_ORDER_CITYGML_1 CITYGML_1_SRS_AXIS_ORDER "$(CITYGML_OUT_SRS_AXIS_ORDER_CITYGML_1)" GUI OPTIONAL CHOICE CITYGML_OUT_SRS_AXIS_ORDER_CITYGML_1 1,2%2,1%1,2,3%2,1,3 GML SRS Axis Order: # ============================================================================ GUI DISCLOSUREGROUP CITYGML_OUT_PRETTY_PRINT_SETTINGS_CITYGML_1 PRETTY_PRINT%INDENT_SIZE%REPLACE_TABS_WITH_SPACES Pretty Printing DEFAULT_MACRO CITYGML_OUT_PRETTY_PRINT_CITYGML_1 No CITYGML_1_PRETTY_PRINT "$(CITYGML_OUT_PRETTY_PRINT_CITYGML_1)" GUI CHOICE CITYGML_OUT_PRETTY_PRINT_CITYGML_1 Yes%No Pretty Print: DEFAULT_MACRO CITYGML_OUT_INDENT_SIZE_CITYGML_1 1 CITYGML_1_INDENT_SIZE "$(CITYGML_OUT_INDENT_SIZE_CITYGML_1)" GUI CHOICE CITYGML_OUT_INDENT_SIZE_CITYGML_1 0%1%2%3%4%5%6%7%8%9 Indent Size: DEFAULT_MACRO CITYGML_OUT_REPLACE_TABS_WITH_SPACES_CITYGML_1 No CITYGML_1_REPLACE_TABS_WITH_SPACES "$(CITYGML_OUT_REPLACE_TABS_WITH_SPACES_CITYGML_1)" GUI CHOICE CITYGML_OUT_REPLACE_TABS_WITH_SPACES_CITYGML_1 Yes%No Replace Tabs with Spaces: # ============================================================================ # Opt in for destination dataset type vs format type validation DEFAULT_MACRO CITYGML_OUT_DESTINATION_DATASETTYPE_VALIDATION_CITYGML_1 Yes CITYGML_1_DESTINATION_DATASETTYPE_VALIDATION "$(CITYGML_OUT_DESTINATION_DATASETTYPE_VALIDATION_CITYGML_1)" DEFAULT_MACRO CITYGML_OUT_COORDINATE_SYSTEM_GRANULARITY_CITYGML_1 DATASET CITYGML_1_COORDINATE_SYSTEM_GRANULARITY "$(CITYGML_OUT_COORDINATE_SYSTEM_GRANULARITY_CITYGML_1)" # ============================================================================ DEFAULT_MACRO TEXTURE_DIRECTORY_CITYGML_1 GUI OPTIONAL TEXT TEXTURE_DIRECTORY_CITYGML_1 Texture subfolder: CITYGML_1_TEXTURE_DIRECTORY "$(TEXTURE_DIRECTORY_CITYGML_1)" # ============================================================================ DEFAULT_MACRO THEME_NAME_CITYGML_1 FMETheme GUI OPTIONAL TEXT THEME_NAME_CITYGML_1 Theme name: CITYGML_1_THEME_NAME "$(THEME_NAME_CITYGML_1)" CITYGML_1_DATASET "$(DestDataset_CITYGML_1)" #! END_DEST_HEADER #! START_WB_HEADER #! END_WB_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)citygml_sample_LoD2_from_shapefile.log" LOG_APPEND NO LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto FME_GEOMETRY_HANDLING Enhanced FME_STROKE_MAX_DEVIATION 0 LOG_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_ESRISHAPE_1 ESRISHAPE_1 DEFAULT_MACRO DATASET_KEYWORD_CITYGML_1 CITYGML_1 # ------------------------------------------------------------------------- ESRISHAPE_1_READER_META_ATTRIBUTES fme_feature_type # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME citygml_sample_LoD2_from_shapefile MACRO FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- ESRISHAPE_1_DEF single_building SHAPE_GEOMETRY shape_polygon BUILDIN_ID short AREA number(15,3) # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Router and Unexpected Input Remover" COMMAND_PARM_EVALUATION SINGLE_PASS MULTI_READER_KEYWORD ESRISHAPE_1 INPUT FEATURE_TYPE * ROUTE ESRISHAPE ESRISHAPE_1::single_building TO FME_GENERIC ::single_building ALIAS_GEOMETRY MERGE_INPUT Yes OUTPUT ROUTED FEATURE_TYPE * ESRISHAPE_1_MERGE_DEF ESRISHAPE_1::single_building EXACT single_building # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "single_building (ESRISHAPE_1) Splitter" INPUT FEATURE_TYPE single_building OUTPUT FEATURE_TYPE single_building_ESRISHAPE_1 DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME UUIDGenerator_2 INPUT FEATURE_TYPE single_building_ESRISHAPE_1 OUTPUT FEATURE_TYPE UUIDGenerator_2_OUTPUT "_uuid" @UUID() # ------------------------------------------------------------------------- Tcl2 proc StringConcatenator_evaluator {} { if {{OUTGOING} == {OUTGOING}} { set attr [FME_DecodeText {_result}]; if {[string length $attr] == 0} { return; }; set attrs [list [FME_EncodeText $attr]]; } else { set attrAll { };如果{[字符串长度$ attrAll] == 0} {回报;};集ATTRS [分裂{ }{});};设置parmList {{EvaluateExpression} {ATTR_CREATE_EXPR_PROPOGATE_MISSING_FDIV}};每个attr $attrs {lappend parmList $attr;lappend parmList {”UUID _uuid “};}; lappend parmList {StringConcatenator}; EVAL FME_Execute $ parmList;} FACTORY_DEF * TeeFactory FACTORY_NAME StringConcatenator INPUT FEATURE_TYPE UUIDGenerator_2_OUTPUT输出FEATURE_TYPE StringConcatenator_OUTPUT @ TCL2(” StringConcatenator_evaluator“)#------------------------------------------------------------------------- FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeRenamer INPUT FEATURE_TYPE StringConcatenator_OUTPUT ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION “_result” “gml_id” “RENAME_SET_DEFAULT” “” 输出端输出FEATURE_TYPE AttributeRenamer_OUTPUT FACTORY_DEF * TeeFactory FACTORY_NAME “AttributeRenamer输出分配器” INPUT FEATURE_TYPE AttributeRenamer_OUTPUT输出FEATURE_TYPE AttributeRenamer_OUTPUT_0_JV5u6+ unT2I = OUTPUT FEATURE_TYPE AttributeRenamer_OUTPUT_1_zxgSiKgnAxI = OUTPUT FEATURE_TYPE AttributeRenamer_OUTPUT_2_Abm2A8Mv9q0 =#------------------------------------------------------------------------- FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_2 INPUT FEATURE_TYPE AttributeRenamer_OUTPUT_0_JV5u6 + unT2I = MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION “” “citygml_lod_name” “SET_TO” “lod1MultiSurface” ATTR_ACTION “” “citygml_feature_role” “SET_TO” “cityObjectMember” 输出端输出FEATURE_TYPE AttributeCreator_2_OUTPUT#------------------------------------------------------------------------- TCL2 PROC GeometryPropertySetter_7f89f1ab_0710_44e5_9e46_a70f612efc4f18_createDomain {in_domainName} {组则domainName $ in_domainName;如果{{ } = {全球}} {集xFormName [FME_EncodeText {GeometryPropertySetter_}]!;设置则domainName $ xFormName $则domainName;};返回$则domainName;} INCLUDE [组macroLine “MACRO GeometryPropertySetter_SRC_ATTRS_EXP”;FOREACH ATTR [分裂 “citygml_lod_name”] {追加macroLine “$ ATTR”;};放$ macroLine;] FACTORY_DEF * GQueryFactory FACTORY_NAME GeometryPropertySetter_GQuery INPUT FEATURE_TYPE AttributeCreator_2_OUTPUT ACTION SET_TRAITS参数是citygml_lod_name输出结果FEATURE_TYPE GeometryPropertySetter___RemoveAttrs___ FACTORY_DEF NOT_THIS_TIME TeeFactory FACTORY_NAME GeometryPropertySetter_AttrRemover INPUT FEATURE_TYPE GeometryPropertySetter___RemoveAttrs___输出FEATURE_TYPE * @RemoveAttributes(fme_encoded “$(GeometryPropertySetter_SRC_ATTRS_EXP)”)FACTORY_DEF * TeeFactory FACTORY_NAME GeometryPropertySetter_Outputter INPUT FEATURE_TYPE GeometryPropertySetter___RemoveAttrs___输出FEATURE_TYPEGeometryPropertySetter_SET#------------------------------------------------------------------------- INCLUDE [ if { {CARTESIAN} == {CARTESIAN} } { puts {MACRO Offsetter_OFFSET @Offset(REJECTABLE,"0","0","10")}; } elseif { {CARTESIAN} == {POLAR} } { puts {MACRO Offsetter_OFFSET @Offset(REJECTABLE,"CARTESIAN"," ”、“ ”)};} elseif {{CARTESIAN} =={球面}}{放置{宏Offsetter_OFFSET @Offset(REJECTABLE,"CARTESIAN"," ”、“ ”、“ ”)};} else {put {MACRO Offsetter_OFFSET @Offset(REJECTABLE,"0","0","10")};}]FACTORY_DEF * TeeFactory FACTORY_NAME Offsetter_Offsetter输入FEATURE_TYPE AttributeRenamer_OUTPUT_1_zxgSiKgnAxI = @RenameAttributes (FME_STRICT, ___fme_rejection_code___ fme_rejection_code)输出FEATURE_TYPE ___TOREJECTOR___美元(Offsetter_OFFSET) FACTORY_DEF * TestFactory FACTORY_NAME Offsetter_Rejector输入FEATURE_TYPE ___TOREJECTOR___测试@ value (fme_rejection_code) ! = "输出失败FEATURE_TYPE Offsetter_OFFSET @RenameAttributes (FME_STRICT、fme_rejection_code ___fme_rejection_code___)FACTORY_DEF * TestFactory FACTORY_NAME Offsetter_PointCloudOffsetter INPUT FEATURE_TYPE Offsetter_Offset TEST &fme_type == "fme_point_cloud" TEST "" != "" BOOLEAN_OPERATOR AND OUTPUT PASSED FEATURE_TYPE Offsetter_OFFSET @TransformPointCloud(OFFSET,) OUTPUT FAILED FEATURE_TYPE Offsetter_OFFSET # ------------------------------------------------------------------------- FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_3 INPUT FEATURE_TYPE Offsetter_OFFSET MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION "" "citygml_lod_name" "SET_TO" "lod2MultiSurface" ATTR_ACTION "" "citygml_feature_role" "SET_TO" "boundedBy" ATTR_ACTION "" "gml_parent_id" "SET_TO" " gml_id “输出输出FEATURE_TYPE AttributeCreator_3_OUTPUT # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc GeometryPropertySetter_2_738902eb_b049_426b_bf48_aad2a1006da76_createDomain {in_domainName}{设置域名in_domainName美元;如果{{ } = {全球}} {集xFormName [FME_EncodeText {GeometryPropertySetter_2_}]!;设置则domainName $ xFormName $则domainName;};返回$则domainName;} INCLUDE [组macroLine “MACRO GeometryPropertySetter_2_SRC_ATTRS_EXP”;FOREACH ATTR [分裂 “citygml_lod_name”] {追加macroLine “$ ATTR”;};放$ macroLine;] FACTORY_DEF * GQueryFactory FACTORY_NAME GeometryPropertySetter_2_GQuery INPUT FEATURE_TYPE AttributeCreator_3_OUTPUT ACTION SET_TRAITS参数是citygml_lod_name输出结果FEATURE_TYPE GeometryPropertySetter_2___RemoveAttrs___ FACTORY_DEF NOT_THIS_TIME TeeFactory FACTORY_NAME GeometryPropertySetter_2_AttrRemover INPUT FEATURE_TYPE GeometryPropertySetter_2___RemoveAttrs___输出FEATURE_TYPE * @RemoveAttributes(fme_encoded “$(GeometryPropertySetter_2_SRC_ATTRS_EXP)”)FACTORY_DEF * TeeFactory FACTORY_NAME GeometryPropertySetter_2_Outputter INPUT FEATURE_TYPE GeometryPropertySetter_2___RemoveAttrs___输出FEATURE_TYPEGeometryPropertySetter_2_SET#------------------------------------------------------------------------- INCLUDE [ if { {CARTESIAN} == {CARTESIAN} } { puts {MACRO Offsetter_2_OFFSET @Offset(REJECTABLE,"0","0","1")}; } elseif { {CARTESIAN} == {POLAR} } { puts {MACRO Offsetter_2_OFFSET @Offset(REJECTABLE,"CARTESIAN"," ”、“ ”)};} elseif {{CARTESIAN} =={球面}}{放置{宏Offsetter_2_OFFSET @Offset(REJECTABLE,"CARTESIAN"," ”、“ ”、“ “)};}其他{放{MACRO Offsetter_2_OFFSET @Offset(不合格,” 0" , “0”, “1”)};}] FACTORY_DEF * TeeFactory FACTORY_NAME Offsetter_2_Offsetter INPUT FEATURE_TYPE AttributeRenamer_OUTPUT_2_Abm2A8Mv9q0 = @RenameAttributes(FME_STRICT,___ fme_rejection_code ___,fme_rejection_code)输出FEATURE_TYPE ___TOREJECTOR___ $(Offsetter_2_OFFSET)FACTORY_DEF * TestFactory中FACTORY_NAME Offsetter_2_Rejector INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @Value(fme_rejection_code)!= “” 输出失败FEATURE_TYPE Offsetter_2_Offset @RenameAttributes(FME_STRICT,fme_rejection_code,___ fme_rejection_code___)FACTORY_DEF * TestFactory中FACTORY_NAME Offsetter_2_PointCloudOffsetter INPUT FEATURE_TYPE Offsetter_2_Offset测试与fme_type ==“fme_point_cloud” TEST “”!= “” BOOLEAN_OPERATOR和输出PASSED FEATURE_TYPE Offsetter_2_OFFSET @TransformPointCloud(OFFSET)OUTPUT失败FEATURE_TYPE Offsetter_2_OFFSET#-------------------------------------------------------------------------FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_4 INPUT FEATURE_TYPE Offsetter_2_OFFSET MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION “” “citygml_lod_name” “SET_TO” “lod2MultiSurface” ATTR_ACTION “” “citygml_feature_role” “SET_TO” “boundedBy” ATTR_ACTION “” “gml_parent_id” “SET_TO”“ gml_id “输出输出FEATURE_TYPE AttributeCreator_4_OUTPUT # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc GeometryPropertySetter_3_8e15004e_51fc_4280_b020_14be0d446ad45_createDomain {in_domainName}{设置域名in_domainName美元;如果{{ } = {全球}} {集xFormName [FME_EncodeText {GeometryPropertySetter_3_}]!;设置则domainName $ xFormName $则domainName;};返回$则domainName;} INCLUDE [组macroLine “MACRO GeometryPropertySetter_3_SRC_ATTRS_EXP”;FOREACH ATTR [分裂 “citygml_lod_name”] {追加macroLine “$ ATTR”;};放$ macroLine;] FACTORY_DEF * GQueryFactory FACTORY_NAME GeometryPropertySetter_3_GQuery INPUT FEATURE_TYPE AttributeCreator_4_OUTPUT ACTION SET_TRAITS参数是citygml_lod_name输出结果FEATURE_TYPE GeometryPropertySetter_3___RemoveAttrs___ FACTORY_DEF NOT_THIS_TIME TeeFactory FACTORY_NAME GeometryPropertySetter_3_AttrRemover INPUT FEATURE_TYPE GeometryPropertySetter_3___RemoveAttrs___输出FEATURE_TYPE * @RemoveAttributes(fme_encoded “$(GeometryPropertySetter_3_SRC_ATTRS_EXP)”)FACTORY_DEF * TeeFactory FACTORY_NAME GeometryPropertySetter_3_Outputter INPUT FEATURE_TYPE GeometryPropertySetter_3___RemoveAttrs___输出FEATURE_TYPEGeometryPropertySetter_3_SET#------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE FME_GENERIC GeometryPropertySetter_SET TO CITYGML __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0, SupplyAttributes 编码 __wb_out_feat_type__ 建筑 几何路径FME_GENERIC GeometryPropertySetter_3_SET到CITYGML的_ go_to_final_output_router__ multi_writer_id,0, SupplyAttributes 编码 __wb_out_feat_type__ FloorSurface 几何路径FME_GENERIC GeometryPropertySetter_2_SET到CITYGML的_ go_to_final_output_router__ multi_writer_id,0, SupplyAttributes 编码 __wb_out_feat_type__ RoofSurface 几何FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__输出路由FEATURE_TYPE *输出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“最终输出核武器”输入FEATURE_TYPE __nuke_me__ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CITYGML_1_DEF建筑citygml_feature_role xml_char (200) BUILDIN_ID xml_int16面积xml_decimal(15日3)_uuid xml_char (200) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CITYGML_1_DEF FloorSurface citygml_feature_role xml_char (200) BUILDIN_ID xml_int16区域xml_decimal(15日3)_uuid xml_char (200) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CITYGML_1_DEF RoofSurface citygml_feature_role xml_char (200) BUILDIN_ID xml_int16区域xml_decimal _uuid(15日3)xml_char (200)