147

Geoint2017 training open interfaces - luis bermudez

Embed Size (px)

Citation preview

Page 1: Geoint2017 training   open interfaces - luis bermudez
Page 2: Geoint2017 training   open interfaces - luis bermudez

Open Interfaces for GEOINT DataLuis Bermudez

2

Executive Director Innovation Program, OGC

Page 3: Geoint2017 training   open interfaces - luis bermudez

Challenges

3

Page 4: Geoint2017 training   open interfaces - luis bermudez

4

70 petabytes of satellite imagery

30 gigabytes per satellite imageFrom Digital Globe presentation at OGC Location Powers Sept 2016

Page 5: Geoint2017 training   open interfaces - luis bermudez

5

21 Billion Connected Devices in the Global Internet of Things in 2020

Page 6: Geoint2017 training   open interfaces - luis bermudez

6

UAV What is the accuracy

Image distortion

What type of platform?

00010011101010010001000110101001

Data ProcessingSensor

Types?

What are all the sensors in the platform

Page 7: Geoint2017 training   open interfaces - luis bermudez

Web Services

7

Page 8: Geoint2017 training   open interfaces - luis bermudez

8

A Servicedefines Interfaces

An Interfacedefines Operations

Page 9: Geoint2017 training   open interfaces - luis bermudez

9

Web Server

ClientsServer with Images

ApplicationProgramInterfaces(API)

Page 10: Geoint2017 training   open interfaces - luis bermudez

What operations should we use to retrieve a map on the web?

- getMap- getImage- get2dmap- map = new xyz.Map (center ..)- etc.

Page 11: Geoint2017 training   open interfaces - luis bermudez

Interfaces

11

ClientsServer with Images

ApplicationProgramInterfaces(API)

Page 12: Geoint2017 training   open interfaces - luis bermudez

12

- getMap- getImage- get2dmap- getPNG- getlocation- map = new xyz.Map (center ..)- etc.

An interface defines Operations

Page 13: Geoint2017 training   open interfaces - luis bermudez

13

Heterogeneous Services

Page 14: Geoint2017 training   open interfaces - luis bermudez

14

Heterogeneous Services

Page 15: Geoint2017 training   open interfaces - luis bermudez

15

Heterogeneous Services

Page 16: Geoint2017 training   open interfaces - luis bermudez

16

Agreement

Page 17: Geoint2017 training   open interfaces - luis bermudez

17

This is what OGC open standards do

e.g. Web Map Service (WMS)

Page 18: Geoint2017 training   open interfaces - luis bermudez

18

Interoperability

Increase ability to access, fuse and apply diverse content when and where needed is critical to situational awareness and disaster planning/ response in cross-boundary and cross-domain settings

Page 19: Geoint2017 training   open interfaces - luis bermudez

19

Interoperability in the context of Intelligence, Surveillance, and Reconnaissance (ISR)

J28 division chief from http://www.jfcom.mil/newslink/storyarchive/2007/pa071607.htm

doesn’t have to worry about where his information is coming from

plug and play ISR capabilities

Page 20: Geoint2017 training   open interfaces - luis bermudez

20

Figure 5. OV1- High Level Concept for EC EmpireChallenge(EC)08

Page 21: Geoint2017 training   open interfaces - luis bermudez

OGC

21

Page 22: Geoint2017 training   open interfaces - luis bermudez

22

Open Geospatial Consortium (OGC)

Leading International consortium for advancing open geospatial standards

Page 23: Geoint2017 training   open interfaces - luis bermudez

23

Open Geospatial Consortium (OGC)

• 70 standards• 550 members• 5000 users in the portal• 100 innovation projects• 230 compliant products• 900 implementations

Page 24: Geoint2017 training   open interfaces - luis bermudez

24

StandardDefines operations

Rules

Formal rules

Consensus and approved

Page 25: Geoint2017 training   open interfaces - luis bermudez

Open Standards

• Freely and publicly available • Non discriminatory• No license fees• Vendor neutral • Data neutral• Based on consensus

25

Page 26: Geoint2017 training   open interfaces - luis bermudez

26

Standard… and are widely implemented

For WMS41 organizations

92 compliant products3 reference implementations

Randomlyselectedcompletelistathttp://www.opengeospatial.org/resource/products

Page 27: Geoint2017 training   open interfaces - luis bermudez

Standards by Purpose

27

Page 28: Geoint2017 training   open interfaces - luis bermudez

Open Interfaces

28

Page 29: Geoint2017 training   open interfaces - luis bermudez

29

Images

Geospatial Data Types

Page 30: Geoint2017 training   open interfaces - luis bermudez

30

Images

- RasterJPEG, PNG, TIFF, GeoTIFF, KML, ..

Vector graphics

Geospatial Data Types

Page 31: Geoint2017 training   open interfaces - luis bermudez

31

Images Vectorpoint

lines

polygons

Geospatial Data Types

Page 32: Geoint2017 training   open interfaces - luis bermudez

32

Geospatial Data Types

Images Vector Sensors

Page 33: Geoint2017 training   open interfaces - luis bermudez

33

API Challenges

ImagesWhat format should we use?

What API?

Page 34: Geoint2017 training   open interfaces - luis bermudez

34

Geospatial Data Types

Images Vector Sensors

Page 35: Geoint2017 training   open interfaces - luis bermudez

35

Geospatial Data Types and Services

Images Vector Sensors

WMS WCS WFS

SOS

Sensor Things API

Page 36: Geoint2017 training   open interfaces - luis bermudez

WMS

36

Page 37: Geoint2017 training   open interfaces - luis bermudez

37

Interface to help share maps over the webWeb Map Service (WMS)

Link

Page 38: Geoint2017 training   open interfaces - luis bermudez

38

WMS Operations

•GetCapabilities•GetMap•GetFeatureInfo (Optional)•DescribeLayer (Optional•GetLegendGraphic (Optional)

Page 39: Geoint2017 training   open interfaces - luis bermudez

39

GetCapabilities

Link

Page 40: Geoint2017 training   open interfaces - luis bermudez

40

GetCapabilities Response

Page 41: Geoint2017 training   open interfaces - luis bermudez

41

GetCapabilities - Layer

Page 42: Geoint2017 training   open interfaces - luis bermudez

42

GetCapabilities Layer Style Section

Page 43: Geoint2017 training   open interfaces - luis bermudez

43

GetMap - Request Example

Link

Page 44: Geoint2017 training   open interfaces - luis bermudez

44

Example Image from a GetMap request

Page 45: Geoint2017 training   open interfaces - luis bermudez

45

GetMap - Request

•The service provides seven map layers: DTM, Overview etc. •The coordinate reference system EPSG:27700 is the Ordnance Survey National Grid reference system. •The image returned is a PNG transparent format with width 400 and height 300 pixels, and background color is white (Hex code=0xffffff).

Page 46: Geoint2017 training   open interfaces - luis bermudez

46

GetMap Request without the overview layer

Page 47: Geoint2017 training   open interfaces - luis bermudez

47

GetMap Transparency / Translucency

The map image can be overlayed with maps from other servers. In those cases it may be helpful to request the top level image in a format which supports a transparency such as the alpha channel. Then we can see what is below this map image.

Page 48: Geoint2017 training   open interfaces - luis bermudez

48

GetMap Scale Limits will help select best image depending on the scale

Page 49: Geoint2017 training   open interfaces - luis bermudez

49

GetMap - Zooming

•The client can "zoom in" and "zoom out" of the map by calculating new values for the BBOX (bounding box) parameter. The same applies to all map navigation functions like panning or selecting a completely new area.

• It is important to note that the server only returns an image to the client, but no additional information about the size, coordinate system, scale, etc

Page 50: Geoint2017 training   open interfaces - luis bermudez

50

Reprojecting Maps CRS=EPSG:22770 CRS=EPSG:4326

Page 51: Geoint2017 training   open interfaces - luis bermudez

51

GetFeatureInfo to get X and Y information from a previous GetMap request

X =231

y =280400,3000,300

0,0

Page 52: Geoint2017 training   open interfaces - luis bermudez

52

GetFeature Info Request

Page 53: Geoint2017 training   open interfaces - luis bermudez

53

GetFeature Info Request

http://metaspatial.net/cgi-bin/ogc-wms.xml?VERSION=1.3.0&REQUEST=GetFeatureInfo&SERVICE=WMS&LAYERS=osm_points&QUERY_LAYERS=osm_points&WIDTH=400&HEIGHT=300&CRS=EPSG:27700&BBOX=427966.6666666667,106800,431833.3333333333,109700&INFO_FORMAT=text/html&EXCEPTIONS=XML&X=231&Y=280

Page 54: Geoint2017 training   open interfaces - luis bermudez

54

GetFeatureInfo - Response in HTML

Page 55: Geoint2017 training   open interfaces - luis bermudez

55

GetFeatureInfo - Response in GML

Page 56: Geoint2017 training   open interfaces - luis bermudez

56

GetFeatureInfo - INFO_FORMAT parameter

Page 57: Geoint2017 training   open interfaces - luis bermudez

57

Getting a legend via GetLegendGraphic

Page 58: Geoint2017 training   open interfaces - luis bermudez

58

Error Messages

Page 59: Geoint2017 training   open interfaces - luis bermudez

59

INIMAGE Error Message

Page 60: Geoint2017 training   open interfaces - luis bermudez

60

Exceptions

Page 61: Geoint2017 training   open interfaces - luis bermudez

WFS

61

Page 62: Geoint2017 training   open interfaces - luis bermudez

62

Feature

Page 63: Geoint2017 training   open interfaces - luis bermudez

63

Feature has Properties

Page 64: Geoint2017 training   open interfaces - luis bermudez

64

Geospatial Feature

Page 65: Geoint2017 training   open interfaces - luis bermudez

65

Generalization

•Class = Feature Type = Tree Properties of Tree: – Height– Location

•All my Trees will have a height and location.

Page 66: Geoint2017 training   open interfaces - luis bermudez

66

Feature Instance

•My favorite tree in Cartagena is the one in front of the hotel Colombia.

•Height = 5 m•Location = 10.407793,-75.551262

Page 67: Geoint2017 training   open interfaces - luis bermudez

67

Web Feature Service (WFS)

Web Service used to:•Publish Features•Access Features•Edit Features

Page 68: Geoint2017 training   open interfaces - luis bermudez

68

WFS Operations

•GetCapabilities - summary of the service•DescribeFeatureType - structure of the feature types•GetFeature - get the feature instance•Transaction - create, update and delete geographic features

•Lock Feature - protects a feature record when updating it

Page 69: Geoint2017 training   open interfaces - luis bermudez

69

SEDAC WFS Server

Page 70: Geoint2017 training   open interfaces - luis bermudez

70

GetCapabilities

•Provides metadata about the service •Provides list of feature types•Provides list of supported filters

Page 71: Geoint2017 training   open interfaces - luis bermudez

71

WFS GetCapabilties

Page 72: Geoint2017 training   open interfaces - luis bermudez

72

Response GetCapabilities

Page 73: Geoint2017 training   open interfaces - luis bermudez

73

Response GetCapabilities

Page 74: Geoint2017 training   open interfaces - luis bermudez

74

Page 75: Geoint2017 training   open interfaces - luis bermudez

75

WFS DescribeFeatureType

Page 76: Geoint2017 training   open interfaces - luis bermudez

76

Response GetFeatureType request

Page 77: Geoint2017 training   open interfaces - luis bermudez

77

GetFeature Request

Link

http://sedac.ciesin.org/geoserver/ows?service=wfs&version=1.0.0&request=GetFeature&typeName=esi:esi-environmental-sustainability-index-2005_water-quality&maxFeatures=5

Page 78: Geoint2017 training   open interfaces - luis bermudez

78

GetFeature Response

Page 79: Geoint2017 training   open interfaces - luis bermudez

79

GetFeature Response

Page 80: Geoint2017 training   open interfaces - luis bermudez

80

WFS Test Server Part of Testbed 12

•http://ogctestbed12.lat-lon.de/deegree/services/wfs?service=WFS&request=GetCapabilities

•Data follows 90% DGIWG Profile

Page 81: Geoint2017 training   open interfaces - luis bermudez

81

Testbed 13 NSG profile development

Page 82: Geoint2017 training   open interfaces - luis bermudez

82

Filtering by property values

Page 83: Geoint2017 training   open interfaces - luis bermudez

GML

83

Page 84: Geoint2017 training   open interfaces - luis bermudez

84

Geographic Markup Language (GML)

•Defines an abstract feature model • Provides XML Schemas

•Provides primitives: – Geometry– Feature Types–Coordinate Reference Systems

•Topology

Page 85: Geoint2017 training   open interfaces - luis bermudez

85

Geographic Markup Language (GML)

• Temporal information and dynamic features • Definitions and dictionaries• Units, measures and values• Directions • Observation• Coverages• Default styling

Page 86: Geoint2017 training   open interfaces - luis bermudez

86

Communities develop their own application schemas

Page 87: Geoint2017 training   open interfaces - luis bermudez

87

Modeling Feature Types

Page 88: Geoint2017 training   open interfaces - luis bermudez

88

Examples

• CityGML - 3D urban objects • GeoSciML - geoscience • AIXM – Aviation• ALKIS/ATKIS - German National Cadastre• AgroXML - Used in Farm Management InformationSystems• CSML – Climate Science Modelling• WaterML - Hydrology

Page 89: Geoint2017 training   open interfaces - luis bermudez

89

DGIWG

https://www.dgiwg.org/dgiwg/htm/documents/standards_implementation_profiles.htm

Page 90: Geoint2017 training   open interfaces - luis bermudez

WCS

90

Page 91: Geoint2017 training   open interfaces - luis bermudez

91

Web Coverage Service (WCS)

Page 92: Geoint2017 training   open interfaces - luis bermudez

92

Multi Spectral Imagery

Page 93: Geoint2017 training   open interfaces - luis bermudez

93

WCS Operations

• GetCapabilities: delivers an XML-encoded description of service properties and the data holdings offered by the server inquired

• DescribeCoverage: delivers XML-encoded descriptions of coverages (such as their location in space and time)

• GetCoverage: delivers a coverage (or part thereof), either as original data or processed, in some suitable data format (e.g. tiff, png, jpeg, NetCDF)

Page 94: Geoint2017 training   open interfaces - luis bermudez

SOS

94

Page 95: Geoint2017 training   open interfaces - luis bermudez

95

Sensor Web

Page 96: Geoint2017 training   open interfaces - luis bermudez

96

SOS GetCapabilities

Page 97: Geoint2017 training   open interfaces - luis bermudez

97

SOS DescribeSensor

Page 98: Geoint2017 training   open interfaces - luis bermudez

98

SOS GetObservation

Page 99: Geoint2017 training   open interfaces - luis bermudez

Sensor Things API

99

Page 100: Geoint2017 training   open interfaces - luis bermudez

100

OGC SensorThings APIInterface for Internet of Things

http://developers.sensorup.com/docs/

Page 101: Geoint2017 training   open interfaces - luis bermudez

101

Data stream

Page 102: Geoint2017 training   open interfaces - luis bermudez

102

About What?

a

Thing

Page 103: Geoint2017 training   open interfaces - luis bermudez

103

How?

Sensor

Page 104: Geoint2017 training   open interfaces - luis bermudez

104

Querying data from bike stations

•Endpoint: http://toronto-bike-snapshot.sensorup.com/v1.0/

Page 105: Geoint2017 training   open interfaces - luis bermudez

105

Base Pathhttp://toronto-bike-snapshot.sensorup.com/v1.0/

Page 106: Geoint2017 training   open interfaces - luis bermudez

106

Base Pathhttp://toronto-bike-snapshot.sensorup.com/v1.0/

Page 107: Geoint2017 training   open interfaces - luis bermudez

107

Which Things are available in the server? http://toronto-bike-snapshot.sensorup.com/v1.0/Things

Page 108: Geoint2017 training   open interfaces - luis bermudez

108

Getting a Datastream for a thing http://toronto-bike-snapshot.sensorup.com/v1.0/Things(206047)/Datastreams

Page 109: Geoint2017 training   open interfaces - luis bermudez

109

Note: Datastreams define the unit of measurement http://toronto-bike-snapshot.sensorup.com/v1.0/Things(206047)/Datastreams

Page 110: Geoint2017 training   open interfaces - luis bermudez

110

Getting the Observations related to a stream http://toronto-bike-snapshot.sensorup.com/v1.0/Datastreams(206051)/Observations

Page 111: Geoint2017 training   open interfaces - luis bermudez

111

Complex Query

•Expands Datastreams and observations in one query

•Feature of Interest = 7000:Ft. York / Capreol Crt.•Start time = 2017-01-01T11:30:00.000Z•End time = 2017-03-01T11:30:00.000Z

Page 112: Geoint2017 training   open interfaces - luis bermudez

112

Complex Query (cont)

Link

Page 113: Geoint2017 training   open interfaces - luis bermudez

113

Complex Query Response

Page 114: Geoint2017 training   open interfaces - luis bermudez

114

Complex Query Response Complex Query Response (cont )

Page 115: Geoint2017 training   open interfaces - luis bermudez

115

Charts

http://share.sensorup.com

Page 116: Geoint2017 training   open interfaces - luis bermudez

116

Sensor Things API more than GET

Page 117: Geoint2017 training   open interfaces - luis bermudez

117

Error Codes

Page 118: Geoint2017 training   open interfaces - luis bermudez

GeoPackage

118

Page 119: Geoint2017 training   open interfaces - luis bermudez

119

OGC GeoPackage file format• A SQLite container

– Smal reliable and self contained– Serverles and zero-configuration– transactional SQL database– Limit of a file ~ 140 terabytes

• vector features• tile matrix sets of imagery and raster maps at various scales• attributes (non-spatial data)• extensions

http://www.geopackage.org

Page 120: Geoint2017 training   open interfaces - luis bermudez

120

Vectors in GeoPackaage as Simple Features

Page 121: Geoint2017 training   open interfaces - luis bermudez

121

Edit annotations on the field via mobile device

Page 122: Geoint2017 training   open interfaces - luis bermudez

122

Access Elevation

Data

Page 123: Geoint2017 training   open interfaces - luis bermudez

123

Spot Reporting

Page 124: Geoint2017 training   open interfaces - luis bermudez

124

Summary

•Maps use WMS•Vector use WFS – encoding GML•Mobile formats use GeoPackage•Sensor data SOS or SensorThings API•Coverage data use WCS

Page 125: Geoint2017 training   open interfaces - luis bermudez

Scenario

125

Page 126: Geoint2017 training   open interfaces - luis bermudez

126

Scenario Discussion

Page 127: Geoint2017 training   open interfaces - luis bermudez

Compliance

127

Page 128: Geoint2017 training   open interfaces - luis bermudez

128

Why Compliance?

Page 129: Geoint2017 training   open interfaces - luis bermudez

129

We have great open standards

Page 130: Geoint2017 training   open interfaces - luis bermudez

130

Implementations are not always perfect

Page 131: Geoint2017 training   open interfaces - luis bermudez

131

Interoperability can be fully achieved

Page 132: Geoint2017 training   open interfaces - luis bermudez

132

Need to do a healthy test

Page 133: Geoint2017 training   open interfaces - luis bermudez

133

Increase confidence of solution providers

"Achieving OGC certification is extremely important to us as an organization - we are proud to have more than 20 products compliant with OGC standards."

Stan Tilman | Hexagon Geospatial

Page 134: Geoint2017 training   open interfaces - luis bermudez

134

Create more business opportunities for solution providers

Page 135: Geoint2017 training   open interfaces - luis bermudez

135

Create more business opportunities for solution providers

Page 136: Geoint2017 training   open interfaces - luis bermudez

136

Benefits for buyers of solutions

Minimize the delay, cost, frustration of reworking disparate implementations

Page 137: Geoint2017 training   open interfaces - luis bermudez

137

Page 138: Geoint2017 training   open interfaces - luis bermudez

138

Page 139: Geoint2017 training   open interfaces - luis bermudez

139

How long this it take?

•Once the application is passing the test (1-2 months), organizations asking for compliance can:

•Make an online request 5-10 minutes.•OGC will verify and respond in 1-3 days.

Page 140: Geoint2017 training   open interfaces - luis bermudez

140

What if your application is not passing the test?

•Use the community forum [email protected]

•About 300 members participate in the forum:– Each test suite has a lead – OGC has alliances with groups supporting the

test (answering questions, fixing bugs, etc.)

Page 141: Geoint2017 training   open interfaces - luis bermudez

141

Page 142: Geoint2017 training   open interfaces - luis bermudez

142

Tests available for certification

Validation portal

http://cite.opengeospatial.org/t

eamengine/

Page 143: Geoint2017 training   open interfaces - luis bermudez

143

How to ask for Compliance“Purchaserseeksgeospatialproductsthatprovidemaximuminteroperabilitywithpurchaser’sanddatasharingpartner’ssystems.Toaccomplishthis,purchaserseekstomakemaximumuseofopenstandardsprovidedbytheOpenGeospatialConsortium(OGC),ISO...”OGCComplianceOverview- GuideforSoftwareAcquisitionWhitepaper(15-002r5)http://docs.opengeospatial.org/wp/15-002r5/15-002r5.html

Page 144: Geoint2017 training   open interfaces - luis bermudez

144

How to verify that a product is compliant?

Page 145: Geoint2017 training   open interfaces - luis bermudez

145

Tools are opensourceand used in

other projects

Page 146: Geoint2017 training   open interfaces - luis bermudez

146

Links

• OGC validation portal:https://github.com/opengeospatial/teamengine

• Source code Test code repositorieshttps://github.com/opengeospatial?page=2&query=ets

• Building the testing facility on the cloud https://github.com/opengeospatial/teamengine-builder/blob/master/build-amazon-instance.rst

• Virtualization Guidehttps://github.com/opengeospatial/teamengine/blob/master/src/site/asciidoc/virt-guide.adoc

Page 147: Geoint2017 training   open interfaces - luis bermudez

Contact Information

•Luis Bermudez • [email protected]•Twitter: @berdez•https://www.linkedin.com/in/bermudez

147