CartoCSS style for rendering a riverboat oriented map on top of OSM data
CartoCSS Python
Switch branches/tags
Nothing to show
Latest commit 707e055 Mar 15, 2015 @yohanboniface Merge pull request #78 from cquest/patch-1
navigable_waterlayer: && !bbox! tests on geometries


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?