Marine Mapping with OpenStreetMap

40
Tampa Bay Marine Mapping with OpenStreetMap Coleman McCormick @colemanm

Transcript of Marine Mapping with OpenStreetMap

Page 1: Marine Mapping with OpenStreetMap

Tampa Bay Marine Mappingwith OpenStreetMap

Coleman McCormick@colemanm

Page 2: Marine Mapping with OpenStreetMap

SailingBoatingFishing+Mapping

osm.org/user/coleman@colemanm

Page 3: Marine Mapping with OpenStreetMap
Page 4: Marine Mapping with OpenStreetMap
Page 5: Marine Mapping with OpenStreetMap
Page 6: Marine Mapping with OpenStreetMap

CHARTS

Page 7: Marine Mapping with OpenStreetMap

GOOD

Artistic

Functional

Information-dense

Page 8: Marine Mapping with OpenStreetMap

Outdated

Paper & water don’t mix

Data is inherently non-portable

NOT SO GOOD

Page 9: Marine Mapping with OpenStreetMap

Daymarks

Page 10: Marine Mapping with OpenStreetMap

Soundings

Page 11: Marine Mapping with OpenStreetMap

Landmarks

Page 12: Marine Mapping with OpenStreetMap

Lights

Page 13: Marine Mapping with OpenStreetMap

Channels

Page 14: Marine Mapping with OpenStreetMap

How do I map these things?

Page 15: Marine Mapping with OpenStreetMap

OpenSeaMapFree & open nautical chartUses the OpenStreetMap databaseopenseamap.org

Page 16: Marine Mapping with OpenStreetMap
Page 17: Marine Mapping with OpenStreetMap
Page 18: Marine Mapping with OpenStreetMap
Page 19: Marine Mapping with OpenStreetMap

Beacons Buoys Lights Anchorages

Page 20: Marine Mapping with OpenStreetMap

Tagging Examples

Page 21: Marine Mapping with OpenStreetMap

seamark:type = beacon_lateralseamark:name = 44seamark:beacon_lateral:category = portseamark:beacon_lateral:colour = redseamark:beacon_lateral:height = 3seamark:topmark:shape = cone, upseamark:topmark:colour = red

Standard daymark

Page 22: Marine Mapping with OpenStreetMap

seamark:type = noticeseamark:name = No Wakeseamark:notice:category = no_wakeseamark:notice:function = restriction

Notice to boaters

Page 23: Marine Mapping with OpenStreetMap

seamark:type = lightseamark:light_minor:colour = redseamark:light_minor:character = Flseamark:light_minor:period = 4seamark:light_minor:range = 3seamark:light_minor:height = 4

Light

Page 24: Marine Mapping with OpenStreetMap
Page 25: Marine Mapping with OpenStreetMap

Editing Work!ow

Page 26: Marine Mapping with OpenStreetMap

Dogfooding our own softwareFulcrum

Page 27: Marine Mapping with OpenStreetMap
Page 28: Marine Mapping with OpenStreetMap

geoJSON feature output:

{ "type": "Feature", "properties": { "seamark:type": "beacon_lateral", "seamark:name": "11", “seamark:beacon_lateral:category”: “starboard”, “seamark:beacon_lateral:colour”: “green”, "seamark:beacon_lateral:shape": "pile", "seamark:beacon_lateral:system": "iala-a" }, "geometry": { "type": "Point", "coordinates": [ -82.817967, 28.032795 ] }}

Page 29: Marine Mapping with OpenStreetMap
Page 30: Marine Mapping with OpenStreetMap

./ogr2osm.py openseamap_markers.geojson

openseamap_markers.osm

http://svn.openstreetmap.org/applications/utils/import/ogr2osm/

Page 31: Marine Mapping with OpenStreetMap
Page 32: Marine Mapping with OpenStreetMap
Page 33: Marine Mapping with OpenStreetMap

Custom database tables from extracts with imposmhttp://imposm.org

Page 34: Marine Mapping with OpenStreetMap

imposm -U dbuser -d dbname -m spinnaker-mapping.py \ --read --write --optimize --deploy-production-tables \ florida.osm.pbf

Page 35: Marine Mapping with OpenStreetMap
Page 36: Marine Mapping with OpenStreetMap

Custom Electronic Charts

Page 37: Marine Mapping with OpenStreetMap
Page 38: Marine Mapping with OpenStreetMap
Page 39: Marine Mapping with OpenStreetMap