On June 23 I was present at the 2017 edition of Geomatics Day. This event was organized under the master course "Geomatics for the Built Environment," from which I graduated last year. The event took place in the beautifully renovated building of the Faculty of Architecture at Delft University of Technology and focused on bringing Geomatics students into contact with other students, alumni, and geo-information professionals. Tensing was one of the sponsors of the event, and in return was given the opportunity to give a presentation during the afternoon.
As a former Geomatics student, I had the honor of giving this presentation on behalf of Tensing. Because the theme of Geomatics Day 2017 was "Point Clouds and the Internet of Things," I decided in this presentation to go back to a workshop that Martin Koch had given in May, also at TU Delft during the Geomatics study. This workshop, in which I participated, was about the use of FME and web sockets. I noticed that the students came with many questions about the use of FME for working with and processing point clouds. During my time as a student in this field of study, I was also involved in a number of projects where point clouds had to be processed. We did not use FME for that purpose at the time, so these questions aroused my interest: is FME suitable for processing point clouds? I decided to do some research on this, and then presented it on Geomatics Day with the catchy title "Wizards and Point Clouds."
Since I did not have experience with the processing of point clouds in FME, this was a serious task for me. Using various search engines — and with useful tips from Safe Software — I was able to put together a nice presentation. In this blog post I give a short summary of the presentation and address the general functionality of FME for working with point clouds; I also present a few interesting use cases.
DATA TYPES AND DATA TRANSFORMATIONS
One thing FME is known for is the large number of data types that it supports (300+). If we talk about the number of acceptable file formats that are supported when working with point clouds, we include at least the following:
LAS (LAZ, zLAS)
RIEGL Laser Scan Database RDB
Z+F LaserControl ZFS
CARIS Spatial Archive
Cesium 3D Point Cloud
The simple fact that FME supports so many different data formats is, of course, a very strong feature. This not only makes it easy to load point clouds in many different formats into FME, but also to combine these point clouds with other types of data. To subsequently perform operations on the loaded point clouds, FME has hundreds of so-called transformers, a large percentage of which are also suitable for use with point clouds. In addition, there are about twenty transformers specifically designed for use with point clouds. And if all this is not enough functionality, then there are also 'wrapper transformers' available for LAS tools on the FME Hub. All in all, this is evidence of extensive functionality for working with point clouds.
A NUMBER OF USE CASES
Based on the above, we can safely conclude that FME has extensive functionality for working with point clouds. It goes without saying that, using this functionality, a whole lot of simple as well as more-complex use cases can be developed. A number of interesting, and also commonly used, use cases are described, complete with demos, on the Safe.com website. Consider the possibilities:
You can create a 3D model for use in ArcGIS, by combining LiDAR scans with various other types of data and generating DEMs and TINs.
You can simulate flooding by performing point-by-point mathematical equations.
You can generate Minecraft worlds. FME has a Minecraft writer, which makes it possible to transform your LiDAR data into a Minecraft world, using FME. An example is described here.
MAKING AN IMPRESSION ON THE STUDENTS
It is of course fantastic that there are such beautiful use cases about using FME with point clouds, but for the presentation that I was going to do on Geomatics Day I wanted to show something that I had actually made myself. That is of course much more interesting to look at! Since I didn't have a lot of time for the presentation, I decided to prepare two relatively simple use cases in which I used local LiDAR data from the area of the TU Delft campus.
GIVE COLOR TO YOUR POINT CLOUDS!
In many cases the raw point cloud — for example, from LiDAR measurements — does not contain any color information. It goes without saying that such point clouds are very suboptimal for visualization purposes, because all points are simply white or black or whatever color you choose. An option is to color the point cloud based on the classification (if available) or based on the altitude values, but this still gives a fairly abstract picture.
Figure 1. Raw LiDAR point cloud without color.
Figure 2. An orthophoto of the same area.
Fortunately, FME makes it very easy to add color to your point clouds by combining it with an orthophoto of the same area with the PointCloudOnRasterComponentSetter. All you need for this is the following workspace:
The result is a beautiful colored point cloud in which individual buildings and other objects are very recognizable. Such a point cloud is of course much more suitable for visualization purposes!
VIEW YOUR POINT CLOUDS THROUGH POTREE
There are many different programs with which point clouds can be visualized, not the least of which is the excellent FME Data Inspector. Another viewer specifically designed for use with point clouds is Potree. This is a viewer based on WebGL, which makes it possible to simply view point clouds in your browser. Using Potree is very simple in FME, by reading the point cloud data and then using the LAStoolslaspublish wrapper transformer.
Executing this workspace results in a folder with a number of files, including an .html file:
Now you can simply open this html file in your browser (for example Microsoft Edge) to view the uploaded point cloud in the Potree viewer:
The great thing about this is that you can view this point cloud locally on your own system, but you can also upload the files to your web space so that others can view the point cloud via the internet. Of course, uploading these files to your web space can also be done with FME, which makes it possible to process your point cloud and upload it automatically so that others can view it.
I AM CONVINCED…
The functionality and use cases that I have described in this blog, of course, only form a basis for what is possible in terms of point clouds in FME. However, I am convinced that FME is a very good tool for use with point clouds, and I am certainly going to spend more time further exploring this powerful tool so I can be ready to do a real project with it in the future.
View the links below for more information about using FME for point clouds, and about FME licenses. For home use, FME is often free to try!