This is the main source repository for the OpenStreetMap contribution tool RoofMapper.
It allows users to easily improve the OSM database, on a very specific subject: telling what the building's roofs are made of, according to aerial imagery. Resulting maps are generated daily from the contributions.
The server is built with Node.js, uses PostGIS for data storage and Mapnik for map generation.
- NPM
- Node.js
- PostgreSQL
- with PostGIS extensions
- Setup the database using instructions found in
server/sql/schema.sql
andserver/sql/map.sql
- Fill the database with buildings
- Use
buildingextractor
to get data
- Use
- Clone this repository
- Execute
npm install
in theserver
directory- Mapnik comes automatically with the
node-mapnik
package
- Mapnik comes automatically with the
- Setup the configuration
server/config/default.json
for developmentserver/config/production.json
for production
- Add geographical data in
data/mapdata
- Currently, this dataset is required, download and extract it in the directory
node ./bin/www
for development mode (or justnpm run start
)NODE_ENV=production node ./bin/www
for production mode
The web client is packaged with Webpack.
- NPM
- Clone this repository
- Execute
npm install
in theclient
directory - Run
npm run build
for production build - The server automatically serves the client
When developing, it is advised to use npm run watch-dev
, which rebuilds the client after each change.
MIT, cf. LICENSE.md
.