How to Easily Read and Write CityGML Data Using FME


Published on

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.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

How to Easily Read and Write CityGML Data Using FME

  1. 1. FME & CityGMLHow to Easily Read and Write CityGML Data Using FME March 27, 2013
  2. 2. Who Are We?  Dave Campanas Product Specialist Safe Software  Dean Hintz Senior Analyst Safe Software
  3. 3. Questions are Encouraged!This morning’s Q&A Support:  Steve MacCabe Professional Services Safe Software
  4. 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. 5. Powering The Flow of Spatial Data
  6. 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. 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. 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. 9. New to FME?  Getting started page:  Attend a weekly FME Desktop overview webinar:
  10. 10. Current FME 3D Formats
  11. 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. 12. Poll: Which 3D formats do youcurrently work with?
  13. 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. 14. Turn This…
  15. 15. …Into This
  16. 16. Google Sketchup
  17. 17. IFC: Industry Foundation Classes
  18. 18. Point Clouds / LIDAR
  19. 19. Texture placement
  20. 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. 21. CityGML: Motivation (C) by T.H. Kolbe
  22. 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. 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. 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. 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. 26. Thematic modules Vegetation WaterBody CityFurnitureCityObjectGroup Relief Tunnel Building Bridge © KIT – Karlsruher Institute of Technology Transportation
  27. 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. 28. FME Support for CityGML
  29. 29. FME Support for CityGML:Best On the Planet!
  30. 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. 31. Zoom levels at work Remember, this is still a single, hierarchical geometry.
  32. 32. Comparison: Sketchup - Simple 34
  33. 33. Comparison: IFC - Complex 35
  34. 34. Comparison: CityGML – Just Right 36
  35. 35. Reading CityGML Parameters  Reader Driven by CityGML Schema  Additonal ADE Schema File(s)  Ignore xsi:schemaLocation  Include Only Feature Types in Dataset
  36. 36. Reading CityGML One FME Feature Type per CityGML class (object)
  37. 37. Reading CityGML Building in LoD 1, 2, and 3 © KIT – Karlsruher Institute of Technology
  38. 38. CityGML Inspection andReading1. CityGML in XML editor2. LOD1,2,3 examples3. CityGML themes4. CityGML geometry structure
  39. 39. Riverside Building: LOD2 41
  40. 40. Riverside Building: LOD3 42
  41. 41. Bridge LOD1 © 3D Pilot NL data, 43
  42. 42. Bridge: LOD3 © 3D Pilot NL data, 44
  43. 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. 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. 45. Poll: What are typical operationsyou need to perform on CityGMLdata?
  46. 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. 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. 48. Multiple Geometry:Set zoom levels
  49. 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. 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. 51. Example CityGML Workspace Building with Wall- and RoofSurface
  52. 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. 53. IFC to CityGML:Schema Mapping challenge
  54. 54. IFC to CityGML:Geometry mapping challenge Source: slide from: Thomas H. Kolbe – joint work with Claus Nagel & Alexandra Stadler
  55. 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. 56. IFC to CityGML WorkspaceGeometry coercion, schema mapping and geo-referencing
  57. 57. IFC to CityGML Result
  58. 58. Writing Demos1. Simple translation, Sketchup to CityGML, Westminster Abbey - LOD22. Trento LOD1 – Modeling Land use3. Detailed LOD4 building model 60
  59. 59. Poll: What is your biggest challengeworking with CityGML in FME?
  60. 60. Real World CityGML Models EU Environmental Noise Directive Karlsruhe Zurich Geonovum, NL Nuremberg 62
  61. 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. 62. CityGML with Noise ADE
  63. 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. 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. 65. City of Nuremberg
  66. 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. 67. Input: 2D IMGeo (3D Pilot NL) © 3D Pilot NL data,
  68. 68. Output: 3D IMGeo (3D Pilot NL) © 3D Pilot NL data,
  69. 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. 70. 2D to 3D GenerationWorkspaceSurfaceDraper, GeometryPropertySetter,FeatureTypeFiltering, GeometryColorSetter
  71. 71. Results: 3D PDF
  72. 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. 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 -
  74. 74. EU INSPIRE: CityGML ADE
  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. 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. 77. GeometryValidatorTransformer
  78. 78. 3D Validation - Detection
  79. 79. 3D Validation - Repair
  80. 80. Volume Transformer:Geometry Filter XQuery GQuery internal geometry queries based on XQuery
  81. 81. Value added processing:Compute load risk Based on slope and area
  82. 82. Poll: What new functionality doyou want added to FME?
  83. 83. FME Server Data Distribution:3DPDF, KML/COLLADA
  84. 84. Skape: 3D City Model Distribution
  85. 85. Skape: Westminster Abbey view, manipulate and export 3D cityscapes
  86. 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. 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. 88. ResourcesFME Readers & Writers (CityGML Tutorial)  specifications  (Thomas Kolbe, etc)   
  89. 89. 2013 FME World Tour!  40+ FME User Meetings happening world wide and one live stream  Register at
  90. 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. 91. Poll: Would you like moreinformation on our freetraining options? View the offerings at: 
  92. 92. We’ll Be Following Up
  93. 93. Thank You! For more information, contact: Sales  Support  or (604)501-9985 ext. 278 Dean  Dave • Special thanks to Christian Dahmen of conterra