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.sqlandserver/sql/map.sql - Fill the database with buildings
- Use
buildingextractorto get data
- Use
- Clone this repository
- Execute
npm installin theserverdirectory- Mapnik comes automatically with the
node-mapnikpackage
- Mapnik comes automatically with the
- Setup the configuration
server/config/default.jsonfor developmentserver/config/production.jsonfor production
- Add geographical data in
data/mapdata- Currently, this dataset is required, download and extract it in the directory
node ./bin/wwwfor development mode (or justnpm run start)NODE_ENV=production node ./bin/wwwfor production mode
The web client is packaged with Webpack.
- NPM
- Clone this repository
- Execute
npm installin theclientdirectory - Run
npm run buildfor 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.