How to Easily Read and Write CityGML Data Using FME
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


How to Easily Read and Write CityGML Data Using FME



CityGML has the potential to broaden the amount and quality of spatial data that is available for use in 3D modelling software. Across the globe, an increasing number of cities and companies are ...

CityGML has the potential to broaden the amount and quality of spatial data that is available for use in 3D modelling software. Across the globe, an increasing number of cities and companies are building virtual 3D city models for use in various areas including urban planning, disaster management, navigation and environmental simulations. Learn how FME can help you easily convert, restructure, integrate and distribute this CityGML data to use and share in more than 300 different formats.



Total Views
Views on SlideShare
Embed Views



4 Embeds 156 151 3 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

How to Easily Read and Write CityGML Data Using FME Presentation Transcript

  • 1. FME & CityGMLHow to Easily Read and Write CityGML Data Using FME March 27, 2013
  • 2. Who Are We?  Dave Campanas Product Specialist Safe Software  Dean Hintz Senior Analyst Safe Software
  • 3. Questions are Encouraged!This morning’s Q&A Support:  Steve MacCabe Professional Services Safe Software
  • 4. AgendaCityGML Overview  FME & 3D: concepts and formats  CityGML characteristics, structure and zoom levelsFME & CityGML  Reading / Writing  Workflows  DemosExample projectsAdditional topics / what’s newChallenges, considerations, resources
  • 5. Powering The Flow of Spatial Data
  • 6. FME CapabilitiesTransform Data to Use and Share  Convert spatial data between hundreds of formats  Transform spatial data into the precise data model you need  Integrate multiple different data types into a single data model  Share spatial data with people where, when and how they need it
  • 7. TranslationFME supports reading from a wide array of data formats and types  300+ formats, with more added each year  CAD, GIS, raster, database, web, non-spatial, 3D
  • 8. Transformation Move data between formats and systems Restructure data models and schemas  Geometry  Attributes  Coordinate systems and projections Example  Derive new attribute values or construct geometry PointConnector transformer
  • 9. New to FME?  Getting started page:  Attend a weekly FME Desktop overview webinar:
  • 10. Current FME 3D Formats
  • 11. 3D Formats• Adobe 3D PDF • Google SketchUp, KML• LAS / LAZ • IFC• Autodesk 3ds • LandXML• AutoCAD Civil 3D • Oracle Spatial Object• AutoCAD DWG/DXF/RealDWG • Oracle Spatial Point Cloud• Bentley Microstation • Point Cloud XYZ• CityGML 2.0, ADEs • Pointools POD• COLLADA • Presagis Openflight• DirectX X File • VRML• Esri ArcGIS Layer • Wavefront OBJ• Esri Geodatabase • XML / GML• Free File Geodatabase API • NetCDF• Esri ShapeCAD VECTOR RASTER DATABASE BIM/3D WEB POINT CLOUD
  • 12. Poll: Which 3D formats do youcurrently work with?
  • 13. FME Tools for Tackling 3D  Format translation  Database loading and extraction  GML, XML and web service support  Schema mapping  Geometry model conversion (e.g. solid to mesh)  Geometry transformation  Geometry validation  Complex geometry support, hierarchical  Reprojection, geo-referencing, vertical datums
  • 14. Turn This…
  • 15. …Into This
  • 16. Google Sketchup
  • 17. IFC: Industry Foundation Classes
  • 18. Point Clouds / LIDAR
  • 19. Texture placement
  • 20. CityGML: Motivation An increasing number of cities and companies are building virtual 3D city models Different application areas:  E.g. Urban planning, disaster management, navigation, environmental simulations Graphical or geometric models are limited to visualisation purposes Growing need for Semantic Models to satisfy:  thematic queries, analysis, spatial data mining  Reusability -> costs reduction
  • 21. CityGML: Motivation (C) by T.H. Kolbe
  • 22. CityGML: What is it? CityGML is a data model and exchange format for virtual 3d city models Modeling of all relevant parts of the virtual city according to their semantics, geometry, topology and appearance GML 3 application schema (XML based) CityGML 1.0 is OGC Standard since 2008 Latest version is 2.0 approved in spring 2012
  • 23. CityGML | Characteristics Modularisation (Thematic Model)  Buildings, Roads, CityFurniture,… Coherence of semantics and geometry  Explicit relations between semantic objects and their geometrical representation (B-Rep) Corresponding Semantic object geometry e.g. Building e.g. Solid (C) by T.H. Kolbe … …
  • 24. CityGML | Characteristics Multi-Scale Modelling [Level of Detail]  From landscape to interior model  LOD 0 –  LOD 3 – Regional model Detailed architecture  LOD 1 – City  LOD 4 – model Interior Model  LOD 2 – City model with roof structure Source: slide from: Christian Dahmen, conterra
  • 25. CityGML | Characteristics External References  Refer to external data sources containing additional data Appearance (Textures) Application Domain Extensions (ADE)  E.g. NoiseADE Generic city objects and attributes Source: slide from: Christian Dahmen, conterra
  • 26. Thematic modules Vegetation WaterBody CityFurnitureCityObjectGroup Relief Tunnel Building Bridge © KIT – Karlsruher Institute of Technology Transportation
  • 27. FMEs support for CityGML Read and Write CityGML up to version 2.0  CityGML v1.0.0 Support for any arbitrary ADE (new)  E.g. Dutch IMGeo ADE, Noise ADE FME supports  All thematic modules  Level of Detail (LoD 0-4)  Generic objects and attributes  Non-spatial data / metadata
  • 28. FME Support for CityGML
  • 29. FME Support for CityGML:Best On the Planet!
  • 30. CityGML | Building Example<citymodel><cityObjectMember> <Building gml:id="104167"> <gml:name>A house</gml:name> <boundedBy> <GroundSurface gml:id="8b7970ee"> <lod2MultiSurface> <gml:Polygon> <gml:exterior> <gml:LinearRing> <gml:posList>3477350.98 5551112.32 … gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> </lod2MultiSurface> </GroundSurface> </boundedBy> <boundedBy> <RoofSurface gml:id="fme-gen-4c”> …</citymodel>
  • 31. Zoom levels at work Remember, this is still a single, hierarchical geometry.
  • 32. Comparison: Sketchup - Simple 34
  • 33. Comparison: IFC - Complex 35
  • 34. Comparison: CityGML – Just Right 36
  • 35. Reading CityGML Parameters  Reader Driven by CityGML Schema  Additonal ADE Schema File(s)  Ignore xsi:schemaLocation  Include Only Feature Types in Dataset
  • 36. Reading CityGML One FME Feature Type per CityGML class (object)
  • 37. Reading CityGML Building in LoD 1, 2, and 3 © KIT – Karlsruher Institute of Technology
  • 38. CityGML Inspection andReading1. CityGML in XML editor2. LOD1,2,3 examples3. CityGML themes4. CityGML geometry structure
  • 39. Riverside Building: LOD2 41
  • 40. Riverside Building: LOD3 42
  • 41. Bridge LOD1 © 3D Pilot NL data, 43
  • 42. Bridge: LOD3 © 3D Pilot NL data, 44
  • 43. Typical CityGML Workflows Data Inspection and Evaluation CityGML model generation Creating LODs 3D data generation from 2D  2.5D draping  3D extrusion Database loading BIM to GIS Export to client formats (PDF / KML)
  • 44. Key Transformers for 3D• 3DAffiner GeometryReplacer• 3DArcReplacer • GeometryColorSetter• 3DPointAdder • GeometryFilter• AppearanceAdder, • GeometryValidator AppearanceStyler • MeshMerger• Clipper • Orienter• CSGBuilder / • PointCloudCoercer, CSGEvaluator PointCloudSplitter• Extruder • SurfaceReverser• FaceReplacer • SurfaceModeller• GeometryCoercer • Triangulator• GeometryExtractor
  • 45. Poll: What are typical operationsyou need to perform on CityGMLdata?
  • 46. Writing CityGML Requirements  Good knowledge of CityGML specification, especially the UML models  CityGML specification document -  Knowledge of how to adopt UML models to FME Workbench  CityGML Readers / Writers & Tutorial
  • 47. Writing CityGML: Basics Prepare your source data Add CityGML specific attributes and geometry properties  Format Attribute citygml_lod_name  lodxSolid[1..4], lodxMultiSurface[2..4], lodxGeometry[0..5] Build relationship between features  Example: Building address Address  Use gml_id and gml_parent_id for relation  Format Attribute citygml_feature_role CityGML Model entities by FME feature types  Manually define or import CityGML entities  Import entities from an existing CityGML dataset
  • 48. Multiple Geometry:Set zoom levels
  • 49. CityGML: Important notes Use exact naming and word spelling for  Feature Types: Building ≠ building ≠ BuildinG  Attribute names: citygml_lod_name ≠ citygmllodname  Attribute values: boundedBy ≠ Boundedby  Geometry properties: lod1Solid not LOD1solid Always refer to CityGML specification Key Transformers  AttributeCreator, AttributeRenamer  GeometryPropertySetter (alias GeometryTraitSetter)  3DForcer, Extruder, GeometryCoercer
  • 50. Writing CityGML: Sample<CityModel> <cityObjectMember> <bldg:Building gml:id="UUID_13d7d225> ... <creationDate>2008-12-09</creationDate> <bldg:boundedBy> <bldg:WallSurface gml:id="UUID_50d7d286"> ... <bldg:opening> <bldg:Window gml:id="UUID_86e6b220"> ... </bldg:Window> </bldg:WallSurface> <bldg:RoofSurface gml:id="UUID_535118a1"> ... </bldg:RoofSurface> <bldg:GroundSurface gml:id="UUID_5350147b"> ... </bldg:GroundSurface> </bldg:Building> </cityObjectMember></CityModel>
  • 51. Example CityGML Workspace Building with Wall- and RoofSurface
  • 52. BIM to GIS example:IFC to CityGML Geometry model differences  CSG vs vector feature based Data model differences  object vs relational Data model gaps  Elements in one not in the other Lack of widespread industry and toolset support Massive datasets
  • 53. IFC to CityGML:Schema Mapping challenge
  • 54. IFC to CityGML:Geometry mapping challenge Source: slide from: Thomas H. Kolbe – joint work with Claus Nagel & Alexandra Stadler
  • 55. IFC to CityGML Workflow Read IFC Geometry coercion solid to surface (convert CSG geometries to B-rep geometries). Relationship resolution Schema mapping IFC to CityGML feature types and fields ID generation, LODs, format attributes CityGML object construction Validation Geo-referencing Write CityGML
  • 56. IFC to CityGML WorkspaceGeometry coercion, schema mapping and geo-referencing
  • 57. IFC to CityGML Result
  • 58. Writing Demos1. Simple translation, Sketchup to CityGML, Westminster Abbey - LOD22. Trento LOD1 – Modeling Land use3. Detailed LOD4 building model 60
  • 59. Poll: What is your biggest challengeworking with CityGML in FME?
  • 60. Real World CityGML Models EU Environmental Noise Directive Karlsruhe Zurich Geonovum, NL Nuremberg 62
  • 61. EU Environmental NoiseDirective 2002 (C) LVermA NRW 3D geodata in CityGML Noise immision maps as input for the calculaion of reported to EU noise immision maps (via WMS service)
  • 62. CityGML with Noise ADE
  • 63. 3D City Model for Karlsruhe, GermanyCity of Karlsruhe, real estate officeFacts  296.000 inhabitants  173 km² land area  85.000 buildingsComponents of the 3D city model  Terrain Model (1m) + uses  Building model LOD 1  Building model with detailed roofs and fototexturing for selected buildings (LOD 2)  Building LoD 3 (~ 50 landmarks)  City furniture  Bridges Quelle: Stadt Karlsruhe, Liegenschaftsamt
  • 64. 3D City Model for Zurich, SwitzerlandCity of Zurich, Surveying GeomaticsFacts  370,000 inhabitants  92km² total, of which 52 km² built-up area  Terrain of 370m to 1000m elevation  55,000 buildings, 40,000 propertiesProduct offering  Digital terrain model (LOD 0)  3D block model (LOD 1)  3D roof model (LOD 2) Quelle: Stadt Zürich, Geomatik + Vermessung
  • 65. City of Nuremberg
  • 66. 3D Netherlands: 3D Pilot NLIMGeo basemap from 2D to 3DSafe Involvement BIM to GIS alignment (IFC to CityGML)  Provide tools but not the alignment design Geometry Validation  currently sponsoring the open source effort CityGML data management, updates 3D data generation (from 2D) and enrichment
  • 67. Input: 2D IMGeo (3D Pilot NL) © 3D Pilot NL data,
  • 68. Output: 3D IMGeo (3D Pilot NL) © 3D Pilot NL data,
  • 69. 2D to 3D Workflow1. Read 2D CityGML with IMGeo ADE schema2. Read DTM and DSM (or LIDAR)3. Build surface model from DTM or LIDAR4. Drape 2d features on surface5. For 3d, extract max building height from DSM6. Extrude from surface to height, coerce to solid7. Set required citygml format attributes (citygml_lod_name etc) & desired styling8. Write to CityGML (IMGeo ADE schema)
  • 70. 2D to 3D GenerationWorkspaceSurfaceDraper, GeometryPropertySetter,FeatureTypeFiltering, GeometryColorSetter
  • 71. Results: 3D PDF
  • 72. 3D City Database | CityGML and KML/COLLADA Import/Export ToolExample - 3D City Model of Berlin580,000 buildings, reconstructedfrom 2D-cadastre and LIDAR-dataTextures automatically extractedfrom oblique aerial imagesSemantic information based ancadastre data - 74 -
  • 73. 3D City Database of Repository for the official 3D city model  Complete representation of topography and landscape  Data from various sources (cadastre, planning, architecture, utility networks, etc.) Usage of 3D city model for applications like  City and Urban Planning  Political Issues and Consulting, Civic Participation Basis for the Berlin 3D Spatial Data Infrastructure  Access through standardized OGC Web Services, Google Earth (KML), online streaming 3DCityDB v2 is a free and open source 3D database  to store, represent, and manage virtual 3D city models - 75 -
  • 75. Additional 3D Topics /New In FME 2013 Geometry validation, repair Analysis (VolumeCalculator) Data distribution (web formats) FME 2013 Improvements:  Smarter geometry conversion (GeometryCoercer)  Point cloud processing (PointCloudExpressionEvaluator)  Vertical datum support  Performance
  • 76. 3D GeometryValidator Checks for solids with inverted faces, dangling surfaces, unsealed solids, etc. Flag errors with meaningful attributes and geometric locations of the errors. Repair option for 3D surfaces and solids.
  • 77. GeometryValidatorTransformer
  • 78. 3D Validation - Detection
  • 79. 3D Validation - Repair
  • 80. Volume Transformer:Geometry Filter XQuery GQuery internal geometry queries based on XQuery
  • 81. Value added processing:Compute load risk Based on slope and area
  • 82. Poll: What new functionality doyou want added to FME?
  • 83. FME Server Data Distribution:3DPDF, KML/COLLADA
  • 84. Skape: 3D City Model Distribution
  • 85. Skape: Westminster Abbey view, manipulate and export 3D cityscapes
  • 86. CityGML Challenges 2D vs 3D Spatial reference systems Model vs generic inputs Attribute schema limitations (list structures etc) Geometry model differences Resolving / maintaining xlink references Texturing Massive datasets (XML files vs databases) Lack of widespread industry and toolset and viewer support 88
  • 87. Summary CityGML - Ideal for 3D modeling and data exchange FME – Ideal tool to support reading & writing CityGML with translation and transformation abilities FME Supports  up to CityGML 2.0  all levels of detail  all thematic modules  generic objects and attributes  any arbitrary ADE (new in FME 2013) Automation and enterprise services (FME Server) Committed to support CityGML and ADE evolution
  • 88. ResourcesFME Readers & Writers (CityGML Tutorial)  specifications  (Thomas Kolbe, etc)   
  • 89. 2013 FME World Tour!  40+ FME User Meetings happening world wide and one live stream  Register at
  • 90. Upcoming webinarsHow to Load Spatial and Non-Spatial Data intoTerdata using FME – April 3PostGIS 2.0 – How to Improve Interoperabilityusing FME – April 24Recorded Webinars:
  • 91. Poll: Would you like moreinformation on our freetraining options? View the offerings at: 
  • 92. We’ll Be Following Up
  • 93. Thank You! For more information, contact: Sales  Support  or (604)501-9985 ext. 278 Dean  Dave • Special thanks to Christian Dahmen of conterra