X

NV5 Geospatial Blog

Each month, NV5 Geospatial posts new blog content across a variety of categories. Browse our latest posts below to learn about important geospatial information or use the search bar to find a specific topic or author. Stay informed of the latest blog posts, events, and technologies by joining our email list!



Using ENVI and IDL Agents with Your Own API Keys

Using ENVI and IDL Agents with Your Own API Keys

6/22/2026

Earlier this year, we introduced the ENVI® Agent and IDL® Agent to bring intelligent, AI-driven automation to your geospatial and data science workflows. If you missed the launch, you can catch up on the full breakdown by watching our release webinar. Both agents are built upon GitHub Copilot, a powerful AI orchestration... Read More >

What We're Looking Forward to at Esri UC 2026

What We're Looking Forward to at Esri UC 2026

6/16/2026

Every year, the Esri User Conference brings together thousands of geospatial professionals to explore new technologies, share ideas, and learn how organizations are solving complex challenges with GIS. For many members of the NV5 team, attending Esri UC is an annual tradition. Some have attended for more than 15 years. Others will be... Read More >

New ENVI Agent, IDL Agent, and GeoAgent Quick Guides

New ENVI Agent, IDL Agent, and GeoAgent Quick Guides

6/9/2026

The recent release of ENVI® Agent, IDL® Agent, and GeoAgent™ revolutionize how users interact with geospatial software. These agentic AI applications act as partners to plan, simplify, and execute complex workflows. Knowing where to start can be challenging for new users. To this end, we developed three new quick guides to... Read More >

Introducing NISAR Data Support

Introducing NISAR Data Support

6/5/2026

The release of ENVI® SARscape 6.3 in April 2026 includes preliminary support for NASA-ISRO SAR (NISAR) data. The NISAR mission is a joint Earth-observing satellite project between NASA and the Indian Space Research Organization designed to monitor changes in the planet’s land and ice surfaces using advanced radar imaging. It... Read More >

Monitoring Illegal Mining in the Amazon: Turning Persistent Data Into Actionable Insight

Monitoring Illegal Mining in the Amazon: Turning Persistent Data Into Actionable Insight

5/28/2026

Illegal mining over decades has constituted one of the most persistent and complex socio-environmental problems in the Brazilian Amazon. In recent years, with the increasingly intensive use of mechanized extraction, the associated environmental impacts—such as deforestation, intense soil disturbance, river siltation, and mercury... Read More >

1345678910Last
27868 Rate this article:
No rating

Programmatic Access to LiDAR Processing – A Powerful API, Not a Scary Endeavor!

Anonym

Isn’t it great when things just work? Imagine your data are delivered in calibrated and atmospherically corrected units. What if multiple data modalities were co-registered and the spatial dimensions aligned perfectly so you could begin your day by clicking on tools to start complex analyses while you make a cup of coffee?

If I had the proverbial dollar for every time this scenario occurred in the world of image analysis for commercial applications – I would definitely need to keep my day job. Don’t get me wrong, robust workflows and access to hundreds of algorithms definitely get the job done – many times 100%of the way.

But those finding a 90% solution with their COTS tools need not despair. Custom development of additional tools to fill the gap is accessible and absolutely achievable. I want to take a moment to point you to some resources that will empower you to delve into creating your own library of discrete and unique solutions. This week my focus is on the ENVI LIDAR API.

First you need to instantiate an instance of ENVI LiDAR to have access to the library:

; Create a headless instance

e = E3De(/HEADLESS)

 

Next you will need to open a .las file:

; Example of how to point to and open a .las file. 
file = FILEPATH('DataSample.las', ROOT_DIR=e.ROOT_DIR, $
SUBDIRECTORY = ['DataSample'])
lidar = e.OpenLidar(file, /DIRECT_READ)

 

Once you have your .las file in an IDL variable, go to https://www.nv5geospatialsoftware.com/docs/home.html and click through the ENVI LiDAR > Programming with ENVI LiDAR >Routines. You will see a very approachable list of routines sorted into Application Control, Data Control, and Processing where example code is included for most every routine.

Some of the commercial applications I have seen come to fruition with great success include:

  • Sub-setting the point cloud using spatial constraints around a feature of interest and exporting a new .las file for processing to only include the area(s) relevant to the project. This is incredibly useful for customers who are trying to isolate a feature that is contained across multiple .las tiles.
  • Retrieving a basemap from an image service to display beneath the point cloud. This has utility in adding spatial context to the area and also for producing a polished deliverable via the stand-alone 3Dviewer.
  • Pointing to an image utilizing the RGB information to colorize the point cloud for true color display. The ability to merge data from different modalities is powerful for obvious data display advantages, but is also useful in pixel-based spectral processing downstream.

These are just a few examples of how some commercial LiDAR customers are using the ENVI LiDAR API to extend core capabilities to ensure they are reaching a 100% solution. With the power of IDL, ENVI, and the ENVI LiDAR API , the only limitation is imagination!

Please login or register to post comments.