Git Product home page Git Product logo

josm-fieldpapers's Introduction

This is an umbrella project for collaborating on Field Papers.

Quick links

Helping

So, you want to help with Field Papers. Great!

Field Papers is fundamentally about facilitating the production of printed (web) maps and providing a means to capture data that has been collected in the field.

In its current form, this translates to the creation of multi-page PDFs (intended for varying paper sizes), ideally at high resolution, using map sources and overlays that follow Slippy Map file naming conventions. Furthermore, each page includes a QR code with a link to a page that describes the content of that page (in both human- and computer-readable forms).

The existence of quick, purpose-built paper maps that can be annotated is often sufficient, but FP goes a step further and will take the offline online.

Pages may be turned into snapshots by scanning them or taking photos and then uploading them. These images will be geo-rectified and turned into a slippy map layer suitable for browsing or as an overlay in a tool like QGIS, iD, or JOSM. (They're also available for download as GeoTIFFs.)

That's basically it. Obviously additional features / tweaks complete the picture, which is where you come in.

Project Breakdown

For Multi-lingual Individuals

Field Papers is often used on the ground in disaster-stricken areas and the developing world, and not everyone speaks English. Field Papers is intended to be translated, so please help! We have a Field Papers project on Transifex that you can contribute to. Even partial translations are better than none, so let's get started!

Web site translation status:

Translation Status (www)

Field Papers uses Devise for managing users. As a result, we can share translations with other projects. Translations are managed using Locale: devise-i18n (GH), devise-i18n-views (GH).

If you encounter strings on the site that don't appear to have corresponding entries in Transifex or Locale, please open an issue so we can track them down.

For Web Developers

The Field Papers web site is a standard Rails application, chosen to minimize the amount of effort required to implement standard features (Rails has a fantastic ecosystem of plugins for concerns ranging from pagination to user account management). The front-end is similarly intended to be simple, with the majority of effort spent on configuring and extended Leaflet for our purposes.

Have a look at the issue list and see if there are things that appeal or seem doable. If there's insufficient information, ask for more!

For Designers

Field Papers' current design represents its minimalist past. While we intend to keep it simple (especially for users on low-bandwidth connections), that doesn't mean we can't add a bit of flair. The same goes for the design of the printed atlases--they originally used Python (and Cairo) to produce PDFs, but are now using HTML, which expands our options.

For Computer Vision Enthusiasts

The scanner component uses OpenCV to extract and geo-reference maps from images. There's surely more we can do to digitize field annotations!

For Ops People

We haven't tackled instrumentation and monitoring yet and we're not totally clear on how we're going to deploy (Heroku is a reasonable default, and we're aiming to provide Dockerfiles for each component). Weigh in with your expertise and help us figure out the best approach.

Field Papers isn't just fieldpapers.org, as some organizations have configured it in "appliance-mode" before deploying it into the field. Let's do what we can to keep this process smooth.

For Everyone Else

If you're using Field Papers, we care about how you're using it. If you're finding bugs, let us know and help us fix them. If you have ideas about features that would make your life easier, write them up as proposals (explaining how they would be useful, particularly in the field, is very helpful) and add them either as GitHub issues or on the wiki (we're still figuring this out) and see what you can do to drum up feedback and support.

Documentation in its many forms is also immensely welcomed, whether it's how to use Field Papers with QGIS or collections of good ways to use it in your local community.

josm-fieldpapers's People

Contributors

don-vip avatar floscher avatar iandees avatar mojodna avatar quincylvania avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

josm-fieldpapers's Issues

Update access token in `.travis.yml`

Currently Travis CI can't publish releases for this repository, because it still has the token for the old repository location iandeed/josm-fieldpapers:

- provider: releases
api-key:
secure: GUDz8pgKvi5M6m4oCMJoKqKT3GjU42PYTF97ASRaPjxVTXH0kETdmV0zADZuzITo5X5uALozP3pRjrtnnDFMmyyo+KIhhNplKr7T5aLJQMwI+bLT+ioseRlxqxAHPILf9qZKKbJKEsKAOEQ8N8fDxI5oyivXICT15LLjrCVS6Z8=

NullPointerException when trying to load field paper

When trying to load the field paper snapshot http://fieldpapers.org/atlases/1njp0xyy in JOSM 16812 with josm-fieldpapers v0.5.0, I get the following NullPointerException:

2021-01-02 10:13:59.738 INFORMATION: GET http://fieldpapers.org/atlases/1njp0xyy -> HTTP/1.1 406 (868 ms; 41 B)
2021-01-02 10:13:59.742 SCHWERWIEGEND: Handled by bug report queue: java.lang.NullPointerException
java.lang.NullPointerException
        at org.openstreetmap.josm.plugins.fieldpapers.FieldPapersAddLayerAction.openUrl(FieldPapersAddLayerAction.java:73)
        at org.openstreetmap.josm.plugins.fieldpapers.FieldPapersAddLayerAction.actionPerformed(FieldPapersAddLayerAction.java:58)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
        at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
        at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
        at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
        at java.desktop/java.awt.Component.processEvent(Component.java:6400)
        at java.desktop/java.awt.Container.processEvent(Container.java:2263)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Cannot load plugin

Using the the latest JOSM r6070.

I get this error after restarting JOSM.

Could not load plugin fieldpapers because the plugin main class 'org.openstreetmap.josm.plugins.fieldpapers.FieldPapersPlugin' was not found. Delete from preferences?

pasting fieldpapers id using mouse click

Problems

There are people that not getting used to keyboard shortcut for pasting. So it will be good if people also can use right-click mouse - paste to do it.

plugin version is not available

when I start JOSM from command line, I see this message (among others)

WARNING: Missing plugin main version in plugin fieldpapers

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.