FME Version
Files
Introduction
For any spatial project it is essential for all data sets to be set to the same coordinate system. When point cloud data is collected, it is set to the coordinate system that the scanner is set to. If this coordinate system is different than the other data files you are using, you will end up with faulty results. Geocentric or geographic coordinate systems are often used to collect point cloud data, but are too broad or generalized when used to represent rather small areas. Construction projects, for example, are relatively small and will often use local coordinate systems for projects to ensure that measurements are made accurately. Local coordinate systems are connected to geocentric and geographic coordinate systems via geometric transformations. Using three simple transformers in FME: Offsetter, Rotator, and Scaler, we can manipulate a point cloud so that it begins in one coordinate system and ends in another.
Before attempting to manually reproject your data into a new coordinate system, it is worth checking if the coordinate system is available in FME’s Coordinate System Gallery. To check, click on “Tools” in the menu bar and then click on “Browse Coordinate Systems…”. If the needed coordinate system is available, it will be much easier to just use the CsmapReprojector transformer to reproject your data rather than doing it manually.
Visit the documentation page on LiDAR and Coordinate Systems to learn more.
Standard to Local Coordinate System
This example shows how we can transform data from a standard coordinate system to a local coordinate system before further manipulation and analysis. The transformations demonstrated in the example are exemplary and are not associated with a particular coordinate system. They are just example variables to help explain the process of how a transformation can be done. The steps are as follow:
- Use the ASPRS LAS Reader with default parameters to read the input LAS data file.
- Connect an Offsetter. A local coordinate system will likely not align perfectly with a standard coordinate system. For this reason, an offset may be used. In this example we will change the “X Offset” to -2240000 and the “Y Offset” to -680000 to account for this.
- Add a Rotator transformer to the Offset output. Similarly, the angle of the local coordinate system will be different than the standard coordinate system. We will change the Rotator parameters so that “Rotation Angle (degrees)” is set to 45 and both the “X Origin” and “Y Origin” are set to 5000.
- Now connect a Scaler transformer to the rotated point cloud. Set the Scale Factors as X:2, Y:2, and Z:1. Since we are going from a standard or global system to a local one, we will want to “zoom in”. In this case, we are not concerned about the Z or vertical coordinates.
- A newly scaled point cloud can now be written using an ASPRS LAS Writer with default parameters and viewed in the Data Inspector.
The images below show what the original point cloud looks like (left) and how the transformed point cloud looks like with the coordinate adjustments (right).
Further Comparison
Although visually the only difference that we can recognize between the standard coordinate system and the local coordinate system is the rotation, we can look at the coordinate values to see other major differences. Below we can see how the extent values changed from the original standard coordinate system to the local coordinate system.
Standard Coordinate System
Local Coordinate System
Based on the changes that were done, we can see that there were some major changes made to the X and Y values of the extents (we did not alter the Z values). Below the table shows how the coordinate values change for the minimum extents from the start (standard coordinate system values) to the end (local coordinate system values).
X | Y | |
Standard | 2240000 | 690000 |
Offset (-2240000,-680000) | 0 | 10000 |
Rotate (by 45°) | -5605.6 | 5000 |
Scale (x2) | -11213.2 | 10000 |
Local to Standard Coordinate System
This workspace will demonstrate how to do the reverse of the above example. Our input data will be set to the local coordinate system that we created and will be transformed back into the original standard coordinate system.
- Use the ASPRS LAS Reader with default parameters to read the input LAS data file.
- Connect a Scaler transformer to the reader. Set the Scale Factors as X:0.5, Y:0.5, and Z:1
- Add a Rotator transformer to the Scaled output. Change the Rotator parameters so that “Rotation Angle (degrees)” is set to -45 and both the “X Origin” and “Y Origin” are set to 5000.
- Connect an Offsetter. Change the “X Offset” to 2240000 and the “Y Offset” to 680000.
- A newly scaled point cloud can now be written using an ASPRS LAS Writer with default parameters and viewed in the Data Inspector.
Custom Coordinate Systems
If there is a coordinate system that you feel that you will likely need again or is a coordinate system that others may need, it may be useful to create a custom coordinate system. This shared resource may be re-used in the future as it will appear in the Coordinate System Gallery after being created. The process of creating a custom coordinate system is more complex than simply offsetting, rotating and scaling a point cloud, however, if this reprojection will need to be done frequently with many datasets in the future, it may be worth the time.
To learn more about how this can be done, please refer to the About Custom Coordinate Systems documentation page.
Data Attribution
- The data from these exercises originates from data made available by the Ohio Geographically Referenced Information Program. The GIS Support Center maintains enterprise and site licenses for commercial data sets that are supportive of the Ohio Enterprise.
Comments
0 comments
Please sign in to leave a comment.