The style is still a work in progress and you are encouraged to use the issue tracker to note missing features or problems with the current implementation.
1. Download shapefiles
OSM Bright depends on several large shapefiles. You should start downloading these now so that they are ready later when you need them for rendering.
Download them to the
osm-bright directory. You can do this with
wget http://tilemill-data.s3.amazonaws.com/osm/coastline-good.zip wget http://tilemill-data.s3.amazonaws.com/osm/shoreline_300.zip wget http://mapbox-geodata.s3.amazonaws.com/natural-earth-1.3.0/physical/10m-land.zip
2. Set up PostgreSQL & PostGIS
2. Import OpenStreetMap data
You will need an OSM database extract in one of the following formats:
- .osm.pbf (binary; smallest & fastest)
- .osm.bz2 (compressed xml)
- .osm (xml)
If you are using Imposm, you should use the included mapping configuration which includes a few important tags compared to the default. The Imposm import command looks like this:
imposm -U <postgres_user> -d <postgis_database> \ -m /path/to/osm-bright/imposm-mapping.py --read --write \ --optimize --deploy-production-tables <data.osm.pbf>
imposm --help or the online documentation for more details.
If you are using osm2pgsql the default style file should work well. The osm2pgsql import command looks like this:
osm2pgsql -c -G -U <postgres_user> -d <postgis_database> <data.osm.pbf>
man osm2pgsql or the online documentation for more details.
3. Edit the configuration
You'll need to adjust some settings for things like your PostgreSQL connection information.
Make a copy of
configure.py.sampleand name it
cp configure.py.sample configure.py
configure.pyin a text editor.
- Make sure the "importer" option matches the program you used to import your data (either "imposm" or "osm2pgsql").
- Optionally change the name of your project from the default, 'OSM Bright'.
- Adjust, if needed, the path to point to your MapBox project folder.
- Make any adjustments to the PostgreSQL connection settings. Your database may be set up so that you require a password or different user name.
- Optionally adjust the query extents or shapefile locations. (Refer to the comments in the configuration file for more information.)
- Save & close the file.
4. Run make.py
This will create a new folder called "build" with your new project, customized
with the variables you set in
configure.py and install a copy of this build
to your MapBox project folder. If you open up TileMill you should see your new
map in the project listing.
Click on the map to view it in the editing interface.
Have patience: the first time the project opens it needs to download very large shapefiles before the map can render. This can take 5-10 minutes on a fast connection and longer on a slow connection. Keep TileMill open and feel free to navigate back to the projects view then back to the project editor view to check on its loading status. You can also check the TileMill logs to see the download status of the remote files.
Once the map tiles show up, you're now ready to start editing the template in TileMill!