Developing imagery driven application workflows with Geomatica, ArcGIS and Python

49
Imagery driven applications with Geomatica, ArcGIS and Python Kevin Jones - Vision Géomatique Nov 13, 2014

Transcript of Developing imagery driven application workflows with Geomatica, ArcGIS and Python

Imagery driven applications with

Geomatica, ArcGIS and Python

Kevin Jones - Vision Géomatique

Nov 13, 2014

Outline

• Imagery is more than a basemap

• The Geomatica Platform

• Advantages of working with Python

• Geomatica and ArcGIS Python APIs

• Sample Script/Demonstration

Background

PCI Geomatics has been a leader in developing

software for processing and analyzing remotely

sensed data for over 30 years!

Get More From Imagery

What are we best known for?

Software for ortho/mosaic of remotely sensed images

We make it possible for users to “get the geometry right”

Making “basemaps”

Typical image/basemap

Get More From Imagery

Is there more being done with imagery?

Yes!

Imagery CAN BE more than a basemap.

How can PCI and partners can leverage this, and

Get More From Imagery?

Agricultural Information

Elevation Information

Forestry Information

3D City Information

Maritime Information

What Does PCI Provide?

• We provide a solid environment to make it

possible to get this information• Proven science, algorithms (550+)

• Desktop / Server / Cloud

• Development Platform based on Python

What Can You Do?

• Understand customer challenges and leverage the

platform

• Develop Purpose Built Solutions (apps) that address

these challenges

• Replicate the solutions by vertical market, in different

geographies

• Create different vertical market apps

Geomatica Platform

Automation

Integration

Customization

Extension

$?X

A Purpose-Built Solution

DEM Extraction

Ingest Datasets

Cacl Diff DSM

Extract Stockpiles

CalcVol.

Map

Stereo

Imagery

AutomationIntegration

Create new user interface?: Customization

The script that made this possible

Increasing Revenue Together

Needs a solution Imagery Software

+ Custom

solutionOne time deal,

limited revenue

=

Many need the

same solutionImagery Software

+Build a

repeatable

SolutionIncreased revenue

potential

=

Multiplier Effects of The Platform

Revenue potential ‘x’

Replicate in

other geographies

Innovative solutions (apps)

Partnerships

Revenue potential

‘x times n’

PCI Geomatics

Geomatica 2014 release includes a new

Python API for our more than 550 geospatial

processing and analysis algorithms

Platform

Geomatica & ArcMap as Platforms

Geomatica & ArcMap Platforms

PCI’s geoprocessing algorithms can now be

inserted directly into your ArcGIS workflows

22Private and Confidential

Geomatica – Powerful image and raster

processing and analysis tools

ArcGIS - Powerful vector and raster

processing and analysis tools

Geomatica & ArcMap Platforms

PCI Pluggable Framework (PPFs) – PCI

Geomatica’s geoprocessing functions that can be

accessed by python

ArcToolBox - esri’s ArcGIS geoprocessing functions

that can be accessed by python

Geomatica & ArcMap Platforms

Using libraries from Geomatica and

ArcGIS increases the capability and

power of your automated workflows

ArcGIS

FunctionGeomatica

Function

ArcGIS

Function

Geomatica

Function

Python Script

Geomatica & ArcMap Platforms

Python acts as the glue that connects

ArcGIS and Geomatica functions

together

ArcGIS

FunctionGeomatica

Function

ArcGIS

Function

Geomatica

Function

Python Script

Geomatica & ArcMap Platforms

The Python Advantage

The Python Advantage

• Easy to learn, high level scripting

• Growing community, body of knowledge

• Easy to create top down, logical and linear

scripts

• Also can be used to create complex

workflows

• Python serves as the glue to connect

functions between different software

packages

The Python Advantage

Python is one of the most popular scripting languages in the

Geo-spatial industry; supported by commercial and open

source packages

Geomatica & ArcGIS APIs for Python

Geomatica & ArcMap APIs

API – The API (Application Programming Interface)

provides users with instructions of how to access

objects, their attributes and call functions

Geomatica & ArcMap APIs

PCI and esri have both developed python APIs for

Geomatica and ArcMap, respectively.

These APIs make it simple for users to pass

parameters and launch algorithms within a python

script

Geomatica & ArcMap APIs

ArcPy – Important to note that the ArcGIS x64 background

processes must be installed and used if you want to

incorporate PCI’s python library in your script - PCI’s library is based on 64bit code

- Must use the same bit-depth in the same script

Geomatica & ArcMap APIs

ArcPy - esri’s ArcGIS python API used to import ArcGIS’s

python library

Geomatica & ArcMap APIs

pciPy– PCI Geomatica’s python API used to call PCI

Pluggable Functions (PPFs) that can be accessed by python

Custom Python Script Demo

ArcMapGeomatica

Custom Script Demo

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

Extracted From Stereo Pair

1

Stereo Pair

2

Stereo Pair

3

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

Mosaicked

DSM

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

Possible Billboard Locations

DSM used to determine visibilelocations from each point

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Custom Script Demo

ArcMapGeomatica

Generate

Epipolar PairsExtract

DSMs

Visibility

Analysis

Intersect

AnalysisMapping

Available Resources

GitHub – Sample code

• http://github.com/PCIGeomatics

Cookbook – Code snippets• http://pcigeomatics.github.io/PCI-Geomatics-Cookbook/

Tutorials – PCI Website• http://www.pcigeomatics.com/resources-support/geomatica/tutorials