Post on 24-May-2015
description
transcript
© ERDAS, Inc. A Hexagon Company. All Rights Reserved
Tools for the
GeoWeb
Bradley C SkeltonHyderabad, February 13 2009
2
The Old Silo’s are Dissappearing…
The „Silo‟ effect of departments not working together to share data
resulting in disconnected workflows and redundant mapping....
PhotogrammetryDepartment
Remote SensingDepartment
GISDepartment
ITDepartment
…As Enterprise Systems Develop.
SOA Services Platform
Decision Support & Applications
OGC Bus
LBS
Services
OLS
Geocoding
Routing
Directory
Gateway
Sensors
Services
SensorML
SCS
SPS
WNS
GML
Catalogs
Services
CS-WDublinCore
ebRIM
ISO19119
ISO1915
Know-
legde
Services
CS-W2
WMC
Onthology
Symbol cat
SLD
e-busi-
ness
Services
ebXML
geoDRM
WSS
WPS
GIS
Services
WMS
WFS -gml
WCS
SLD
FE
Others
……
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 4
Such As…(2006) EC-EUSC
(2003) EC-ACE/GIS
(2004) Luxembourg ACT
(2005) Danemark KMS
(2007) Norway KSAT
(2002) EC-NGIS
(2005) Holland AGI
(2004) UK OS
(2000) France BRGM
(2001) Eurocontrol
(2002) Hutch Telecom
(2006) Mercedes
(2001) United Nations
(2006) GEOSS (prototype)
(2004) Abu Dhabi (prototype)
(2006) NSDI India (prototype)
EC INSPIRE SDI
Lulea
WFSWMS
W-
Hungary
WFSWMS
VUGTK
WFSWMS
JRC
WFSWMS
Cemagref
WFSWMS
IONIC
Software
WFSWMS
Gazetteer (IONIC)
Catalog (IONIC)
Gazetteer CS/W (WRS)
Catalog ClientWeb Map viewer
Prov.
Liguria
WFSWMS
OGC Bus
Others
WFSWMS
(Opensource)
Apollo Is One Such System
Ionic Software s.a.
Apollo
Solution Toolkit
Apollo Services APIs…
• Geometry API
• Index Administration API
• Queryable API
• Pyramid Management API
• Image Archive Service API
• JAXR API
• Style Layer Descriptor API
• Web Mapping Service API
• Web Feature Service API
• Web Coverage Service API
• Coverage Permission API
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 7
The Geometry Data Model
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 8
Create a Geometry
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 9
The Indexer (Catalog) API
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 10
Architecture of a Web Application
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 11
• Java Script Browser Side Compnents
• Java Server Side Components
• JSON Messages
Building a Simple Web App…
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 12
Create the Map and Navigation Bar…
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 13
Produces this result…
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 14
Controlling Layers
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 15
A Catalog Search and Results…
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 16
Add Tools to Support Feature Editing
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 17
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 18
Adding Custom Data Sources …
Connector APIs to enhance the underlying
web services with the support of new data or
metadata types:• developer guide
• java doc: complete API and interfaces
documentation
• Imagine raster decoders are plugged through
these interfaces!
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 19
Situational Information System…
GeoService Explorer for IMAGINE
PROCESSING SERVICES ON THE
WEB
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 21
Geospatial Imagery Applications
• Land Cover Classification
• Ice Mapping
• Crop Monitoring
• Urban Mapping
• Disaster Monitoring
• Bathymetry
• Mobility Analysis
• Change Detection
• Building Extraction
• Subsidence Mapping
• Environment Monitoring
• Feature Extraction/Detection
• Crop Production Estimation
• Biodiversity Characterization
• Road Extraction
• Elevation Extraction
• Urban and Regional Planning
• Defense Mapping
• Wetlands Mapping
• City Modeling
• Target Mapping
Land Subsidence Detection
Measured land subsidence
of city of Shanghai with D-
inSAR with accuracy about
3mm
Automated Building Extraction
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 24
A Number of Different Options Exist
• Style Layer Descriptor (SLD)– Conversion of data into a
visual style is a form of processing
• Sensor Markup Language (SensorML) – Conversion of
information from a sensor into usable information is a form
of processing
• Web Processing Service (WPS) – An open specification
describing processes from and input and out perspective.
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 25
OGC Web Processing Service
• The specified Web Processing Service (WPS) provides
client access to pre-programmed calculations and/or
computation models that operate on spatially referenced
data. The data required by the service can be delivered
across a network, or available at the server. This data can
use image data formats or data exchange standards such
as Geography Markup Language (GML) or Geolinked Data
Access Service (GDAS). The calculation can be as simple
as subtracting one set of spatially referenced numbers from
another (e.g. determining the difference in influenza cases
between two different seasons), or as complicated as a
global climate change model.
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 26
OGC WPS is a Shell
• WPS defines a way to
discover and execute
some process
• Does not address
granularity of a “Process”.
• Does not define
semantics of a process
only its inputs and
outputs.
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 27
Spatial Modeling Language (SML)SML is a rich spatial modeling language that can handle many aspects of
processing a coverage which single function service models cannot. Much as the
SLD can describe complex styling a Spatial Modeling Language can express very
complex models, very concisely.
The language is expressed using a
“C” like notation which is interpreted
by the modeling engine.
There is also a graphical tool for
creating models in a familiar flow
chart scheme.
SML is expressed as an ASCII script
set default origin table 1;
set default origin matrix 1;
set default origin raster 1;
float raster f1 file old input window arg4 ,
arg5 : arg6 , arg7 arg8 arg1;
integer incount;
integer outcount;
incount = numlayers (f1);
outcount = arg9;
set aoi arg12;
float raster o (outcount) file new output
continuous arg3 arg10 arg2;
float raster tempout;
float matrix cov [incount, incount];
float matrix tmpmtx [incount, incount];
float matrix eig [incount, outcount];
float matrix transmtx [outcount, incount];
cov = covariance (f1);
tmpmtx = eigenmatrix (cov);
eig = eigenmatrix (cov) [1, 1: incount,
outcount];
transmtx = mattrans (eig);
if(arg13) {
show "Eigen Matrix: ",tmpmtx;
}
if(arg14) {
write tmpmtx to arg15;
}
if(arg16) {
show "Eigenvalues: ", eigenvalues (cov);
}
if(arg17) {
write eigenvalues (cov) to arg18;
}
if(arg11) {
tempout = linearcomb (f1, transmtx);
o = ((tempout - global min(tempout))/(global
max(tempout) -
global min(tempout))) * 255;
}
else {
o = linearcomb (f1, transmtx);
}
quit;
Object TypesType Description
Scalar A single numeric value, color or character string
TableA series of numeric values, colors, or character strings. A table has
one column and a fixed number of rows.
MatrixA set of numbers arranged in a two dimensional array. A matrix
has a fixed number of rows and columns.
Raster A single layer or multi-layer array of pixel data.
VectorVector data in either a vector coverage or annotation layer can be
read directly and converted to raster data on the fly.
Function CategoriesCategory Description
Analysis Includes convolution filtering, histogram matching, contrast stretch, principal components, etc.
Arithmetic Includes addtion, subtraction, multiplication, division, factorial, modulus, etc.
Bitwise Bitwise functions including and, or, xor and not
Boolean Logical functions including and, or and not
Color RGB to IHS, HIS to RGB, etc.
Conditional Per pixel logical tests : conditional and either…if…or…otherwise
Data Generation Generate raster data from map coordinates, column numbers,
Descriptor Read Descriptor data and map pixels through descriptor data
Distance Distance functions including proximity analysis
Exponential Natural and common log, exponent, square root, etc.
Function CategoriesCategory Description
Focal (Scan)Neighborhood analysis including boundary, density, diversity, maximum, mean, standard
deviation, etc.
Global Global functions including: diversity, maximum, minimum, mean, standard deviation,etc.
Matrix Matrix functions including multiply, divide, transpose,
Other Data type conversions, various tests, etc.
Relational Includes: equality, inequality, less than, greater than,
Size Measure Cell X and Y size, layer width and height, rows, columns, etc.
StackPerform operations over a stack of layers including: diversity, majority, mean, median, max,
minority, and sum
Statistical Local statistical operations including density, majority, mean, rank, etc.
String Concatenate and convert strings
Surface Topographical operators such as aspect and slope
Trigonometric Common trigonometric functions such as sine, cosine, tangent, hyperbolic, etc.
Zonal Zonal operations such as summary, diversity, majority, min, range, standard deviation, etc.
Coverage
Data
Modeling Engine
• Combines a script with data
to produce results
• One or more results from a
single script
• Multiple Instances of the
engine can be run
simultaneously
Coverage
Data
Result(s)Result(s)
Modeling
Engine
Spatial
Model
ScriptCoverage
Data
Model Author
Modeling Service Concept
Model Consumers
Model Consumers
Model Consumers
A single author may define and
provide models to solve various
problems for multiple users. The users
would select the model from a library
and request that the modeling service
apply this to the selected data to
generate a result. The model is self
describing and is meant to be used in
conjunction with a query system to
select the appropriate data.
Modeling Service
Modeling Service Benefits
•The user works with data from the collective data pool.
•The imagery stays on the server and no need to download onto
the local system. (saves bandwidth and time and disk space.
Reduces duplication so backups are quicker and the data is
maintained centrally with it's metadata)
•The model runs on the server where it has optimized access to
the data and an optimized hardware environment.
•When the model has been run, the results are added back into
the data pool so others can visualize and even use again in
other models
•No need to learn new software for the consumers, just use the
modeler like any other web page.
•No need to load bulky software on the local system (maintance,
disk space etc.) all the consumers use server side modeler
We need a way to dynamically
“publish”
• WPS defines a way to
discover and execute
some process
• Does not address
granularity of a “Process”.
• Does not define
semantics of a process
only its inputs and
outputs.
• It is not dynamic, so
publishing on the fly must
be an extension
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 36
Extensible WPS-T Framework
37
General Extensible WPS Architecture
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 38
Modeling Service Architecture
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 39
Publish a Model Experience
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 40
Web Toolkit Components to Discover
and Run
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 41
Mobility Analysis Example
Landcover Mapping
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 43
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 44
Mobility Analysis
Change Detection
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 45
Feature Extraction
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 46
A Simple Web User Experience
The Result of the Model
is returned as a
separate HTML from
which it could be:• Downloaded to a Local File
• Stored in the Catalog
• Loading into a WMS Client
Display the Results in an OGC Client
As a Web Service…
THANK YOU
Now Launched in India:
“Developers Network for ERDAS”
“ERDAS Business Partner Program”
Contact:
Atanu Sinha
Tel: 0124 – 4633000
Email: - info@lggiindia.com
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 51