#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
FME_PYTHON_VERSION 37
GUI IGNORE SourceDataset_SHAPEFILE_1,SHAPEFILE_IN_READER_PARAMETERS_SHAPEFILE_1,SHAPEFILE_IN_ENCODING_SHAPEFILE_1,SHAPEFILE_IN_USE_SEARCH_ENVELOPE_SHAPEFILE_1,SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_1,SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_1,SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_1,SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_1,SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_1,SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_1,SHAPEFILE_IN_ADVANCED_SHAPEFILE_1,SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_1,SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_1,SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_1,SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_1,SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_1,SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_1,DestDataset_CESIUM3DTILES_1,CESIUM3DTILES_OUT_WRITER_PARAMS_CESIUM3DTILES_1,CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_1
DEFAULT_MACRO DestDataset_CESIUM3DTILES_3 $(FME_MF_DIR)Output
GUI DIRNAME DestDataset_CESIUM3DTILES_3 Destination Cesium 3D Tiles Folder:
DEFAULT_MACRO SourceDataset_SHAPEFILE_4 $(FME_MF_DIR)Bygg_Del3.shp
GUI MULTIFILE SourceDataset_SHAPEFILE_4 Shapefiles(*.shp)|*.shp|Compressed_Shapefiles(*.shz)|*.shz|Compressed_Files(*.bz2;*.gz)|*.bz2;*.gz|Archive_Files(*.7z;*.7zip;*.rar;*.rvz;*.tar;*.tar.bz2;*.tar.gz;*.tgz;*.zip;*.zipx)|*.7z;*.7zip;*.rar;*.rvz;*.tar;*.tar.bz2;*.tar.gz;*.tgz;*.zip;*.zipx|All_Files(*)|* Source Esri Shapefile(s):
INCLUDE [ if {{$(DestDataset_CESIUM3DTILES_3)} == {}} { puts_real {Parameter 'DestDataset_CESIUM3DTILES_3' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(SourceDataset_SHAPEFILE_4)} == {}} { puts_real {Parameter 'SourceDataset_SHAPEFILE_4' must be given a value.}; exit 1; }; ]
#! START_HEADER
#! START_WB_HEADER
READER_TYPE MULTI_READER
MULTI_READER_TYPE{0} SHAPEFILE
MULTI_READER_KEYWORD{0} SHAPEFILE_1
MULTI_READER_GEN_DIRECTIVES{0} DONUT_DETECTION,ORIENTATION,REPORT_BAD_GEOMETRY,No,EXPOSE_ATTRS_GROUP,,SEARCH_ENVELOPE_MAXX,0,SEARCH_ENVELOPE_MAXY,0,CLIP_TO_ENVELOPE,NO,MEASURES_AS_Z,No,SEARCH_ENVELOPE_MINX,0,USE_SEARCH_ENVELOPE,NO,SEARCH_ENVELOPE_COORDINATE_SYSTEM,,_MERGE_SCHEMAS,YES,TRIM_PRECEDING_SPACES,Yes,ADVANCED,,ENCODING,fme-source-encoding,SHAPEFILE_EXPOSE_FORMAT_ATTRS,,READ_BLANK_AS,MISSING,SEARCH_ENVELOPE_MINY,0,NUMERIC_TYPE_ATTRIBUTE_HANDLING,STANDARD_TYPES
WRITER_TYPE MULTI_WRITER
MULTI_WRITER_DATASET_ORDER BY_ID
MULTI_WRITER_FIRST_WRITER_ID 0
MULTI_WRITER_TYPE{0} CESIUM3DTILES
MULTI_WRITER_KEYWORD{0} CESIUM3DTILES_1
#! END_WB_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "SHAPEFILE_1"
#! END_WB_HEADER
#! START_SOURCE_HEADER SHAPEFILE SHAPEFILE_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_SHAPEFILE_1 $(SourceDataset)} \
} ]
#! END_WB_HEADER
#! START_SOURCE_HEADER SHAPEFILE SHAPEFILE_1
DEFAULT_MACRO SourceDataset_SHAPEFILE_1 $(SourceDataset_SHAPEFILE_4)
GUI MULTIFILE SourceDataset_SHAPEFILE_1 Shapefiles(*.shp)|*.shp|Compressed_Shapefiles(*.shz)|*.shz|All_Files(*)|* Source Esri Shapefile(s):
DEFAULT_MACRO SHAPEFILE_IN_READER_PARAMETERS_SHAPEFILE_1
GUI OPTIONAL DISCLOSUREGROUP SHAPEFILE_IN_READER_PARAMETERS_SHAPEFILE_1 SHAPEFILE_IN_ENCODING_SHAPEFILE_1%SHAPEFILE_IN_NUMERIC_TYPE_ATTRIBUTE_HANDLING Reader Parameters
# ============================================================================
# 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 SHAPEFILE_IN_ENCODING_SHAPEFILE_1 fme-source-encoding
SHAPEFILE_1_ENCODING "$(SHAPEFILE_IN_ENCODING_SHAPEFILE_1)"
GUI STRING_OR_ENCODING SHAPEFILE_IN_ENCODING_SHAPEFILE_1 fme-source-encoding%UTF-8%ISO*%Big5%ibm*%Shift_JIS%GB2312%GBK%win*%KSC_5601%macintosh%x-mac* Character Encoding
# ============================================================================
# Determines whether numeric attributes should be interpreted as binary or as
# bound number fields (ActualDBFrepresentation)
DEFAULT_MACRO SHAPEFILE_IN_NUMERIC_TYPE_ATTRIBUTE_HANDLING_SHAPEFILE_1 STANDARD_TYPES
SHAPEFILE_1_NUMERIC_TYPE_ATTRIBUTE_HANDLING "$(SHAPEFILE_IN_NUMERIC_TYPE_ATTRIBUTE_HANDLING_SHAPEFILE_1)"
#Note: Using the search envelope requires the shape index files (.sbnand.sbx)
DEFAULT_MACRO SHAPEFILE_IN_EXPOSE_ATTRS_GROUP_SHAPEFILE_1
SHAPEFILE_1_EXPOSE_ATTRS_GROUP "$(SHAPEFILE_IN_EXPOSE_ATTRS_GROUP_SHAPEFILE_1)"
# 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 SHAPEFILE_IN_USE_SEARCH_ENVELOPE_SHAPEFILE_1 NO
SHAPEFILE_1_USE_SEARCH_ENVELOPE "$(SHAPEFILE_IN_USE_SEARCH_ENVELOPE_SHAPEFILE_1)"
GUI ACTIVEDISCLOSUREGROUP SHAPEFILE_IN_USE_SEARCH_ENVELOPE_SHAPEFILE_1 SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_1%SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_1%SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_1%SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_1%SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_1%SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_1%SHAPEFILE_IN_SEARCH_METHOD%SHAPEFILE_IN_SEARCH_METHOD_FILTER%SHAPEFILE_IN_SEARCH_ORDER%SHAPEFILE_IN_SEARCH_FEATURE%SHAPEFILE_IN_DUMMY_SEARCH_ENVELOPE_PARAMETER Use Search Envelope
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_1 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_1 0
SHAPEFILE_1_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_1)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_1 Minimum X:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_1 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_1 0
SHAPEFILE_1_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_1)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_1 Minimum Y:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_1 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_1 0
SHAPEFILE_1_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_1)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_1 Maximum X:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_1 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_1 0
SHAPEFILE_1_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_1)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_1 Maximum Y:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_1 ,
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_1
SHAPEFILE_1_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_1)"
GUI OPTIONAL COORDSYS SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_1 Search Envelope Coordinate System:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_1 ,NO
DEFAULT_MACRO SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_1 NO
SHAPEFILE_1_CLIP_TO_ENVELOPE "$(SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_1)"
GUI OPTIONAL CHECKBOX SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_1 YES%NO Clip to Search Envelope
DEFAULT_MACRO SHAPEFILE_IN_ADVANCED_SHAPEFILE_1 FME_DISCLOSURE_CLOSED
GUI OPTIONAL DISCLOSUREGROUP SHAPEFILE_IN_ADVANCED_SHAPEFILE_1 SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_1%SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_1%SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_1%SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_1%SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_1 Advanced
DEFAULT_MACRO SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_1 Yes
SHAPEFILE_1_TRIM_PRECEDING_SPACES "$(SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_1)"
GUI CHOICE SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_1 Yes%No Trim Preceding Spaces
DEFAULT_MACRO SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_1 MISSING
SHAPEFILE_1_READ_BLANK_AS "$(SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_1)"
GUI LOOKUP_CHOICE SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_1 Missing,MISSING%Null,NULL Read Blank Fields as:
# ============================================================================
# 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 SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_1 ORIENTATION
SHAPEFILE_1_DONUT_DETECTION "$(SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_1)"
GUI LOOKUP_CHOICE SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_1 "\"Orientation Only\",ORIENTATION"%"\"Orientation and Spatial Relationship\",SPATIAL" Donut Geometry Detection
# ============================================================================
# The following GUI line sets whether measure values in the shapefiles should
# be treated as elevations.
DEFAULT_MACRO SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_1 No
SHAPEFILE_1_MEASURES_AS_Z "$(SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_1)"
GUI CHOICE SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_1 Yes%No Treat Measures as Elevation
# ============================================================================
# The following keyword sets whether bad geometry should be reported via
# the shape_geometry_errors attribute.
DEFAULT_MACRO SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_1 No
SHAPEFILE_1_REPORT_BAD_GEOMETRY "$(SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_1)"
GUI CHOICE SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_1 Yes%No Report Geometry Anomalies
# ===========================================================================
DEFAULT_MACRO SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_1
SHAPEFILE_1_NETWORK_AUTHENTICATION "$(SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_1)"
GUI OPTIONAL AUTHENTICATOR SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_1 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication
# ============================================================================
DEFAULT_MACRO SHAPEFILE_IN_ATTRIBUTE_READING_SHAPEFILE_1 ALL
SHAPEFILE_1_ATTRIBUTE_READING "$(SHAPEFILE_IN_ATTRIBUTE_READING_SHAPEFILE_1)"
# ============================================================================
SHAPEFILE_1_GENERATE_FME_BUILD_NUM 20787
SHAPEFILE_1_DATASET "$(SourceDataset_SHAPEFILE_1)"
#! END_SOURCE_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "CESIUM3DTILES_1"
#! END_WB_HEADER
#! START_DEST_HEADER CESIUM3DTILES CESIUM3DTILES_1
#! END_DEST_HEADER
#! START_WB_HEADER
DEFAULT_MACRO DestDataset
INCLUDE [ if {"$(DestDataset)" != ""} { \
puts {DEFAULT_MACRO DestDataset_CESIUM3DTILES_1 $(DestDataset)} \
} ]
#! END_WB_HEADER
#! START_DEST_HEADER CESIUM3DTILES CESIUM3DTILES_1
DEFAULT_MACRO DestDataset_CESIUM3DTILES_1 $(DestDataset_CESIUM3DTILES_3)
GUI DIRNAME DestDataset_CESIUM3DTILES_1 Destination Cesium 3D Tiles Folder:
DEFAULT_MACRO CESIUM3DTILES_OUT_WRITER_PARAMS_CESIUM3DTILES_1
GUI OPTIONAL DISCLOSUREGROUP CESIUM3DTILES_OUT_WRITER_PARAMS_CESIUM3DTILES_1 CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_1 Writer Parameters
DEFAULT_MACRO CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_1 300
CESIUM3DTILES_1_MAX_FEATURES_PER_TILE "$(CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_1)"
GUI RANGE_SLIDER CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_1 1%MAX%0 Maximum Number of Features Per Tile:
DEFAULT_MACRO CESIUM3DTILES_OUT_COORDINATE_SYSTEM_GRANULARITY_CESIUM3DTILES_1 FEATURE
CESIUM3DTILES_1_COORDINATE_SYSTEM_GRANULARITY "$(CESIUM3DTILES_OUT_COORDINATE_SYSTEM_GRANULARITY_CESIUM3DTILES_1)"
# ============================================================================
CESIUM3DTILES_1_GENERATE_FME_BUILD_NUM 20787
CESIUM3DTILES_1_DATASET "$(DestDataset_CESIUM3DTILES_1)"
#! END_DEST_HEADER
#! START_WB_HEADER
#! END_WB_HEADER
#! END_HEADER
LOG_FILENAME "$(FME_MF_DIR)WGS84 projection with roofs z values only.log"
LOG_APPEND NO
LOG_FILTER_MASK -1
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
MAPPING_FILE_ID FootprintsDEM2Cesium3DTilesBlog
DEFAULT_MACRO DATASET_KEYWORD_SHAPEFILE_1 SHAPEFILE_1
DEFAULT_MACRO DATASET_KEYWORD_CESIUM3DTILES_1 CESIUM3DTILES_1
# -------------------------------------------------------------------------
SHAPEFILE_1_READER_META_ATTRIBUTES fme_feature_type
# -------------------------------------------------------------------------
SHAPEFILE_1_COORDINATE_SYSTEM EPSG:4326
MULTI_READER_CONTINUE_ON_READER_FAILURE No
# -------------------------------------------------------------------------
MACRO WORKSPACE_NAME WGS84 projection with roofs z values only
MACRO FME_VIEWER_APP fmedatainspector
# -------------------------------------------------------------------------
SHAPEFILE_1_DEF Bygg_Del3 shapefile_type shapefile_polygon ID1 long
# -------------------------------------------------------------------------
FACTORY_DEF * RoutingFactory FACTORY_NAME "Router and Unexpected Input Remover" COMMAND_PARM_EVALUATION SINGLE_PASS MULTI_READER_KEYWORD $(DATASET_KEYWORD_SHAPEFILE_1) INPUT FEATURE_TYPE * ROUTE SHAPEFILE SHAPEFILE_1::Bygg_Del3 multi_reader_keyword,$(DATASET_KEYWORD_SHAPEFILE_1) TO FME_GENERIC ::Bygg_Del3 ALIAS_GEOMETRY MERGE_INPUT Yes OUTPUT ROUTED FEATURE_TYPE *
SHAPEFILE_1_MERGE_DEF SHAPEFILE_1::Bygg_Del3 EXACT Bygg_Del3
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "Bygg_Del3_SHAPEFILE_1 Splitter" INPUT FEATURE_TYPE Bygg_Del3 OUTPUT FEATURE_TYPE Bygg_Del3_SHAPEFILE_1
DEFAULT_MACRO WB_CURRENT_CONTEXT
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME 3DForcer INPUT FEATURE_TYPE Bygg_Del3_SHAPEFILE_1 OUTPUT FEATURE_TYPE ___TOREJECTOR___ @ZValue("0", "Yes", ___fme_rejection_code___)
FACTORY_DEF * TestFactory FACTORY_NAME 3DForcer_Rejector INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @Value(___fme_rejection_code___) != "" OUTPUT FAILED FEATURE_TYPE 3DForcer_OUTPUT
# -------------------------------------------------------------------------
# Deletes the coordinate system off the feature, if present.
Tcl2 proc CsmapReprojector_CoordSysRemover {} { global FME_CoordSys; set FME_CoordSys {}; }
MACRO CsmapReprojector_REMOVE_CS
MACRO CsmapReprojector_TRANSFORMATION
# Only pass on transformation if a source coordinate system was picked
INCLUDE [ if { {EPSG:4979} != {} } { puts {MACRO CsmapReprojector_REMOVE_CS @Tcl2(CsmapReprojector_CoordSysRemover)}; puts {MACRO CsmapReprojector_TRANSFORMATION ""}; }; ]
FACTORY_DEF * TeeFactory FACTORY_NAME CsmapReprojector INPUT FEATURE_TYPE 3DForcer_OUTPUT OUTPUT FEATURE_TYPE CsmapReprojector_REPROJECTED $(CsmapReprojector_REMOVE_CS) @Reproject(FME,"EPSG:4979","EPSG:4326",3D_ORTHOMETRIC_TO_ELLIPSOID,"$(FME_HOME)Reproject\GeoidHeightGrids\World\Egm96-Wgs84.gdc",$(CsmapReprojector_TRANSFORMATION),--,NearestNeighbor,PreserveCells,RASTER_TOLERANCE,0.0)
# -------------------------------------------------------------------------
INCLUDE [ set supplyZFunc {}; if { {} != {} } { set supplyZFunc "@EvaluateExpression(ATTR_CREATE_EXPR_PROPAGATE_MISSING, \"_z\", ,FLOAT)"; }; puts "MACRO CoordinateExtractor_SUPPLY_Z ${supplyZFunc}"; ]
FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_TESTZDEFAULT INPUT FEATURE_TYPE CsmapReprojector_REPROJECTED TEST "" = "" ENCODED TEST "" TYPE NUM ENCODED BOOLEAN_OPERATOR OR FEATURE_TABLE_SHIM_SUPPORT Yes OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_TESTMODE_INPUT
FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_TESTMODE INPUT FEATURE_TYPE CoordinateExtractor_TESTMODE_INPUT TEST "Specify Coordinate" == "All Coordinates" FEATURE_TABLE_SHIM_SUPPORT Yes OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_LIST_INPUT OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_SPECIFIC_INPUT
FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_LIST INPUT FEATURE_TYPE CoordinateExtractor_LIST_INPUT TEST @Dimension() == 2 FEATURE_TABLE_SHIM_SUPPORT Yes OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_OUTPUT @ZValue("") @Coordinate(x,ALL,""{}.x,FLATTEN_AGGREGATE,YES) @Coordinate(y,ALL,""{}.y,FLATTEN_AGGREGATE,NO) @Coordinate(z,ALL,""{}.z,FLATTEN_AGGREGATE,NO) @Dimension(2) OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_OUTPUT @Coordinate(x,ALL,""{}.x,FLATTEN_AGGREGATE,YES) @Coordinate(y,ALL,""{}.y,FLATTEN_AGGREGATE,NO) @Coordinate(z,ALL,""{}.z,FLATTEN_AGGREGATE,NO)
FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_SPECIFIC INPUT FEATURE_TYPE CoordinateExtractor_SPECIFIC_INPUT TEST "0" TYPE INT ENCODED FEATURE_TABLE_SHIM_SUPPORT Yes OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_SPECIFIC_2D_3D_INPUT
FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_SPECIFIC_2D_3D INPUT FEATURE_TYPE CoordinateExtractor_SPECIFIC_2D_3D_INPUT TEST @Dimension() == 2 FEATURE_TABLE_SHIM_SUPPORT Yes OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_SPECIFIC_2D_INPUT OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_SPECIFIC_3D_INPUT
FACTORY_DEF * ExecuteFunctionFactory FACTORY_NAME CoordinateExtractor_SPECIFIC_2D INPUT FEATURE_TYPE CoordinateExtractor_SPECIFIC_2D_INPUT FUNCTION_DEFINITION @Concatenate( @EvaluateExpression(ATTR_CREATE_EXPR_PROPAGATE_MISSING, "_x", @Coordinate(REJECTABLE_WITH_FLAG,x,"0",FLATTEN_AGGREGATE,YES),FLOAT), @EvaluateExpression(ATTR_CREATE_EXPR_PROPAGATE_MISSING, "_y", @Coordinate(REJECTABLE_WITH_FLAG,y,"0",FLATTEN_AGGREGATE,NO),FLOAT) ) FEATURE_TABLE_SHIM_SUPPORT Yes OUTPUT COMPLETE FEATURE_TYPE CoordinateExtractor_OUTPUT $(CoordinateExtractor_SUPPLY_Z)
FACTORY_DEF * ExecuteFunctionFactory FACTORY_NAME CoordinateExtractor_SPECIFIC_3D INPUT FEATURE_TYPE CoordinateExtractor_SPECIFIC_3D_INPUT FUNCTION_DEFINITION @Concatenate( @EvaluateExpression(ATTR_CREATE_EXPR_PROPAGATE_MISSING, "_x", @Coordinate(REJECTABLE_WITH_FLAG,x,"0",FLATTEN_AGGREGATE,YES),FLOAT), @EvaluateExpression(ATTR_CREATE_EXPR_PROPAGATE_MISSING, "_y", @Coordinate(REJECTABLE_WITH_FLAG,y,"0",FLATTEN_AGGREGATE,NO),FLOAT) @EvaluateExpression(ATTR_CREATE_EXPR_PROPAGATE_MISSING, "_z", @Coordinate(REJECTABLE_WITH_FLAG,z,"0",FLATTEN_AGGREGATE,NO),FLOAT) ) FEATURE_TABLE_SHIM_SUPPORT Yes OUTPUT COMPLETE FEATURE_TYPE CoordinateExtractor_OUTPUT
# -------------------------------------------------------------------------
INCLUDE [ if { ({SPECIFIED} == {SPECIFIED}) } { puts {MACRO Extruder_func @GeometryType(REJECTABLE, fme_extrusion_exact,"0.0","0.0","@EvaluateExpression(FDIV,FLOAT,Value_z*-1,Extruder)")}; } else { puts {MACRO Extruder_func @GeometryType(REJECTABLE, fme_extrusion_exact,0.0,0.0,0.0,"","SPECIFIED")}; } ]
FACTORY_DEF * TeeFactory FACTORY_NAME Extruder INPUT FEATURE_TYPE CoordinateExtractor_OUTPUT OUTPUT FEATURE_TYPE ___TOREJECTOR___ @RenameAttributes(FME_STRICT,___fme_rejection_code___,fme_rejection_code) $(Extruder_func)
FACTORY_DEF * TestFactory FACTORY_NAME Extruder_Rejector INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @Value(fme_rejection_code) == "" OUTPUT PASSED FEATURE_TYPE Extruder_EXTRUDED @RenameAttributes(FME_STRICT,fme_rejection_code,___fme_rejection_code___)
# -------------------------------------------------------------------------
INCLUDE [ set listOrSingle {@Value(___myNewAppearance)}; puts "MACRO LIST_OR_SINGLE $listOrSingle"; ]
INCLUDE [if { ("BOTH" == "BOTH") } { puts "MACRO APPEARANCE_IDS $(LIST_OR_SINGLE) $(LIST_OR_SINGLE)"; } elseif { ("BOTH" == "FRONT") } { puts "MACRO APPEARANCE_IDS $(LIST_OR_SINGLE) fme_do_not_set"; } else { puts "MACRO APPEARANCE_IDS fme_do_not_set $(LIST_OR_SINGLE)"; } ]
INCLUDE [if { ("SURFACE_NORMAL" == "TOPDOWN_GEOREFERENCED") || ("SURFACE_NORMAL" == "ATTRIBUTE") } { puts "MACRO TEXTURE_U_OFFSET2 0.0"; puts "MACRO TEXTURE_V_OFFSET2 0.0"; puts "MACRO TEXTURE_U_SCALE_FACTOR 1.0"; puts "MACRO TEXTURE_V_SCALE_FACTOR 1.0"; } elseif { ("SURFACE_NORMAL" == "SURFACE_NORMAL_GROUNDUNITS") } { puts "MACRO TEXTURE_U_OFFSET2 0.0"; puts "MACRO TEXTURE_V_OFFSET2 0.0"; puts "MACRO TEXTURE_U_SCALE_FACTOR 1.0"; puts "MACRO TEXTURE_V_SCALE_FACTOR 1.0"; } else { puts "MACRO TEXTURE_U_OFFSET2 0.0"; puts "MACRO TEXTURE_V_OFFSET2 0.0"; puts "MACRO TEXTURE_U_SCALE_FACTOR 1.0"; puts "MACRO TEXTURE_V_SCALE_FACTOR 1.0"; } ]
Tcl2 proc AppearanceSetter_doSetAppearanceName { appearanceName } { FME_SetAttribute fme_appearance_style_name [FME_DecodeText $appearanceName] }
FACTORY_DEF * SortFactory FACTORY_NAME AppearanceSetter_HOLDER INPUT FEATURE_TYPE AppearanceSetter__DUMMY__
FACTORY_DEF * CreationFactory FACTORY_NAME AppearanceSetter_ColorStyle_Creator CREATE_AT_END NO OUTPUT FEATURE_TYPE AppearanceSetter_____CREATED_COLORSTYLE______
FACTORY_DEF * TeeFactory FACTORY_NAME AppearanceSetter_Apply_ColorStyle INPUT FEATURE_TYPE AppearanceSetter_____CREATED_COLORSTYLE______ OUTPUT FEATURE_TYPE AppearanceSetter_____OVERWRITE_APPEARANCE______ @Tcl2("AppearanceSetter_doSetAppearanceName {} ") fme_appearance_style_diffuse_color "0.92549,0.92549,0.92549" fme_appearance_style_ambient_color "0.666667,0,0" fme_appearance_style_specular_color "" fme_appearance_style_emissive_color "" fme_appearance_style_alpha "1" fme_appearance_style_shininess "0.7" fme_texture_style_u_offset "" fme_texture_style_v_offset "" fme_texture_style_center_u "" fme_texture_style_center_v "" fme_texture_style_u_scaling_factor "" fme_texture_style_v_scaling_factor "" fme_texture_style_u_shearing_factor "" fme_texture_style_v_shearing_factor "" fme_texture_style_rotation_angle "" __fme_temp_overwrite_appearance_info yes
# We're going to say "front side" here, as all we want is the attribute back.
FACTORY_DEF {*} SharedObjectFactory FACTORY_NAME AppearanceSetter_AddRefs INPUT DEFINITION_FRONT FEATURE_TYPE AppearanceSetter_____OVERWRITE_APPEARANCE______ INPUT REFERENCER FEATURE_TYPE Extruder_EXTRUDED FLUSH_WHEN_GROUPS_CHANGE No MODE ADD SHARED_OBJECT_TYPE APPEARANCE ADD_AS_ATTR_FRONT ___myNewAppearance RECURSIVE NO OUTPUT INVALID_GEOMETRY FEATURE_TYPE AppearanceSetter_OUTPUT OUTPUT SUCCESSFUL FEATURE_TYPE AppearanceSetter___touOriginOffsetRejector___
FACTORY_DEF * TestFactory FACTORY_NAME AppearanceSetter_uOriginOffsetRejector INPUT FEATURE_TYPE AppearanceSetter___touOriginOffsetRejector___ TEST "$(TEXTURE_U_OFFSET2)" TYPE NUM ENCODED OUTPUT PASSED FEATURE_TYPE AppearanceSetter___tovOriginOffsetRejector___
FACTORY_DEF * TestFactory FACTORY_NAME AppearanceSetter_vOriginOffsetRejector INPUT FEATURE_TYPE AppearanceSetter___tovOriginOffsetRejector___ TEST "$(TEXTURE_V_OFFSET2)" TYPE NUM ENCODED OUTPUT PASSED FEATURE_TYPE AppearanceSetter___toTextureuRepeatFactorRejector___
FACTORY_DEF * TestFactory FACTORY_NAME AppearanceSetter__textureuRepeatFactorRejector__ INPUT FEATURE_TYPE AppearanceSetter___toTextureuRepeatFactorRejector___ TEST "$(TEXTURE_U_SCALE_FACTOR)" TYPE NUM ENCODED OUTPUT PASSED FEATURE_TYPE AppearanceSetter___toTexturevRepeatFactorRejector___
FACTORY_DEF * TestFactory FACTORY_NAME AppearanceSetter__texturevRepeatFactorRejector__ INPUT FEATURE_TYPE AppearanceSetter___toTexturevRepeatFactorRejector___ TEST "$(TEXTURE_V_SCALE_FACTOR)" TYPE NUM ENCODED OUTPUT PASSED FEATURE_TYPE AppearanceSetter___TaggedGeoms___
FACTORY_DEF * GQueryFactory FACTORY_NAME AppearanceSetter_GQuery INPUT FEATURE_TYPE AppearanceSetter___TaggedGeoms___ GQUERY "@EvaluateExpression(FDIV,STRING_ENCODED,forgeomingeometrywheregeomcountparent::geometry=0returnnumbergeomfme_id,AppearanceSetter)" REJECT_INVALID Yes ROUTE_UNMATCHED_FEATURES YES ACTION SET_APPEARANCE PARAMETER $(APPEARANCE_IDS) NO SURFACE_NORMAL "$(TEXTURE_U_SCALE_FACTOR)" "$(TEXTURE_V_SCALE_FACTOR)" "$(TEXTURE_U_OFFSET2)" "$(TEXTURE_V_OFFSET2)" No CREATE OUTPUT RESULT FEATURE_TYPE AppearanceSetter_OUTPUT @RemoveAttributes(fme_regexp_match,^___myNewAppearance.*$)
# -------------------------------------------------------------------------
FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE FME_GENERIC AppearanceSetter_OUTPUT TO CESIUM3DTILES __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__3d-building-0726 GEOMETRY FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__ OUTPUT ROUTED FEATURE_TYPE * OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn")
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__
# -------------------------------------------------------------------------
CESIUM3DTILES_1_DEF 3d-building-0726 cid string poly_id string parent_id string abs_h float rel_h float