Find file
Fetching contributors…
Cannot retrieve contributors at this time
59 lines (37 sloc) 3 KB

Open Riverboat Map

Open Riverboat Map plans to make an open source CartoCSS map style of navigable waterways, on top of OpenStreetMap project.

Open Riverboat Map is derived from OSM-bright MapBox project.

Design philosophy

  • at low zoom level, all the navigable waterways network should appear clearly ; all other informations are diminished, unless some main geographical informations that helps understand the situation (mainly big cities)
  • at intermediate zoom level, the navigable waterways remain the central informations, but also some other usefull informations must be visible: main harbours, locks (quietly)... Non "riverboat" informations begin to become visible, but allways in second place
  • at high zoom level, we try to display as useful informations as possible for the "inland navigator": mooring places, height of bridges, number of arches for a bridge, oneways...

Getting involved

  • symlink the openriverboatmap directory into your TileMill projects directory (by default in ~/Documents/MapBox/project/).

  • import some OSM data with osm2pgsql , using default style but with option --hstore-all (or ping me to get a psql dump)

  • indexes to create:

    CREATE INDEX idx_planet_osm_line_motorboat_waterway ON planet_osm_line USING btree(waterway,(tags->'motorboat'),(tags->'CEMT')) WHERE waterway IS NOT NULL AND (tags ? 'motorboat' or tags ? 'CEMT');
    CREATE INDEX idx_planet_osm_polygon_leisure ON planet_osm_polygon USING btree(leisure) WHERE leisure IS NOT NULL;
    CREATE INDEX idx_planet_osm_polygon_waterway ON planet_osm_polygon USING btree(waterway,way_area) WHERE waterway IS NOT NULL;
    CREATE INDEX idx_planet_osm_polygon_natural ON planet_osm_polygon USING btree("natural",way_area) WHERE "natural" IS NOT NULL;
    CREATE INDEX idx_planet_osm_polygon_area_100000 ON planet_osm_polygon USING btree(way_area) WHERE way_area > 100000;
    CREATE INDEX idx_planet_osm_polygon_area_10000 ON planet_osm_polygon USING btree(way_area) WHERE way_area > 10000;
    CREATE INDEX idx_planet_osm_line_man_made ON planet_osm_line USING btree(man_made) WHERE man_made IS NOT NULL;
    CREATE INDEX idx_planet_osm_polygon_man_made ON planet_osm_polygon USING btree(man_made) WHERE man_made IS NOT NULL;
  • for customizing local database connection, you can use CartoCC

  • start hacking the style, commit in a branch, and make a pull request! :)

Who use it?