105
in geospatial Peter Batty Ubisense Openness 1

AGI geocommunity 2013

Embed Size (px)

DESCRIPTION

Closing plenary talk at the AGI geocommunity conference immediately prior to FOSS4G 2013 in Nottingham. On various aspects of open geospatial, but especially on Open Source.

Citation preview

Page 1: AGI geocommunity 2013

in geospatialPeter BattyUbisense

Openness

1

Page 2: AGI geocommunity 2013

State of the MapAGI GeoCommunity

FOSS4G

2

Page 3: AGI geocommunity 2013

3

Page 4: AGI geocommunity 2013

4

Page 5: AGI geocommunity 2013

Open...sourcedatastandards

as in

accessible

5

Page 6: AGI geocommunity 2013

OPEN AS IN ACCESSIBLE

6

Page 7: AGI geocommunity 2013

flic.kr/p/7rnNAD

flic.kr/p/7NEJzF

Location is now

Pervasive and Simplein consumer applications

7

Page 8: AGI geocommunity 2013

8

Page 9: AGI geocommunity 2013

DISRUPTIVE TECHNOLOGY

Functionality /performance

Time

Established technology

Disruptive technology

MainstreamMarketrequirements

9

Page 10: AGI geocommunity 2013

Consumer led IT10

Page 11: AGI geocommunity 2013

Usability / simplicity

flic.kr/p/3guaAu

Simplicity11

Page 12: AGI geocommunity 2013

“spatial is special”

“spatial is just another data type”

12

Page 13: AGI geocommunity 2013

THE GEOSPATIAL MARKET

Traditional GIS

Total market

GoogleAppleAmazonFacebookTwitterMicrosoftOracleNokia

OSGeoMapbox

CartoDBBoundlessUbisense

Arc2EarthAstun

Stamen

and many more

13

Page 14: AGI geocommunity 2013

OPEN SOURCE

14

Page 15: AGI geocommunity 2013

OPEN SOURCE SOFTWAREOpen-source software (OSS) is computer software with its source code made available and licensed with a license in which the copyright holder provides the rights to study, change and distribute the software to anyone and for any purpose.

Open-source software is very often developed in a public, collaborative manner.

A report by the Standish Group (from 2008) states that adoption of open-source software models has resulted in savings of about $60 billion per year to consumers.

15

Page 16: AGI geocommunity 2013

Created to support and build the highest-quality open source geospatial software. Our goal is to encourage the use and collaborative development

of community-led projects

OSGeo also serves as an outreach and advocacy organization for the open source geospatial community, and provides a common forum and shared

infrastructure for improving cross-project collaboration.

Open Source Geospatial Foundation

16

Page 17: AGI geocommunity 2013

PREVIOUS FOSS4G EVENTS

17

Page 18: AGI geocommunity 2013

Web Mappingdeegree

geomajasGeoMooseGeoServerMapbenderMapBuilder

MapFishMapGuide Open Source

MapServerOpenLayersTeam EngineZOO-Project

Desktop ApplicationsGRASS GIS

gvSIGMarbleOpticks

Quantum GIS

Geospatial LibrariesFDOGDAL/OGRGEOSGeoToolsMetaCRSOSSIMPostGISrasdaman

Metadata CatalogGeoNetworkpycsw

Outreach ProjectsPublic Geospatial DataEducation and CurriculumOSGeo Live

Italics signify projects in incubation

Software projects27

18

Page 19: AGI geocommunity 2013

Project Name Annual Contributors

Total Contributors

Lines of Code

Mapbender Community MapBuilder MapGuide Open Source MapServer OpenLayers GRASS GIS OSSIM Quantum GIS GDAL GeoTools GeoNetwork opensource Feature Data Objects (FDO) GEOS gvSIG Desktop deegree PostGIS Geomajas GeoServer MapFish

20 54 1,360,8151 25 166,0287 47 515,899

35 68 230,29951 76 118,04318 69 1,285,6647 26 1,076,078

78 116 655,45123 46 901,14260 132 3,205,81427 40 2,345,60310 36 1,551,9513 17 143,0887 19 1,376,3148 25 982,165

10 23 282,84410 19 417,22864 86 700,0061 17 154,625

Total 440 941 17,469,057

OSGeo Project Details

March 2013

17.5 millionlines of code

440annual

contributors

all time contributors

94119

Page 20: AGI geocommunity 2013

www.ohloh.net/stacks/15120

Page 21: AGI geocommunity 2013

21

Page 22: AGI geocommunity 2013

22

Page 23: AGI geocommunity 2013

Developing open source software

is not a hobby(for most people)

23

Page 24: AGI geocommunity 2013

The Web Mapping ShootoutDenver 2011

24

Page 25: AGI geocommunity 2013

25

Page 26: AGI geocommunity 2013

Functionality Cost Support

Terms PredictabilityFlexibility26

Page 27: AGI geocommunity 2013

Photo by adesigna - http://flic.kr/p/7eukcs

Functionality

27

Page 28: AGI geocommunity 2013

http://flic.kr/p/713m5r

Cost

28

Page 29: AGI geocommunity 2013

Photo by ecstaticist - http://flic.kr/p/6fx7Ln

Support

29

Page 30: AGI geocommunity 2013

Flexibility

30

Page 31: AGI geocommunity 2013

Photo by Steve Punter - http://flic.kr/p/5qXFV9

Terms31

Page 32: AGI geocommunity 2013

Photo by Jonathan Caves - http://flic.kr/p/59T6cp

Predictability

32

Page 33: AGI geocommunity 2013

How do I learn more?

33

Page 34: AGI geocommunity 2013

34

Page 35: AGI geocommunity 2013

OSGeo-Live live.osgeo.org35

Page 36: AGI geocommunity 2013

PostGIS

GeoExtOpenLayers

GeoServer GeoWebCache

36

Page 37: AGI geocommunity 2013

leafletjs.com37

Page 38: AGI geocommunity 2013

cartodb.com38

Page 39: AGI geocommunity 2013

mapbox.com39

Page 40: AGI geocommunity 2013

mapnik.com40

Page 41: AGI geocommunity 2013

D3 - d3js.org41

Page 42: AGI geocommunity 2013

There’s a parallel geo-world out there!

http://flic.kr/p/bqW9yE42

Page 43: AGI geocommunity 2013

OPEN DATA

43

Page 44: AGI geocommunity 2013

Cost of data barrier to entry

has been a traditional

http://flic.kr/p/5Xb1fD44

Page 45: AGI geocommunity 2013

OPEN DATA CROWDSOURCING

45

Page 46: AGI geocommunity 2013

Geospatial analysis

Stamen Design

46

Page 47: AGI geocommunity 2013

47

Page 48: AGI geocommunity 2013

48

Page 49: AGI geocommunity 2013

broadbandmap.gov49

Page 50: AGI geocommunity 2013

50

Page 51: AGI geocommunity 2013

51

Page 52: AGI geocommunity 2013

52

Page 53: AGI geocommunity 2013

53

Page 54: AGI geocommunity 2013

54

Page 55: AGI geocommunity 2013

Crowdsourcingflickr.com/photos/jamescridland/613445810/

55

Page 56: AGI geocommunity 2013

Web

publishing participation

2.0Web1.0

56

Page 57: AGI geocommunity 2013

WIKIPEDIA

57

Page 58: AGI geocommunity 2013

OpenStreetMap58

Page 59: AGI geocommunity 2013

59

Page 60: AGI geocommunity 2013

What about quality?

“OSM quality is beyond good enough, it is a product that can be used for a wide range of activities”

Dr Muki Haklay of UCL

Based on a detailed analysishttp://tinyurl.com/mukiosm

60

Page 61: AGI geocommunity 2013

61

Page 62: AGI geocommunity 2013

62

Page 63: AGI geocommunity 2013

63

Page 64: AGI geocommunity 2013

64

Page 65: AGI geocommunity 2013

65

Page 66: AGI geocommunity 2013

66

Page 67: AGI geocommunity 2013

67

Page 68: AGI geocommunity 2013

Google MapMaker!Geoweb 2009Michael Jones, Google

“The future is user created data”

68

Page 69: AGI geocommunity 2013

PASSIVE CROWDSOURCING

69

Page 70: AGI geocommunity 2013

2007 dataDatabase69 countries11m miles (18m km) of roads18m points of interest

PeopleField force 700Central production 270Technology 500Total 3349

Financial Revenue $853m (~€604m) Data creation & distribution costs $396m (~€280m)

“Creating, maintaining and delivering a comprehensive, high quality map database is a multi-step, labor-intensive process. We

currently employ over 270 employees in our centralized production facility and a global

workforce of over 700 geographic analysts in 32 countries”

70

Page 71: AGI geocommunity 2013

Crowdsourcing is a paradigm shift for data creationflickr.com/photos/jamescridland/613445810/

71

Page 72: AGI geocommunity 2013

Though “free data” is not a panacea ...

Google “peter batty georant”72

Page 73: AGI geocommunity 2013

Everyone’s favorite punchbag!

“O most pernicious woman!

O villain, villain, smiling, damned

villain!”!Hamlet!

A portion of this slide is!© Crown copyright 2006!

73

Page 74: AGI geocommunity 2013

How the devil Luxury, with his fat rump and potato finger, tickles these together! Fry, lechery, fry!!

Thersites, Troilus and Cressida!

74

Page 75: AGI geocommunity 2013

Though “free data” is not a panacea ...

Google “peter batty georant”75

Page 76: AGI geocommunity 2013

OPEN STANDARDS

76

Page 77: AGI geocommunity 2013

9 17

29

33

46 57

63

67

94

93 99 112

123 136

137 154

162 182

191 210

225 238

254

265 278

0

50

100

150

200

250

300

1.4.7 FME 2.0

FME 2.1

FME 2.2

FME 2.3

FME 2.3a

FME 2000

FME 2000 SR-1

FME 2002

FME 2002 SR-1

FME 2003

FME 2003 X2

FME 2004

FME 2004 ICE

FME 2004 ICE3

FME 2005

FME 2006

FME 2006 GB

FME 2007

FME 2008

FME 2009

FME 2010 Beta UC Cut

FME 2010

FME 2011

FME 2012

NUMBER OF DATA FORMATS SUPPORTED BY FME OVER TIME

Chart courtesy of Safe Software77

Page 78: AGI geocommunity 2013

It’s hard to predict what will become

adopted as a standard

78

Page 79: AGI geocommunity 2013

79

Page 80: AGI geocommunity 2013

WMS – Web Map ServiceV1.0 from 2000, V1.3 from 2004

80

Page 81: AGI geocommunity 2013

81

Page 82: AGI geocommunity 2013

82

Page 83: AGI geocommunity 2013

83

Page 84: AGI geocommunity 2013

84

Page 85: AGI geocommunity 2013

78% of statistics are made up

85

Page 86: AGI geocommunity 2013

85% of data has a spatial component

86

Page 87: AGI geocommunity 2013

87

Page 88: AGI geocommunity 2013

88

Page 89: AGI geocommunity 2013

<entry> <title>M 3.2, Mona Passage</title> <link href="http://example.org/2005/09/09/atom01"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2005-08-17T07:02:32Z</updated> <summary>We just had a big one.</summary> <georss:point>45.256 -71.92</georss:point> </entry>

is child’s playgeoRSS

89

Page 90: AGI geocommunity 2013

<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>Simple placemark</name> <description>Attached to the ground. Intelligently places itself at the height of the underlying terrain.</description> <Point> <coordinates>-122.0822035425683,37.42228990140251,0</coordinates> </Point> </Placemark></kml>

KML is simple too

(basic)

90

Page 91: AGI geocommunity 2013

Web Services

Photo by MrWoodnz - http://flic.kr/p/6WB4N191

Page 92: AGI geocommunity 2013

SOAP …and WSDLWeb Services Description LanguageSimple Object Access Protocol

92

Page 93: AGI geocommunity 2013

<?xml version="1.0" encoding="UTF-8"?><description xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="http://www.tmsws.com/wsdl20sample" xmlns:whttp="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://www.tmsws.com/wsdl20sample"> <!-- Abstract type --> <types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.tmsws.com/wsdl20sample" targetNamespace="http://www.example.com/wsdl20sample"> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="header" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="body" type="xs:anyType" minOccurs="0"/> </xs:sequence> <xs:attribute name="method" type="xs:string" use="required"/> <xs:attribute name="uri" type="xs:anyURI" use="required"/> </xs:complexType> </xs:element> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="header" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" use="required"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="body" type="xs:anyType" minOccurs="0"/> </xs:sequence> <xs:attribute name="status-code" type="xs:anySimpleType" use="required"/> <xs:attribute name="response-phrase" use="required"/> </xs:complexType> </xs:element> </xs:schema> </types>

<!-- Concrete Binding Over HTTP --> <binding name="RESTfulInterfaceHttpBinding" interface="tns:RESTfulInterface" type="http://www.w3.org/ns/wsdl/http"> <operation ref="tns:Get" whttp:method="GET"/> <operation ref="tns:Post" whttp:method="POST" whttp:inputSerialization="application/x-www-form-urlencoded"/> <operation ref="tns:Put" whttp:method="PUT" whttp:inputSerialization="application/x-www-form-urlencoded"/> <operation ref="tns:Delete" whttp:method="DELETE"/> </binding> <!-- Concrete Binding with SOAP--> <binding name="RESTfulInterfaceSoapBinding" interface="tns:RESTfulInterface" type="http://www.w3.org/ns/wsdl/soap" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/" wsoap:mepDefault="http://www.w3.org/2003/05/soap/mep/request-response"> <operation ref="tns:Get" /> <operation ref="tns:Post" /> <operation ref="tns:Put" /> <operation ref="tns:Delete" /> </binding> <!-- Web Service offering endpoints for both bindings--> <service name="RESTfulService" interface="tns:RESTfulInterface"> <endpoint name="RESTfulServiceHttpEndpoint" binding="tns:RESTfulInterfaceHttpBinding" address="http://www.example.com/rest/"/> <endpoint name="RESTfulServiceSoapEndpoint" binding="tns:RESTfulInterfaceSoapBinding" address="http://www.example.com/soap/"/> </service></description>

Example WSDL code

93

Page 94: AGI geocommunity 2013

REST

Jason BirchCity of Nanaimo

RepresentationalState Transfer

94

Page 95: AGI geocommunity 2013

…/a2e/data/datasources/Pole/90974

95

Page 96: AGI geocommunity 2013

…/a2e/data/datasources/Pole/90974?f=gjson

96

Page 97: AGI geocommunity 2013

…/a2e/data/datasources//Pole/search?f=gjson&lat=42.600&lon=-76.1780&d=4

97

Page 98: AGI geocommunity 2013

98

Page 99: AGI geocommunity 2013

99

Page 100: AGI geocommunity 2013

“If a dataset available on the web is in a format that can't be indexed by

Google, does it make a sound?”

Kevin WiebeSafe Software

100

Page 101: AGI geocommunity 2013

RESTbenefits

SimplicityLinkability

SearchabilitySimple update

(using PUT and POST)

Photo by ebatty - http://flic.kr/p/2f3BUQ101

Page 102: AGI geocommunity 2013

SUMMARY

102

Page 103: AGI geocommunity 2013

There’s a parallel geo-world out there!

http://flic.kr/p/bqW9yE103

Page 104: AGI geocommunity 2013

The geo world we know is part of a much larger universe now

104

Page 105: AGI geocommunity 2013

[email protected]

@pmbattyslideshare.net/pmbatty/presentations

This is the most exciting time ever to be working in the geospatial industry

105