Monday, July 25, 2016

Assign a coordinate reference system to a LiDAR las file using PDAL

Some of the LiDAR las files I receive do not contain embedded coordinate reference system (CRS) tags. It would be nice to be able to set a CRS tag to the las file so that I don't have to choose a coordinate reference system everytime I load the file; and I found the Point Data Abstraction Library (PDAL) to have the tools to do exactly that.

To use PDAL to assign a CRS to a las file, do the following:

  1. Open up a Command prompt. Type in the pdal command:

    C:\> pdal translate -i input.las -o output.las --writers.las.a_srs="EPSG:32750"

    Note: where a_srs is the option to assign a CRS e.g. EPSG:32750

  2. To double check whether the CRS tag has been assigned to the las file, you can use the lasinfo tool from liblas, as shown below.

Monday, July 18, 2016

Volcamr New Zealand - Android app for viewing NZ's volcano webcams

Use this Android app to download and display the latest volcano camera still images from New Zealand's GeoNet at The following volcanoes can be monitored through the remote webcams: Ruapehu, Ngauruhoe, Tongariro, White Island and Taranaki.
The webcam locations are indicated as clickable markers on a Google Maps backgroud as shown below. 

Download and install this app from the Google Play Store.
Get it on Google Play

Monday, July 11, 2016

Google Mapplet for displaying Earth Centered, Earth Fixed (ECEF) coordinates

The ECEF (Earth-Centered, Earth-Fixed) coordinate system is commonly used when working with satellites, GPS, space mechanics. For more information, see the Wikipedia site at Sometimes, it may be necessary to convert between ECEF coordinates to geodetic latitude, longitude and altitude coordinates.

This Google Mapplet Show ECEF Coordinates is an easy to use tool for displaying ECEF coordinates on a Google Maps background. To show the coordinates of a location on the map, just click a point on the map, as shown in the screenshot below.

Alternatively, given an ECEF coordinate, simply type in the ECEF's XYZ coordinates in the right pane and click the Locate button. The point will be centered and marked in the map display, as shown below.

Try on this tool at this location

Monday, July 4, 2016

Set up Visual Studio to use the All-in-one Point Cloud Library PCL

Point Cloud Library (PCL) from is a powerful library for working with point clouds. But the downloadable binaries are outdated and compiling the latest source code can be a bit of a pain. Fortunately, you can get more recent all-in-one PCL binaries from this blog site for use in your projects.

Installing PCL All-in-one

  1. Just follow the instructions on the site to download and install a version of PCL e.g. PCL 1.7.2 All-in-one Installer MSVC2015 X64, for your development environment.
  2. Also download a suitable Visual Studio property sheet e.g. PCL Property Sheet, and save the file on your machine as e.g. pclPropertySheet.props.
  3. After installing, add the bin folder locations of PCL and VTK to the Windows PATH environment variable, as shown below.

Setting up Visual Studio
  1. Run Visual Studio. Select File | New | Project.
    The New Project dialog appears.

  2. Select Templates | Visual C++ | General. Choose Empty Project. Type in a project Name e.g. HelloPCL. Browse to a Location. Click OK.

    The project is created.

  3. In the top right pane, click the Property Manager tab.

    The Property Manager tab is activated.

  4. Click the Add Existing Property Sheet icon, as shown above.
    The Add Existing Property Sheet dialog box appears.

  5. Browse and select the previously downloaded property sheet e.g. pclPropertySheet.props. Click Open.

    The property sheet is loaded.
  6. Now create a new C++ source file, e.g. main.cpp.

  7. In the C++ file, type in PCL include header file(s) and classes, as shown below.

  8. Optional: the PCL headers and classes may display wavy red under lines. If so make sure you are working in the correct configuration. In this example, the environment is for x64. Change the configuration to x64 from x86.

    Visual Studio now recognizes the PCL headers and classes