Drupal and the GeoSpatial Web

137
Drupal and the Geospatial Web Jeff Miccolis @miccolis Development Seed Andrew Turner @ajturner FortiusOne - GeoCommons

Transcript of Drupal and the GeoSpatial Web

Page 1: Drupal and the GeoSpatial Web

Drupal and the Geospatial Web

Jeff Miccolis @miccolisDevelopment Seed

Andrew Turner @ajturnerFortiusOne - GeoCommons

Page 2: Drupal and the GeoSpatial Web

Jeff Miccolis@miccolisDevelopment Seed

Andrew Turner@ajturnerFortiusOne - GeoCommons

Page 3: Drupal and the GeoSpatial Web

photourl

Drupal...

@miccolis

Page 4: Drupal and the GeoSpatial Web

Why maps?

Page 5: Drupal and the GeoSpatial Web
Page 6: Drupal and the GeoSpatial Web
Page 7: Drupal and the GeoSpatial Web

Drupal

Gmap module

Google maps

CMS

Module

Display

Data Google‘s mapdata

Page 8: Drupal and the GeoSpatial Web
Page 9: Drupal and the GeoSpatial Web
Page 10: Drupal and the GeoSpatial Web

Drupal

Custom module

Custom php script

Young’s drawing

CMS

Module

Display

Data

Page 11: Drupal and the GeoSpatial Web
Page 12: Drupal and the GeoSpatial Web

Drupal

Custom

Map data somebody had...

CMS

Module

Display

Data

mapnik

Page 13: Drupal and the GeoSpatial Web

mapnik?

• “Mapnik is a Free Toolkit for developing mapping applications. Above all Mapnik is about making beautiful maps. “

• http://mapnik.org/

Page 14: Drupal and the GeoSpatial Web
Page 15: Drupal and the GeoSpatial Web

We’ve got problems.

• Language

• History

• Usage

• Privacy

• Look

Page 16: Drupal and the GeoSpatial Web
Page 17: Drupal and the GeoSpatial Web
Page 18: Drupal and the GeoSpatial Web

We’ve got problems.

• Language

• History

• Usage

• Privacy

• Look

Page 20: Drupal and the GeoSpatial Web
Page 21: Drupal and the GeoSpatial Web
Page 22: Drupal and the GeoSpatial Web

We’ve got problems.

• Language

• History

• Usage

• Privacy

• Look

Page 23: Drupal and the GeoSpatial Web
Page 24: Drupal and the GeoSpatial Web
Page 25: Drupal and the GeoSpatial Web

We’ve got problems.

• Language

• History

• Usage

• Privacy

• Look

Page 27: Drupal and the GeoSpatial Web

We’ve got problems.

• Language

• History

• Usage

• Privacy

• Look

Page 28: Drupal and the GeoSpatial Web
Page 29: Drupal and the GeoSpatial Web
Page 30: Drupal and the GeoSpatial Web
Page 31: Drupal and the GeoSpatial Web
Page 32: Drupal and the GeoSpatial Web

Drupal

?

Cloudmade

Open Street Maps

CMS

Module

Display

Data

Page 33: Drupal and the GeoSpatial Web

We’ve got problems.

• Language

• History

• Usage

• Privacy

• Look

Page 34: Drupal and the GeoSpatial Web

We’ve got options.

• CMS

• Modules

• Display

• Data

Page 35: Drupal and the GeoSpatial Web

kidding :)

Page 36: Drupal and the GeoSpatial Web

We’ve got options.

• CMS

• Modules

• Display

• Data

Page 37: Drupal and the GeoSpatial Web

Drupal

Gmap module

Google maps

Google’s mapdata

CMS

Module

Display

Data

Page 38: Drupal and the GeoSpatial Web

Drupal

Mapstraction module

Google maps

Google’s mapdata

CMS

Module

Display

Data

Page 39: Drupal and the GeoSpatial Web

mapstraction?

• “Mapstraction is a library that provides a common API for various javascript mapping APIs to enable switching from one to another as smoothly as possible.”

• Support for eleven mapping providers.

• http://www.mapstraction.com/

• http://drupal.org/project/mapstraction

Page 40: Drupal and the GeoSpatial Web
Page 41: Drupal and the GeoSpatial Web

We’ve got options.

• CMS

• Modules

• Display

• Data

Page 42: Drupal and the GeoSpatial Web

Drupal

Mapstraction module

Cloudmade

Open Street Maps

CMS

Module

Display

Data

Page 43: Drupal and the GeoSpatial Web

Drupal

Mapstraction module

Free Earth

Satellite imagery

CMS

Module

Display

Data

Page 44: Drupal and the GeoSpatial Web
Page 45: Drupal and the GeoSpatial Web

Drupal

Mapstraction module

Free Earth

Satellite imagery

CMS

Module

Display

Data

Page 46: Drupal and the GeoSpatial Web

Drupal

Nice map module

NASA

Satellite imagery

CMS

Module

Display

Data

Page 47: Drupal and the GeoSpatial Web

Nice map?

• “Nice Map is a WMS client for Drupal.”

• http://drupal.org/project/nicemap

Page 48: Drupal and the GeoSpatial Web

WMS?

• “An Open Geospatial Consortium Web Map Service (WMS) produces maps of spatially referenced data dynamically from geographic information.”

• http://www.opengeospatial.org/

Page 49: Drupal and the GeoSpatial Web
Page 50: Drupal and the GeoSpatial Web

We’ve got options.

• CMS

• Modules

• Display

• Data

Page 51: Drupal and the GeoSpatial Web

Drupal

Nice map module

Mapnik

Whatever I can get my hands on!

CMS

Module

Display

Data

Page 52: Drupal and the GeoSpatial Web
Page 53: Drupal and the GeoSpatial Web

We’ve got options.

• CMS

• Modules

• Display

• Data

Page 54: Drupal and the GeoSpatial Web

Was he really kidding about Drupal?

Page 55: Drupal and the GeoSpatial Web
Page 56: Drupal and the GeoSpatial Web
Page 57: Drupal and the GeoSpatial Web

cut to Andrew...

Page 58: Drupal and the GeoSpatial Web

photourl

...and the Geospatial Web

@ajturner

Page 59: Drupal and the GeoSpatial Web

What is this Geospatial Web?

Page 60: Drupal and the GeoSpatial Web

The Web

Page 61: Drupal and the GeoSpatial Web

The Drupal Web http://www.aharef.info

Page 62: Drupal and the GeoSpatial Web

The Geospatial Web

Page 63: Drupal and the GeoSpatial Web

unread POI’s 1000+

Page 64: Drupal and the GeoSpatial Web

Life Digitized

Page 65: Drupal and the GeoSpatial Web

OK - so how is the Geospatial Web different?

Page 66: Drupal and the GeoSpatial Web

http://flickr.com/photos/wolfsoul/1352149315

Formats

Page 67: Drupal and the GeoSpatial Web

Create

Publish

Aggregate

Consume

Exif GeoRSS KML GeocodingGPX

GeoRSS KML Microformats MachineTags

GML KML GeoRSS GeoJSONWFS

Page 68: Drupal and the GeoSpatial Web

!

!

Standards Organizations

Page 69: Drupal and the GeoSpatial Web

NOAA WMS

Page 70: Drupal and the GeoSpatial Web

WMS Request

http://www.ngdc.noaa.gov/eog/maps/cgi-bin/public/ms/poster?LAYERS=nighttime_lights_f152003&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326&BBOX=53.81333333,-90.000,170.7208,26.906666&WIDTH=256&HEIGHT=256

Page 71: Drupal and the GeoSpatial Web

Where’s my vector data?

http://code.flickr.com/blog/2009/02/04/100000000-geotagged-photos-plus/

Page 72: Drupal and the GeoSpatial Web

WFS Request

http://giswebservices.massgis.state.ma.us/geoserver/wfs?request=getfeature&version=1.0.0&service=wfs&propertyname=TOWN,POP2000&typename=massgis:GISDATA.TOWNS_POLYM&filter=%3CFilter+xmlns=%22http://www.opengis.net/ogc%22%3E%3CPropertyIsGreaterThan%3E%3CPropertyName%3EPOP2000%3C/PropertyName%3E%3CLiteral%3E100000%3C/Literal%3E%3C/PropertyIsGreaterThan%3E%3C/Filter%3E

Page 73: Drupal and the GeoSpatial Web

WFS GML Response

<?xml version="1.0" encoding="UTF-8"?><wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:massgis="http://massgis.state.ma.us/featuretype" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://massgis.state.ma.us/featuretype http://giswebservices.massgis.state.ma.us/geoserver/wfs/DescribeFeatureType?typeName=massgis:GISDATA.TOWNS_POLYM http://www.opengis.net/wfs http://giswebservices.massgis.state.ma.us/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd"> <gml:boundedBy> <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#26986"> <gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" " >107210.18360951201,868673.000913621 252005.57369636302,935123.120655508</gml:coordinates> </gml:Box> </gml:boundedBy></wfs:FeatureCollection>

Page 74: Drupal and the GeoSpatial Web

Does it really have to be that hard?

http://code.flickr.com/blog/2009/02/04/100000000-geotagged-photos-plus/

Page 75: Drupal and the GeoSpatial Web

GeoRSS http://georss.org

Page 76: Drupal and the GeoSpatial Web

GeoRSS http://georss.org

+

Page 77: Drupal and the GeoSpatial Web

GeoRSS http://georss.org

<georss:point>45.256 -71.92

</georss:point>+

Page 78: Drupal and the GeoSpatial Web

USGS http://earthquake.usgs.gov/eqcenter/catalogs/

Page 79: Drupal and the GeoSpatial Web

FriendFeed

Page 80: Drupal and the GeoSpatial Web

photourl

KML

http://code.google.com/apis/kml/documentation/kmlreference.html

Page 81: Drupal and the GeoSpatial Web
Page 82: Drupal and the GeoSpatial Web

GeoJSON

{ "type": "Point", "coordinates": [100.0, 0.0] }

Page 83: Drupal and the GeoSpatial Web

Drupal Modules FeedAPI

• FeedAPI

• KML Module

• GeoRSS Module

• NiceMap (WMS)

• Atom

Page 84: Drupal and the GeoSpatial Web

But how do I query data?

http://code.flickr.com/blog/2009/02/04/100000000-geotagged-photos-plus/

Page 85: Drupal and the GeoSpatial Web

OpenSearch

Page 86: Drupal and the GeoSpatial Web

OpenSearch Template

http://example.com/search?keyword={searchTerms}&limit={count?}&page={startPage?}

requiredoptional?

Page 87: Drupal and the GeoSpatial Web

OpenSearch-Geo

http://geo.example.com/search.atom?keyword={searchTerms}&location={geo:locationString?}&lat={geo:lat?}&lon={geo:lon?}&distance={geo:radius?}&bbox={geo:box?}

Page 88: Drupal and the GeoSpatial Web

Where is the GeoREST?

http://code.flickr.com/blog/2009/02/04/100000000-geotagged-photos-plus/

Page 89: Drupal and the GeoSpatial Web

KML + GeoRSS+HTML http://highearthorbit.com/a-proposal-georss-kml

Page 90: Drupal and the GeoSpatial Web

AtomPub-Geo

Page 91: Drupal and the GeoSpatial Web

Create

Publish

Aggregate

Consume

Exif GeoRSS KML GeocodingGPX

GeoRSS KML Microformats MachineTags

GML KML GeoRSS GeoJSONWFS

Page 93: Drupal and the GeoSpatial Web

Flickr Export

Page 94: Drupal and the GeoSpatial Web

Google Picasa + Panoramio

Page 95: Drupal and the GeoSpatial Web

GeoWeb2.0

Page 96: Drupal and the GeoSpatial Web

What else is there besides blog posts?

Page 97: Drupal and the GeoSpatial Web

Real-Time Data

Page 99: Drupal and the GeoSpatial Web

Local Governments http://data.octo.dc.gov

Page 100: Drupal and the GeoSpatial Web

National Governments http://www.recovery.gov/

Page 101: Drupal and the GeoSpatial Web

Inter-Government http://inspire.jrc.ec.europa.eu/

Page 102: Drupal and the GeoSpatial Web

Global NGO http://ungiwg.org

Page 103: Drupal and the GeoSpatial Web

Registries http://geonetwork.org

Page 104: Drupal and the GeoSpatial Web

Repositories & Aggregators

http://geocommons.com

Page 105: Drupal and the GeoSpatial Web

But I’m already using GoogleMaps.

Page 106: Drupal and the GeoSpatial Web

GoogleMaps http://maps.google.com

Page 107: Drupal and the GeoSpatial Web

Design

Page 108: Drupal and the GeoSpatial Web

Usability

Page 109: Drupal and the GeoSpatial Web

Data Ownership and Access

Page 110: Drupal and the GeoSpatial Web

Data Ownership and Access

Page 111: Drupal and the GeoSpatial Web

Data Coverage and Quality

Page 112: Drupal and the GeoSpatial Web

Data Coverage and Quality

Page 113: Drupal and the GeoSpatial Web
Page 114: Drupal and the GeoSpatial Web

OpenStreetMap http://openstreetmap.org

Page 115: Drupal and the GeoSpatial Web

OSM in Flickr

Page 116: Drupal and the GeoSpatial Web

OpenAerialMap http://openaerialmap.org

Page 117: Drupal and the GeoSpatial Web

ODbL Open Database License

http://www.opendatacommons.org/

Page 118: Drupal and the GeoSpatial Web

http://flickr.com/photos/wwworks/1384952210

Community

Page 119: Drupal and the GeoSpatial Web

“Geowankers” yes, you heard me correctly

http://flickr.com/photos/x180/2494170626/

Page 120: Drupal and the GeoSpatial Web

OSGeo http://osgeo.org

Page 121: Drupal and the GeoSpatial Web

OpenStreetMap http://openstreetmap.org

Page 122: Drupal and the GeoSpatial Web

Mapping Parties

Page 123: Drupal and the GeoSpatial Web

Mappers Anonymous

Page 124: Drupal and the GeoSpatial Web

http://wiki.openstreetmap.org/wiki/StatsExponential Growth

Page 126: Drupal and the GeoSpatial Web

http://flickr.com/photos/seandreilinger/2326448445

And why is thisimportant to me?

Page 127: Drupal and the GeoSpatial Web

Apps for Democracy

Page 128: Drupal and the GeoSpatial Web

A Drupal Example

Page 129: Drupal and the GeoSpatial Web

A Drupal Example

KML

Page 130: Drupal and the GeoSpatial Web

A Drupal Example

KML

GeoRSS

Page 131: Drupal and the GeoSpatial Web

A Drupal Example

KML

GeoRSS

WMS

Page 132: Drupal and the GeoSpatial Web

A Drupal Example

KML

GeoRSS

WMS

Page 133: Drupal and the GeoSpatial Web

A Drupal Example

KML

GeoRSS

WMS

Page 134: Drupal and the GeoSpatial Web

A Drupal Example

KML

GeoRSS

WMS

Page 135: Drupal and the GeoSpatial Web

A GeoWeb Example

Page 136: Drupal and the GeoSpatial Web

A GeoWeb Example

Page 137: Drupal and the GeoSpatial Web

slideshare.net/ajturner

Drupal and the Geospatial Web

Jeff Miccolis - @miccolisDevelopment Seed

Andrew Turner - @ajturnerFortiusOne - GeoCommons