#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
#!
FME_PYTHON_VERSION 38
ARCGIS_COMPATIBILITY ARCGIS_AUTO
GUI IGNORE SourceDataset_SHAPEFILE_2,SHAPEFILE_IN_READER_PARAMETERS_SHAPEFILE_2,SHAPEFILE_IN_ENCODING_SHAPEFILE_2,SHAPEFILE_IN_USE_SEARCH_ENVELOPE_SHAPEFILE_2,SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_2,SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_2,SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_2,SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_2,SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_2,SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_2,SHAPEFILE_IN_ADVANCED_SHAPEFILE_2,SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_2,SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_2,SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_2,SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_2,SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_2,SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_2,DestDataset_CESIUM3DTILES_2,CESIUM3DTILES_OUT_WRITER_PARAMS_CESIUM3DTILES_2,CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_2
# ============================================================================
DEFAULT_MACRO SourceDataset_SHAPEFILE $(FME_MF_DIR)3d-building-0726.shp
DEFAULT_MACRO DestDataset_CESIUM3DTILES_3 $(FME_MF_DIR)Output
# ============================================================================
GUI MULTIFILE SourceDataset_SHAPEFILE 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):
GUI DIRNAME DestDataset_CESIUM3DTILES_3 Destination Cesium 3D Tiles Folder:
# ============================================================================
USER_PARAMETERS eyJwYXJhbWV0ZXJzIjpbeyJhY2Nlc3NNb2RlIjoicmVhZCIsImRlZmF1bHRWYWx1ZSI6IiQoRk1FX01GX0RJUl9VU0VSVFlQRUQpM2QtYnVpbGRpbmctMDcyNi5zaHAiLCJmaWx0ZXJzIjpbeyJkZXNjcmlwdGlvbiI6IlNoYXBlZmlsZXMiLCJmaWx0ZXIiOlsiKi5zaHAiXX0seyJkZXNjcmlwdGlvbiI6IkNvbXByZXNzZWQgU2hhcGVmaWxlcyIsImZpbHRlciI6WyIqLnNoeiJdfSx7ImRlc2NyaXB0aW9uIjoiQ29tcHJlc3NlZCBGaWxlcyIsImZpbHRlciI6WyIqLmJ6MiIsIiouZ3oiXX0seyJkZXNjcmlwdGlvbiI6IkFyY2hpdmUgRmlsZXMiLCJmaWx0ZXIiOlsiKi43eiIsIiouN3ppcCIsIioucmFyIiwiKi5ydnoiLCIqLnRhciIsIioudGFyLmJ6MiIsIioudGFyLmd6IiwiKi50Z3oiLCIqLnppcCIsIiouemlweCJdfSx7ImRlc2NyaXB0aW9uIjoiQWxsIEZpbGVzIiwiZmlsdGVyIjpbIioiXX1dLCJpbmNsdWRlV2ViQnJvd3NlciI6dHJ1ZSwiaXRlbXNUb1NlbGVjdCI6ImZpbGVzIiwibmFtZSI6IlNvdXJjZURhdGFzZXRfU0hBUEVGSUxFIiwicHJvbXB0IjoiU291cmNlIEVzcmkgU2hhcGVmaWxlKHMpOiIsInJlcXVpcmVkIjp0cnVlLCJzZWxlY3RNdWx0aXBsZSI6dHJ1ZSwidHlwZSI6ImZpbGUiLCJ2YWxpZGF0ZUV4aXN0ZW5jZSI6ZmFsc2UsInZhbHVlVHlwZSI6InN0cmluZyJ9LHsiYWNjZXNzTW9kZSI6IndyaXRlIiwiZGVmYXVsdFZhbHVlIjoiJChGTUVfTUZfRElSX1VTRVJUWVBFRClPdXRwdXQiLCJpdGVtc1RvU2VsZWN0IjoiZm9sZGVycyIsIm5hbWUiOiJEZXN0RGF0YXNldF9DRVNJVU0zRFRJTEVTXzMiLCJwcm9tcHQiOiJEZXN0aW5hdGlvbiBDZXNpdW0gM0QgVGlsZXMgRm9sZGVyOiIsInJlcXVpcmVkIjp0cnVlLCJzZWxlY3RNdWx0aXBsZSI6ZmFsc2UsInR5cGUiOiJmaWxlIiwidmFsaWRhdGVFeGlzdGVuY2UiOmZhbHNlLCJ2YWx1ZVR5cGUiOiJzdHJpbmcifV19
# ============================================================================
INCLUDE [ if {{$(SourceDataset_SHAPEFILE)} == {}} { puts_real {Parameter 'SourceDataset_SHAPEFILE' must be given a value.}; exit 1; }; ]
INCLUDE [ if {{$(DestDataset_CESIUM3DTILES_3)} == {}} { puts_real {Parameter 'DestDataset_CESIUM3DTILES_3' 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_2
MULTI_READER_GEN_DIRECTIVES{0} REPORT_BAD_GEOMETRY,No,READ_BLANK_AS,MISSING,ENCODING,fme-source-encoding,DONUT_DETECTION,ORIENTATION,CLIP_TO_ENVELOPE,NO,ADVANCED,,SEARCH_ENVELOPE_MINY,0,TRIM_PRECEDING_SPACES,Yes,_MERGE_SCHEMAS,YES,SEARCH_ENVELOPE_MINX,0,USE_SEARCH_ENVELOPE,NO,EXPOSE_ATTRS_GROUP,,SHAPEFILE_EXPOSE_FORMAT_ATTRS,,MEASURES_AS_Z,No,SEARCH_ENVELOPE_COORDINATE_SYSTEM,,SEARCH_ENVELOPE_MAXX,0,SEARCH_ENVELOPE_MAXY,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_2
#! END_WB_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "SHAPEFILE_2"
#! END_WB_HEADER
#! START_SOURCE_HEADER SHAPEFILE SHAPEFILE_2
# ============================================================================
# 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_2 $(SourceDataset)} \
} ]
#! END_WB_HEADER
#! START_SOURCE_HEADER SHAPEFILE SHAPEFILE_2
DEFAULT_MACRO SourceDataset_SHAPEFILE_2 $(SourceDataset_SHAPEFILE)
GUI MULTIFILE SourceDataset_SHAPEFILE_2 Shapefiles(*.shp)|*.shp|Compressed_Shapefiles(*.shz)|*.shz|All_Files(*)|* Source Esri Shapefile(s):
DEFAULT_MACRO SHAPEFILE_IN_READER_PARAMETERS_SHAPEFILE_2
GUI OPTIONAL DISCLOSUREGROUP SHAPEFILE_IN_READER_PARAMETERS_SHAPEFILE_2 SHAPEFILE_IN_ENCODING_SHAPEFILE_2%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_2 fme-source-encoding
SHAPEFILE_2_ENCODING "$(SHAPEFILE_IN_ENCODING_SHAPEFILE_2)"
GUI STRING_OR_ENCODING SHAPEFILE_IN_ENCODING_SHAPEFILE_2 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_2 STANDARD_TYPES
SHAPEFILE_2_NUMERIC_TYPE_ATTRIBUTE_HANDLING "$(SHAPEFILE_IN_NUMERIC_TYPE_ATTRIBUTE_HANDLING_SHAPEFILE_2)"
#Note: Using the search envelope requires the shape index files (.sbnand.sbx)
DEFAULT_MACRO SHAPEFILE_IN_EXPOSE_ATTRS_GROUP_SHAPEFILE_2
SHAPEFILE_2_EXPOSE_ATTRS_GROUP "$(SHAPEFILE_IN_EXPOSE_ATTRS_GROUP_SHAPEFILE_2)"
# 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_2 NO
SHAPEFILE_2_USE_SEARCH_ENVELOPE "$(SHAPEFILE_IN_USE_SEARCH_ENVELOPE_SHAPEFILE_2)"
GUI ACTIVEDISCLOSUREGROUP SHAPEFILE_IN_USE_SEARCH_ENVELOPE_SHAPEFILE_2 SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_2%SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_2%SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_2%SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_2%SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_2%SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_2%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_2 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_2 0
SHAPEFILE_2_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_2)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MINX_SHAPEFILE_2 Minimum X:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_2 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_2 0
SHAPEFILE_2_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_2)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MINY_SHAPEFILE_2 Minimum Y:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_2 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_2 0
SHAPEFILE_2_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_2)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MAXX_SHAPEFILE_2 Maximum X:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_2 ,0
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_2 0
SHAPEFILE_2_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_2)"
GUI OPTIONAL FLOAT SHAPEFILE_IN_SEARCH_ENVELOPE_MAXY_SHAPEFILE_2 Maximum Y:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_2 ,
DEFAULT_MACRO SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_2
SHAPEFILE_2_SEARCH_ENVELOPE "$(SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_2)"
GUI OPTIONAL COORDSYS SHAPEFILE_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_SHAPEFILE_2 Search Envelope Coordinate System:
# ===========================================================================
GUI LOOKUP SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_2 ,NO
DEFAULT_MACRO SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_2 NO
SHAPEFILE_2_CLIP_TO_ENVELOPE "$(SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_2)"
GUI OPTIONAL CHECKBOX SHAPEFILE_IN_CLIP_TO_ENVELOPE_SHAPEFILE_2 YES%NO Clip to Search Envelope
DEFAULT_MACRO SHAPEFILE_IN_ADVANCED_SHAPEFILE_2
GUI OPTIONAL DISCLOSUREGROUP SHAPEFILE_IN_ADVANCED_SHAPEFILE_2 SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_2%SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_2%SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_2%SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_2%SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_2 Advanced
DEFAULT_MACRO SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_2 Yes
SHAPEFILE_2_TRIM_PRECEDING_SPACES "$(SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_2)"
GUI CHOICE SHAPEFILE_IN_TRIM_PRECEDING_SPACES_SHAPEFILE_2 Yes%No Trim Preceding Spaces
DEFAULT_MACRO SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_2 MISSING
SHAPEFILE_2_READ_BLANK_AS "$(SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_2)"
GUI LOOKUP_CHOICE SHAPEFILE_IN_READ_BLANK_AS_SHAPEFILE_2 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_2 ORIENTATION
SHAPEFILE_2_DONUT_DETECTION "$(SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_2)"
GUI LOOKUP_CHOICE SHAPEFILE_IN_DONUT_DETECTION_SHAPEFILE_2 "\"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_2 No
SHAPEFILE_2_MEASURES_AS_Z "$(SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_2)"
GUI CHOICE SHAPEFILE_IN_MEASURES_AS_Z_SHAPEFILE_2 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_2 No
SHAPEFILE_2_REPORT_BAD_GEOMETRY "$(SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_2)"
GUI CHOICE SHAPEFILE_IN_REPORT_BAD_GEOMETRY_SHAPEFILE_2 Yes%No Report Geometry Anomalies
# ===========================================================================
DEFAULT_MACRO SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_2
SHAPEFILE_2_NETWORK_AUTHENTICATION "$(SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_2)"
GUI OPTIONAL AUTHENTICATOR SHAPEFILE_IN_NETWORK_AUTHENTICATION_SHAPEFILE_2 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication
# ============================================================================
DEFAULT_MACRO SHAPEFILE_IN_ATTRIBUTE_READING_SHAPEFILE_2 ALL
SHAPEFILE_2_ATTRIBUTE_READING "$(SHAPEFILE_IN_ATTRIBUTE_READING_SHAPEFILE_2)"
# ============================================================================
SHAPEFILE_2_GENERATE_FME_BUILD_NUM 20787
SHAPEFILE_2_DATASET "$(SourceDataset_SHAPEFILE_2)"
#! END_SOURCE_HEADER
#! START_WB_HEADER
MACRO WB_KEYWORD "CESIUM3DTILES_2"
#! END_WB_HEADER
#! START_DEST_HEADER CESIUM3DTILES CESIUM3DTILES_2
#! END_DEST_HEADER
#! START_WB_HEADER
DEFAULT_MACRO DestDataset
INCLUDE [ if {"$(DestDataset)" != ""} { \
puts {DEFAULT_MACRO DestDataset_CESIUM3DTILES_2 $(DestDataset)} \
} ]
#! END_WB_HEADER
#! START_DEST_HEADER CESIUM3DTILES CESIUM3DTILES_2
DEFAULT_MACRO DestDataset_CESIUM3DTILES_2 $(DestDataset_CESIUM3DTILES_3)
GUI DIRNAME DestDataset_CESIUM3DTILES_2 Destination Cesium 3D Tiles Folder:
DEFAULT_MACRO CESIUM3DTILES_OUT_WRITER_PARAMS_CESIUM3DTILES_2
GUI OPTIONAL DISCLOSUREGROUP CESIUM3DTILES_OUT_WRITER_PARAMS_CESIUM3DTILES_2 CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_2 Writer Parameters
DEFAULT_MACRO CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_2 300
CESIUM3DTILES_2_MAX_FEATURES_PER_TILE "$(CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_2)"
GUI RANGE_SLIDER CESIUM3DTILES_OUT_MAX_FEATURES_PER_TILE_CESIUM3DTILES_2 1%MAX%0 Maximum Number of Features Per Tile:
DEFAULT_MACRO CESIUM3DTILES_OUT_COORDINATE_SYSTEM_GRANULARITY_CESIUM3DTILES_2 FEATURE
CESIUM3DTILES_2_COORDINATE_SYSTEM_GRANULARITY "$(CESIUM3DTILES_OUT_COORDINATE_SYSTEM_GRANULARITY_CESIUM3DTILES_2)"
# ============================================================================
CESIUM3DTILES_2_GENERATE_FME_BUILD_NUM 20787
CESIUM3DTILES_2_DATASET "$(DestDataset_CESIUM3DTILES_2)"
#! END_DEST_HEADER
#! START_WB_HEADER
#! END_WB_HEADER
#! END_HEADER
LOG_FILENAME "$(FME_MF_DIR)Local Projection absolute roof values from attribute table.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
FME_NAMES_ENCODING windows-1252
LAST_SAVE_BUILD "FME 2021.2.0.0 (20211029 - Build 21784 - WIN64)"
MAPPING_FILE_ID FootprintsDEM2Cesium3DTilesBlog
DEFAULT_MACRO DATASET_KEYWORD_SHAPEFILE_2 SHAPEFILE_2
DEFAULT_MACRO DATASET_KEYWORD_CESIUM3DTILES_2 CESIUM3DTILES_2
# -------------------------------------------------------------------------
SHAPEFILE_2_READER_META_ATTRIBUTES fme_feature_type
# -------------------------------------------------------------------------
SHAPEFILE_2_COORDINATE_SYSTEM EPSG:2193
MULTI_READER_CONTINUE_ON_READER_FAILURE No
# -------------------------------------------------------------------------
MACRO WORKSPACE_NAME Local Projection absolute roof values from attribute table
MACRO FME_VIEWER_APP fmedatainspector
# -------------------------------------------------------------------------
SHAPEFILE_2_DEF 3d-building-0726 shapefile_type shapefile_polygon cid char(32) poly_id char(32) parent_id char(32) abs_h number(64,10) rel_h number(64,10)
# -------------------------------------------------------------------------
FACTORY_DEF * RoutingFactory FACTORY_NAME "Router and Unexpected Input Remover" COMMAND_PARM_EVALUATION SINGLE_PASS MULTI_READER_KEYWORD $(DATASET_KEYWORD_SHAPEFILE_2) INPUT FEATURE_TYPE * ROUTE SHAPEFILE SHAPEFILE_2::3d-building-0726 multi_reader_keyword,$(DATASET_KEYWORD_SHAPEFILE_2) TO FME_GENERIC ::3d-building-0726 ALIAS_GEOMETRY MERGE_INPUT Yes OUTPUT ROUTED FEATURE_TYPE *
SHAPEFILE_2_MERGE_DEF SHAPEFILE_2::3d-building-0726 EXACT 3d-building-0726
# -------------------------------------------------------------------------
FACTORY_DEF * TeeFactory FACTORY_NAME "3d-building-0726_SHAPEFILE_2 Splitter" INPUT FEATURE_TYPE 3d-building-0726 OUTPUT FEATURE_TYPE 3d-building-0726_SHAPEFILE_2
DEFAULT_MACRO WB_CURRENT_CONTEXT
# -------------------------------------------------------------------------
# Wipe out the source setting if it was untouched from the default setting
DEFAULT_MACRO Reprojector_SOURCE "Read from feature"
INCLUDE [if { {Read from feature} == {Read from feature} } { puts {MACRO Reprojector_SOURCE} } ]
FACTORY_DEF * TeeFactory FACTORY_NAME Reprojector INPUT FEATURE_TYPE 3d-building-0726_SHAPEFILE_2 OUTPUT FEATURE_TYPE Reprojector_REPROJECTED @Reproject($(Reprojector_SOURCE),"EPSG:4326",NearestNeighbor,PreserveCells,Reprojector,"COORD_SYS_WARNING",RASTER_TOLERANCE,0.0)
# -------------------------------------------------------------------------
FACTORY_DEF {*} TeeFactory FACTORY_NAME { 3DForcer_2 } INPUT FEATURE_TYPE Reprojector_REPROJECTED OUTPUT { FEATURE_TYPE ___TOREJECTOR___ @ZValue("0", "No", ___fme_rejection_code___) }
FACTORY_DEF {*} TestFactory FACTORY_NAME { 3DForcer_2_Rejector } INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @Value(___fme_rejection_code___) != "" OUTPUT { FAILED FEATURE_TYPE 3DForcer_2_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_2_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 [ if { ({AUTO} == {SPECIFIED}) } { puts {MACRO Extruder_2_func @GeometryType(REJECTABLE, fme_extrusion_exact,"","","")}; } else { puts {MACRO Extruder_2_func @GeometryType(REJECTABLE, fme_extrusion_exact,0.0,0.0,0.0,"@EvaluateExpression(FDIV,FLOAT,Valueabs_h,Extruder_2)","AUTO")}; } ]
FACTORY_DEF {*} TeeFactory FACTORY_NAME { Extruder_2 } INPUT FEATURE_TYPE CsmapReprojector_REPROJECTED OUTPUT { FEATURE_TYPE ___TOREJECTOR___ @RenameAttributes(FME_STRICT,___fme_rejection_code___,fme_rejection_code) $(Extruder_2_func) }
FACTORY_DEF {*} TestFactory FACTORY_NAME { Extruder_2_Rejector } INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @Value(fme_rejection_code) == "" OUTPUT { PASSED FEATURE_TYPE Extruder_2_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.847059,0.847059,0.847059" 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_2_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_2_DEF 3d-building-0726 cid string poly_id string parent_id string abs_h float rel_h float