CityGML-based City Models have been around for more than 10 years, however, recently there has been a surge in interest and demand for 3D City Models. With cheaper acquisition of remote sensed LiDAR data and with the help of smart tools like Building Reconstruction the process has never been cheaper. In addition, the open source CesiumJS has boosted access providing the ability to visualize models directly in the browser free of any plugins.
With more models comes the need for more applications to put the data to use. With its wide range of supported 3D Formats and tools, FME Server is an excellent tool for quickly creating both generic and user-specific processes. At Virtual City Systems, we have created several FME-based applications and want to share some of our workflows with interested parties.
2. FME
User
Conference
20
22
Matt Smillie
FME Guy at Virtual City Systems (VCS)
● Two years in public sector (Geology data)
● Two years as Safe Software (Various)
● Four Years at VCS (XML/GML, 3D, BIM, Raster, Web)
● 6 Years (almost) exclusive FME user
linkedin.com/in/mattsmillie
4. 20
22
FME
User
Conference
Virtual City Systems
• Developed an ecosystem of tools to support the
creation, maintenance, web visualisation and usage
of city models (VC Suite).
• Founded in 2005
• Based in Berlin, Germany
• A strong focus on CityGML
• CesiumJS
• website: vc.systems
5. 20
22
FME
User
Conference
Drowning in formats
• Shapefile, DWG/DXF, CityGML,
CityJSON, ICF, Geodatabase, LAS,
ECW, GeoTiff, PNG, GML…
• Must all be converted (and mapped!)
• No out of the box support for
complex applications or visualisation
Data providers and municipalities can vary
significantly in what they create (in format
and schema)
6. 20
22
FME
User
Conference
If have to choose, make it CityGML
● CityGML is more than GML, it’s a
data model
● Open standard
● fixed and standard base schema
● More adoptions means more
applications and use cases
● Can be extended
● Has an XML/GML version
● Has a database version
● Has a JSON version
….yeah I know it’s complex but:
7. 20
22
FME
User
Conference
If have to choose, make it CityGML
● fewer formats/data models means
less focus needed on data
exchange
● Develop once and maintain
● “Plug and play”
● Still - CityGML is not perfect
CityGML lets us provide out-of-the-box tools
10. 20
22
FME
User
Conference
Building dimension
calculator/explorer
• Creates 3D labels and calculates dimensions.
• Crude self made 3D Label method.
• Uses highly available FME Cloud to run workspace.
• Input is 3DCityDB (CityGML in Postgis).
• Outputs three.js web app (S3), 3DPdf and excel file
with the numbers.
• Delivers email result and link.
• Used by contractors to determine rough estimates
for materials - paint, roof tiles etc.
• Requires CityGML Data Model
• examples: https://soest.virtualcitymap.de/#/
https://bottrop.virtualcitymap.de/#/
11. 20
22
FME
User
Conference
Building dimension
calculator/explorer
• BuildingAnnator on FME Hub
• Core challenges
• Merging collinear lines in 3D
• Identify line types (e.g., ridge line,
eaves)
• Rotating to plane surface (and
correctly oriented)
• aligning label to be On a surface
rather than floating in space
• scaling (and filtering) labels for small
feature
13. 20
22
FME
User
Conference
Support City Planning:
3D Upload
• Generic(ish) 3D Format support
• Drag and drop
• Projected or unprojected
• Uses highly available FME Cloud to
run upload (minimal queuing).
• Outputs GLTF 2.0
• Asynchronous
• DataUpload>JobSubmitter
viewer.autodesk.com
lindau.virtualcitymap.de
14. 20
22
FME
User
Conference
Support City Planning:
3D Upload
Core Challenges:
• Getting consistent appearances (PBR
Rendering)
• Handling multiple projection types
• Supporting projection info if
present
• move to origin if not
• Handling ground height
• Geometry issues
• Vector features (e.g., 2D CAD)
viewer.autodesk.com
lindau.virtualcitymap.de
15. 20
22
FME
User
Conference
Moving to origin
_xmax/_ymax: 25
_xmin/_ymin: -25
Assume local coordinate system
Unknown real world location
No movement of geometry
x
y
x
y
_xmax/_ymax: 75
_xmin/_ymin: 25
Assume local coordinate system
Unknown real world location
No movement of geometry
_xmax/_ymax: 10000
_xmin/_ymin: 10000
Assume projected coordinates
Unknown real world location
Move geometry to be centered
on origin
_xmax/_ymax: 10000
_xmin/_ymin: 10000
Coordinate system known
Move geometry to be centered
on origin
Communicate LatLong of origin
● GLTF 2.0 uses float 32bit coordinates
● Lose precision when coordinates are large
● Each model needs to be in its own local coordinate system
● Several scenarios to be supported
17. 20
22
FME
User
Conference
Sharing with a clip and
snip: 3D scene export
• Export a 3D scene for use in external software
• Try to preserve CityGML data model in output
where possible
• Try to support as much of the scene possible:
• CityGML from 3DCityDB (RDS)
• TMS, WMS basemaps (Cloud hosted)
• Terrain (Cloud hosted)
• GeoJSON (Cloud hosted)
• GLTF Models (Cloud hosted)
• No 3DTiles yet :-(
• Vector formats and 3D formats
• Triggered by REST call and result delivered as
download link in email
https://soest.virtualcitymap.de/#/export
18. 20
22
FME
User
Conference
Sharing with a clip and
snip: 3D scene export
Core Challenges:
• Consistency between 3D web map and
3DCityDB
• Getting data from the 3DCityDB
• Fetching the and texturing the terrain
• Performance
• Vector vs Surface
• Deciding on geometry structure/grouping for
each supported format
• dynamic schema (even at the feature level)
• Handling all the options
• it’s a really big workspace…
https://soest.virtualcitymap.de/#/export
20. 20
22
FME
User
Conference
Please Share Your Session Feedback
Log in & navigate to the
agenda. Select the
session you attended
Scroll down to “Session
Feedback”
Download EventMobi app
Event code: fmeuc
Click “Launch App”
Fill out the survey
and submit