Giter Club home page Giter Club logo

mapeo-desktop's Introduction

Mapeo Desktop

An experimental offline mapping app for indigenous territory mapping in remote environments. It uses osm-p2p for offline peer-to-peer synchronization of an OpenStreetMap database, without any server. The editor is based on iDEditor, a simple and easy to use editor for OpenStreetMap. The app is web app built with Electron for desktop integration and offline usage.

This project is under active development and is still at the prototype phase, although we are already testing it out in the field in Ecuador.

screenshot

Getting Started

To clone and install all dependencies and start the program, execute

$ git clone [email protected]:digidem/mapeo-desktop.git
$ cd mapeo-desktop
$ npm install
$ npm run build
$ npm run rebuild-leveldb
$ npm start

Local Development

To run the application with debugging enabled, execute

$ npm run dev

Packaging

Mapeo uses Electron. To package the Electron app as a native Windows .exe or macOS .dmg, execute

$ npm run installer-win

or

$ npm run dmg-mac

The resultant installer or DMG will be placed in the ./dist folder.

Creating a Release

Mapeo uses GitHub Releases for deployment.

To create a release, simply push a git tag to the repository. A convenient way to both advance the project by a version and push a tag is using the npm version command. To create a new minor version and push it to the github repository to initiate a build, one might run

$ npm version minor

$ git push --tags

A github release will be created automatically. Simultaneously, an Appveyor build will be started to create a Windows installer, and a Travis build will be started for a macOS DMG. Each will be added to the github release asynchronously as they complete.

You'll be able to find the results on the project's releases page.

Custom Imagery

To add local tiles for offline use, copy or symlink a folder of tiles into 'tiles' within the app's folder in your application directory, which by default points to:

  • %APPDATA% on Windows
  • $XDG_CONFIG_HOME or ~/.config on Linux
  • ~/Library/Application Support on macOS

The app folder will be electron if you are in development, or the application name (currently "Mapeo") if you are working with the packaged app. E.g. on a mac, copy the folder of image tiles into: ~/Library/Application Support/Mapeo/tiles

Edit imagery.json accordingly with a type of tms. The tileserver runs on localhost on port 5005. For example:

[
  {
    "name": "local guyana tiles",
    "type": "tms",
    "template": "http://localhost:5005/guyana/{zoom}/{x}/{y}.jpg",
    "polygon": [
      [[2.115, -59.28],[2.345,-59.05]]
    ]
  }
]
$ ln -s ~/data/guyana_tiles/LC82310582015254LGN00 public/tiles/guyana

Custom Presets

(coming soon)

License

MIT

mapeo-desktop's People

Contributors

gmaclennan avatar hackergrrl avatar okdistribute avatar noffle avatar karissa avatar ungoldman avatar

Watchers

James Cloos avatar Ahamarshan JN avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.