Over the past week we have been looking at Point Clouds and Scale Factors and Import Options to solve an issue we had with the Point Cloud Processor command. People were reporting that after processing a point cloud, in some cases the decimated / reduced point cloud shifted when compared to the original point cloud.
The issue comes down to the projects Grid to Ground scale factor and how the project is defined. Here is some background.
The Point Cloud scans of TBC are held in what is called a container. The container can have a single scale factor that is computed by TBC and that is applied to all point cloud data imported into the project. Note that the Scale Factor is adjusted when numerous point clouds are imported, to utilize the centroid of the overall point cloud data to determine the best scale factor for the project based on its average / mean elevation above sea level and its position in relation to the defined coordinate system (projection and datum). On a large project, as you add scan data that covers the entire area of the project, the scale factor will adjust as you add each point cloud (of some of the types outlined below).
The scale factor is accounting for the difference between Ground distances and Grid distances. A Grid Distance is the distance between two points in the defined coordinate system e.g. State Plane, Colorado North, NAD 83. The Ground Distance is the physical distance between the two points measured with eg a Tape measure or a total station. Scale factor is affected by height above sea level, because the Ground distances between two points will be greater the higher they get above the ellipsoid used to define the earth surface (~sea level). In TBC a project can only have a single scale factor. It can be 1.00 or a scale factor e.g. 0.9996xxxxxx.
When you import e.g. a LAS file (drone point cloud file or scan file) you will be asked the following question
Selection of the right answer is going to be important, and the right answer will be dependent on
a. How your project is setup with respect to coordinate system and scale factor
b. How the data file that you are importing was created and saved by the source software
The data file in the source file could be defined in any of the following ways
Georeferenced or Non Georeferenced Coordinates
A Georeferenced Point Cloud is a point cloud where the coordinates in the file are meaningful in the coordinate system of the project directly. e.g. data from an SX10 or SX12 scanner will typically be Georeferenced.
A Non Georeferenced Point Cloud is a point cloud where the coordinate data in the point cloud is spatially correct in a relative sense, however is not orientated or positioned in the coordinate system of the project. e.g. data from a TX8 scanner will typically be Non Georeferenced.
Non Georeferenced scans will need to be referenced inside TBC to bring the scans into a common alignment based on the projects coordinate system. Georeferenced scans should drop into the project coordinate framework in the correct location and orientation. Depending on whether the files coordinates are Grid or Ground scaled and whether the project has a scale factor or not will dictate whether they fit the project coordinate system correctly or not.
- A terrestrial scanner that is setup on a project in an arbitrary location and told to scan collects “coordinates” in a point cloud that is non georeferenced and ground scaled.
- A scanning total station like an SX12 can be setup in a known or unknown location and can be oriented using a known or free station calculation and will record coordinates in a point cloud that is georeferenced and can be grid or ground scaled depending on whether or not a scale factor in the data collector is being applied.
- A Drone flight will capture photos and those photos will capture the locations of Ground Control Points that are used to compute the point cloud in the photogrammetry process. Those Ground Control Points will typically be defined in a Grid Coordinate System (State Plane) and therefore the computed point cloud will typically be Georeferenced and Grid Scaled as a result.
Ground Scaled or Grid Scaled in the Projects Coordinate System
A Total Station or a Terrestrial Scanner measures angles and Ground Distances. The data collector / computer system computes the coordinates of the points in the scan. The data collector can define a coordinate system and a scale factor and can reduce the ground distances to grid distances and store grid coordinates. To do this the scanner should also be setup and oriented to the project coordinate system. A scanner like an SX10 or SX12 can do this, A scanner like the TX8 that has no referencing process simply scans and stores a Ground Scaled coordinate point cloud that will need georeferencing and scaling to fit the project coordinate system.
A Drone Flight captures images. Those images capture the locations of the Ground Control Points. The Ground Control Points will typically be coordinated to the Project Coordinate System. They are therefore Georeferenced and Grid Scaled. The Point Cloud derived from the photos will typically be Grid Scaled and Georeferenced as a result.
Grid Scaled in a Different Coordinate System to that of the Project
If a point cloud was derived by a third party software and that software utilized a different coordinate system to that of the TBC project, then you will need to know the coordinate system that was used in the third party software so that the point cloud can be transformed into the Projects coordinate system during import.
Unknown
If you select “Point Cloud from an unknown source” then the file will be imported, its coordinates will be read as is and will not be scaled during import. The point cloud imported will not be used in the determination of the project scale factor and will be unaffected by the TBC project scale factor.
If you do not know how the source data was defined, it is worth asking the source the following questions
- Is the point cloud being provided Georeferenced or not
- Is the point cloud defined in a coordinate system - if Yes can you provide the coordinate system information
- Is the point cloud Scale Factor adjusted from Ground to Grid - If yes what scale factor was used
- Is the point cloud created from terrestrial scanners, drone photogrammetry or drone lidar or other method (multibeam bathymetry etc.)
If you cannot determine the answers to the above, then you will need to work this out for yourself by trial and error - to check your data you are going to need to be able to check some points that show up in the point cloud data / aerial imagery etc. provided
Additional Notes
It appears that there are numerous options available in different commands of TBC that allow you to manage this in some cases, and in others it appears that the Import / export does not give you options so you have to be careful to make sure that all your data jives.
One example is the Point Cloud Import shown above. This provides controls that determine whether or not a LAS file is scale adjusted on import or not. i.e. if my project has a coordinate system and a scale factor and the option Grid Scaled in the Project Coordinate System is selected, the point cloud will be imported as is and will only be adjusted if the projects coordinate system scale factor is modified by the new data addition to the project (because it changes the centroid of the data that adjusts the scale factor because of a mean elevation change or a mean position change of the centroid location.
Another example is if my project has a coordinate system and a scale factor and the option Grid Scaled in the selected coordinate system is chosen - the user then selects the source coordinate system - TBC will compute the transformation between the source and project coordinate system and adjust the coordinates and scale factors accordingly.
However we have found that the PTS file exporter from Point Cloud Exports allows you to select Ground or Grid during export. If you select Ground, TBC will scale up the coordinates in the selected point cloud data and write the PTS file in Ground coordinates. If you select Grid then TBC will write the point cloud data with the same grid coordinates that it has for them in the TBC project. If you then elect to import that PTS file back into the same project, the importer does not let you define whether the source is Grid or Ground scaled - so if you import it from the Grid export, that will be scaled by the project scale factor creating a shift in the data. If you import the ground exported file, it will be scaled by the project scale factor and end up in the correct place.
So the Grid Ground variations on files are extremely important when it comes to point clouds and understanding these key properties of Grid vs Ground and Georeferenced vs Non Georeferenced will help you make the right choices as you work with this type of data.
Hope that this helps
Alan