arcgis add-in development in python and c# for lidar product quality control

13
ArcGIS Add-in Development In Python and C# for LIDAR Product Quality Control Tools Developed by David Eliseo Martínez Castellanos For The Salvadoran Ministry of Environment and Natural Resources (MARN)

Upload: david-eliseo-martinez-castellanos

Post on 16-Jul-2015

295 views

Category:

Software


0 download

TRANSCRIPT

ArcGIS Add-in Development

In Python and C# for LIDAR Product Quality Control

Tools Developed by

David Eliseo Martínez CastellanosFor

The Salvadoran Ministry of Environment and Natural Resources

(MARN)

Background: El Salvador’s LIDAR survey

“Digital elevation data which describes El Salvador’s landforms and seabed is crucial for

addressing issues relating to the impacts of climate change, disaster management, water

security, environmental management, urban planning and infrastructure design.”

“The intent of this project is to support MARN throughout the El Salvador National Territory with

more accurate data by the generation of Digital Elevation and Surface Models using the Laser

Imaging Detection and Ranging (LIDAR) technology, and with multi-spectral orthoimagery. The

project requires the collection and delivery of high-density LIDAR data and digital imagery for

the totality of El Salvador.”

From El Salvador National Lidar & Orthophotography Specifications and Tender Template.

To help in the Quality Control Workflow of the LIDAR Survey, some software tools where

developed, including ArcGIS Add-ins, using both Python and the ArcObjects .Net SDK with

C#, this tools are integrated with a PostgreSQL Database.

The complete Quality Control methodology will be documented later, here we talk about

the tools [my participation].

Database Support

As part of the tool Development to support the Quality Control of the LIDAR

products, a Database was build on a PostgreSQL Server with PostGIS Spatial

Extension.

This database stores:

• The geometries of sample LAS tiles received

• A table of the storage path of each tile, to be used on a loader tool.

• LAS header and statistics for each tile

• Tables to store the results of quality control for each product and each tile.

Some of the quality control criteria are evaluated by programs (automatic

check) and some are evaluated by a GIS technician.

• Spatial table to store polygons to be drawn over defects on the LIDAR

products.

Loader tool

Each GIS technician is provided with a tiles shapefile containing the set of tiles to

be checked and the set of LIDAR products corresponding (DEM, DSM, LAS, etc.).

The tool allows the graphical selection of the product to check. This tool was

developed using Python

Check Toolbars

For each product there is a toolbar with a dropdown selection for each criteria.

GIS technician selects if the product complies or not with the evaluation criteria.

This information is stored un the database, including the id of the technician and

revision time [tools also developed in Python]

Check Toolbars

Each LIDAR product has its own check toolbar, showing the criteria to be evaluated by

a GIS Technician, the database contains more criteria for each product that are

automatically checked by a program [cell size, data type, spatial reference, etc.]

LAS information [header and statistics] Query Tool

Allows user to query the

LAS header and statistics

from the database.

Retrieves information for

the current selection.

The component is a

dockable window

developed with

ArcObjects .Net SDK

using C#.

LAS information [header and statistics] Query Tool

The tool allows to query

the results of automatic

revision criteria,

[complies, no complies]

retrieving LAS header

and statistics and

selecting the

corresponding tiles, this

can be combined with

the loader tool for

further check of such

tiles.

LAS information [header and statistics] Query Tool

The tool allows query by

SQL WHERE definition,

returning LAS header and

statistics and selecting the

corresponding tiles. The

example shows the results

for “classes like ‘%(9)%’”

LAS information [header and statistics] Query Tool

The tool also allows

the selection of the

fields to return on

the result.

QC Editor: ArcMap Custom Editor developed for the Quality Control process

As part of the QC

Process GIS

technicians are

required to mark the

areas where there is a

defect on the

products. Initially this

was done using the

standard Editor

toolbar, but to simplify

the work for the

technician a custom

Editor was made for

the QC shapefile and

also stores the data in

the database

including geometries.

QC Editor: ArcMap Custom Editor developed for the Quality Control process

When the user presses

the apply button,

changes are

simultaneously

applied to the local

shapefile and the

database server. This

tool was also

developed using

ArcObjects .Net SDK

with C#

What is next?

The project is currently on going. User feedback is expected and we will look for

ways to improve the process.

Next is the development of tools to manage all data products and make them

accessible to Salvadoran people, decision makers, planners, etc. More is to

come.

THANKS!

David Eliseo Martínez Castellanos

Software Developer

MARN El Salvador

[email protected]

[email protected]

Linked-in:sv.linkedin.com/pub/david-eliseo-martinez-castellanos/35/71b/7b5/