Tampa Bay Marine Mapping
with OpenStreetMap
Coleman McCormick
@colemanm
Sailing
Boating
Fishing
+
Mapping
osm.org/user/coleman
@colemanm
CHARTS
GOOD
Artistic
Functional
Information-dense
Outdated
Paper & water don’t mix
Data is inherently non-portable
NOT SO GOOD
Daymarks
Soundings
Landmarks
Lights
Channels
How do I map these things?
OpenSeaMap
Free & open nautical chart
Uses the OpenStreetMap database
openseamap.org
Beacons Buoys Lights Anchorages
Tagging Examples
seamark:type = beacon_lateral
seamark:name = 44
seamark:beacon_lateral:category = port
seamark:beacon_lateral:colour = red
seamark:beacon_lateral:height = 3
seamark:topmark:shape = cone, up
seamark:topmark:colour = red
Standard daymark
seamark:type = notice
seamark:name = No Wake
seamark:notice:category = no_wake
seamark:notice:function = restriction
Notice to boaters
seamark:type = light
seamark:light_minor:colour = red
seamark:light_minor:character = Fl
seamark:light_minor:period = 4
seamark:light_minor:range = 3
seamark:light_minor:height = 4
Light
Editing Work!ow
Dogfooding our own software
Fulcrum
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 ]
}
}
./ogr2osm.py openseamap_markers.geojson
openseamap_markers.osm
http://svn.openstreetmap.org/applications/utils/import/ogr2osm/
Custom database tables from extracts with imposm
http://imposm.org
imposm -U dbuser -d dbname -m spinnaker-mapping.py 
--read --write --optimize --deploy-production-tables 
florida.osm.pbf
Custom Electronic Charts
Thanks!
http://j.mp/seamarks
http://openseamap.org/
https://github.com/omniscale/imposm
https://github.com/colemanm/spinnaker
coleman@spatialnetworks.com

Marine Mapping with OpenStreetMap