osm-fieldwork


Nameosm-fieldwork JSON
Version 0.9.2 PyPI version JSON
download
home_pageNone
SummaryProcessing field data from ODK to OpenStreetMap format.
upload_time2024-04-29 12:13:05
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseGPL-3.0-only
keywords hot odk openstreetmap fmtm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # OSM Fieldwork

<!-- markdownlint-disable -->
<p align="center">
  <img src="https://github.com/hotosm/fmtm/blob/main/images/hot_logo.png?raw=true" style="width: 200px;" alt="HOT"></a>
</p>
<p align="center">
  <em>Processing field data from ODK to OpenStreetMap format, and other field utils.</em>
</p>
<p align="center">
  <a href="https://github.com/hotosm/osm-fieldwork/actions/workflows/build.yml" target="_blank">
      <img src="https://github.com/hotosm/osm-fieldwork/workflows/Build/badge.svg" alt="Build">
  </a>
  <a href="https://github.com/hotosm/osm-fieldwork/actions/workflows/build-ci.yml" target="_blank">
      <img src="https://github.com/hotosm/osm-fieldwork/workflows/Build CI Img/badge.svg" alt="CI Build">
  </a>
  <a href="https://github.com/hotosm/osm-fieldwork/actions/workflows/docs.yml" target="_blank">
      <img src="https://github.com/hotosm/osm-fieldwork/workflows/Publish Docs/badge.svg" alt="Publish Docs">
  </a>
  <a href="https://github.com/hotosm/osm-fieldwork/actions/workflows/publish.yml" target="_blank">
      <img src="https://github.com/hotosm/osm-fieldwork/workflows/Publish to PyPi.org/badge.svg" alt="Publish">
  </a>
  <a href="https://github.com/hotosm/osm-fieldwork/actions/workflows/pytest.yml" target="_blank">
      <img src="https://github.com/hotosm/osm-fieldwork/actions/workflows/pytest.yml/badge.svg?branch=main" alt="Test">
  </a>
  <a href="https://pypi.org/project/osm-fieldwork" target="_blank">
      <img src="https://img.shields.io/pypi/v/osm-fieldwork?color=%2334D058&label=pypi%20package" alt="Package version">
  </a>
  <a href="https://pypistats.org/packages/osm-fieldwork" target="_blank">
      <img src="https://img.shields.io/pypi/dm/osm-fieldwork.svg" alt="Downloads">
  </a>
  <a href="https://github.com/hotosm/osm-fieldwork/blob/main/LICENSE.md" target="_blank">
      <img src="https://img.shields.io/github/license/hotosm/osm-fieldwork.svg" alt="License">
  </a>
</p>

---

📖 **Documentation**: <a href="https://hotosm.github.io/osm-fieldwork/" target="_blank">https://hotosm.github.io/osm-fieldwork/</a>

🖥️ **Source Code**: <a href="https://github.com/hotosm/osm-fieldwork" target="_blank">https://github.com/hotosm/osm-fieldwork</a>

---

<!-- markdownlint-enable -->

## History 📖

<img align="right" width="500px" src="https://github.com/hotosm/osm-fieldwork/assets/97789856/97ace314-1205-408b-a3c0-4c355642a98d"/>

**The History of the OSM Fieldwork Project begins with Rob Savoye,
Senior Technical Lead at Humanitarian OpenStreetMap Team.**

In 2010, Rob's rural volunteer fire department(he is also a long time
free software developer for the GNU project, fire-fighter, climber,
disaster tech support.) faced the challenge of outdated giant paper
mapbooks with incomplete information. Despite Google having limited
address and remote road coverage, the lack of cell service made it
impossible to rely on it for verification. Determined to find a solution,
Rob turned to OpenStreetMap (OSM).
<img align="left" width="300px" src="https://github.com/hotosm/osm-fieldwork/assets/97789856/afc791c7-6cc9-4496-aa93-ab02733f30b8"/>
His first step involved importing building footprints and addresses
into OSM, greatly aiding the fire department in locating places quickly
and easily. The response time was significantly reduced, nearly halved.
Given that most of the roads were dirt jeep trails, Rob undertook
ground-truthing the highway and trail data in OSM. Over the course of
several years, he diligently added precise information about all the
highways in his area, enabling the fire department to determine the
appropriate response vehicles for each scenario. Once Rob had successfully
improved the fire district maps, he expanded his efforts to map the remote
regions of Colorado and a few neighboring states, proving invaluable
during large wildland fires. Ground-truthing became an integral part of
his work, conducted using mobile devices in the field. To streamline the
data collection process, Rob heavily relied on ODK and eventually
created additional software to facilitate data processing, which had
previously been time-consuming and tedious. Now, transferring data
seamlessly from his phone to OSM requires minimal effort. To this day,
Rob continues his weekly field mapping every few months while continuously
enhancing the software used in the project.

## About OSM Fieldwork

Osm-Fieldwork is a project for processing data collection using
ODK into OpenStreetMap format. It includes several utility
programs that automate part of the data flow like creating satellite
imagery basemaps and data extracts from
[OpenStreetMap](https://www.openstreetmap.org) so they can be
used with [ODK Collect](https://www.getodk.org). Many of these steps
are currently a manual process.
<img align="right" width="500px" src="https://github.com/hotosm/osm-fieldwork/assets/97789856/52b33f76-0ec2-4371-bb70-1528161a3c77"/>
All of the programs in osm-fieldwork are designed to function as the
backend of a webpage, but to also work standalone and offline. The
standalone functionality are simple command line programs run in a
terminal. They were originally created for producing emergency
response maps in the Western United States, which is explained in this
talk from SOTM-US 2022 titled [OSM For
Firefighting](https://www.youtube.com/watch?v=qgk9al1rluE). Much of
the tech and usage is explained in these [tech
briefs](https://www.senecass.com/projects/Mapping/tech/). Currently
these are now part of the backend for the
[Field Mapping Tasking Manager](https://hotosm.github.io/fmtm) project at
[HOT](https://www.hotosm.org).

## Installation

To install osm-fieldwork, you can use pip. Here are two options:

- Directly from the main branch:

```bash
pip install git+https://github.com/hotosm/osm-fieldwork.git
```

- Latest on PyPi:

```bash
pip install osm-fieldwork
```

## Configure

Osm-Fieldwork can be configured using a simple config
($HOME/.osm-fieldwork)file in your home directory,
or using environment variables.

### Config file

The config file is used to store the credentials to access an ODK
Central server. You must have an account on the Central server of
course for this to work. That file looks like this:

```dotenv
url=https://foo.org
user=foo@bar.org
passwd=arfood
```

### Environment Variables

- **LOG_LEVEL**

> If present, will change the log level. Defaults to DEBUG.

- **ODK_CENTRAL_URL**

> The URL for an ODKCentral server to connect to.

- **ODK_CENTRAL_USER**

> The user for ODKCentral.

- **ODK_CENTRAL_PASSWD**

> The password for ODKCentral.

- **ODK_CENTRAL_SECURE**

> If set to False, will allow insecure connections to the ODKCentral API.
> Else defaults to True.

## Using the Container Image

- osm-fieldwork scripts can be used via the pre-built container images.
- These images come with all dependencies bundled, so are simple to run.

Run a specific command:

```bash
docker run --rm -v $PWD:/data ghcr.io/hotosm/osm-fieldwork:latest json2osm <flags>
```

Run interactively (to use multiple commands):

```bash
docker run --rm -it -v $PWD:/data ghcr.io/hotosm/osm-fieldwork:latest
```

> Note: the output directory should always be /data/... to persist data.

## Utility Programs

These programs are more fully documented [in this](wiki/programs.md)
file. This is just a short overview.

### CSVDump.py

This program converts the data collected from ODK Collect into
the proper OpenStreetMap tagging schema. The conversion is controlled
by a
[YAML](https://github.com/hotosm/osm-fieldwork/blob/main/osm-fieldwork/xforms.yaml)
file, so easy to modify for other projects. The output are two files,
one is suitable for OSM,and is in OSM XML format. The other
No converted data should ever be uploaded to OSM without validating
the conversion in JOSM. To do efficient conversion from ODK to OSM,
it's best to use the XLSForm library as templates, as everything is
designed to work together.

### basemapper.py

This program creates basemaps of satellite imagery, and produces files
in mbtiles format for [ODK
Collect](https://docs.getodk.org/collect-intro/) and sqlitedb files
for [Osmand](https://osmand.net/). Imagery basemaps are very useful
when the map data is lacking.or in ODK Collect, selecting the current
location instead of where you are standing. The basemaps Osmand are
very useful of navigation where the map data is lacking. Imagery
can be downloaded from
[ERSI](https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9#!),
[Bing](https://www.arcgis.com/home/webmap/viewer.html?webmap=8651e4d585654f6b955564efe44d04e5#!),
[USGS Topo maps](https://apps.nationalmap.gov/datasets/), or [Open
Aerial Map](https://openaerialmap.org/)

### make_data_extract.py

This program makes data extracts from
[OpenStreetMap](https://www.openstreetmap.org) data. Multiple input
sources are supported, a local postgresql database, or the HOT
maintained [Underpass](https://galaxy.hotosm.org/) database.

### json2osm

### odk2csv.py, odk2geojson.py, odk2osm.py

These programs ER used when working offline for extended periods. This
converts the ODK XML format on your mobile device into the same CSV
format used for submissions downloaded from [ODK
Central](https://docs.getodk.org/central-intro/), or the JSON format
also from Central.

### odk_merge.py

This program conflates the data collected by ODK Collect with the
existing OSM data. The output of this file can be loaded into JOSM
for validation and uploading to OpenStreetMap.

### odk_client.py

This program is a simple command line client to an ODK Central
server. This allows you to list projects, appusers, tasks, and
submissions. You can also delete projects, tasks, and appusers, but
this should only be [used by
developers](https://en.wikipedia.org/wiki/With_great_power_comes_great_responsibility)
as it does direct database access, and you could lose all your data.

### filter_data.py

This program is used to support humanitariam data models. It extracts
the tags and values from the [data models
document](https://github.com/hotosm/osm-fieldwork/raw/main/osm_fieldwork/data_models/Impact%20Areas%20-%20Data%20Models%20V1.1.xlsx)
developed by HOT, and compares those to the taginfo database to help
fine tune what data goes into OSM or the private output data. This is
to not flood OSM with obscure tags that aren't supported by the
community. It also filters data extracts so they work with ODK
Collect.

### osm2favorites.py

This is a silly program, but it takes a GeoJson file, usually an OSM
data extract and generates a GPX file with styling for OsmAnd. This
is useful when ground-truthing map data, as it can be used for
navigating to those areas.

## Best Practices and troubleshooting

To ensure the quality of your converted data, here are some best
practices to follow:

- Always validate your conversion in JOSM before uploading to OpenStreetMap.

- Use the XLSForm library as templates to ensure that your ODK Collect
  data is compatible with the conversion process.

- If you're having trouble with the conversion process, try using the
  utility programs included with Osm-Fieldwork to troubleshoot common
  issues.

For more info visit the
[troubleshooting page](https://hotosm.github.io/osm-fieldwork/troubleshooting).

By following these best practices and using the utility programs
included with Osm-Fieldwork, you can effectively process data collection
from ODK into OpenStreetMap format. However, please note that
while Osm-Fieldwork has been tested and used in various projects, it is
still in active development and may have limitations or issues that
need to be resolved.

## XLSForm library

In the XForms directory is a collection of XLSForms that support the
new HOT data models for humanitarian data collection. These cover
many categories like healthcare, waterpoints, waste distribution,
etc... All of these XLSForms are designed to have an efficient mapper
data flow, edit existing OSM data, and support the data models.

<img align="right" width="500px" src="https://github.com/hotosm/osm-fieldwork/assets/97789856/fcfa1d87-78c3-42a1-9568-94d25cfb2711"/>

The data models specify the preferred tag values for each data item,
with a goal of both tag completeness and tag correctness. Each data item
is broken down into a basic and extended survey questions when
appropriate.

### What is an XLSForm?

An XLSForm is a spreadsheet-based form design tool that allows you to
create complex forms for data collection using a simple and intuitive
user interface. With XLSForms, you can easily design and test forms on
your computer, then deploy them to mobile devices for data collection
using ODK Collect or other data collection tools. XLSForms use a
simple and structured format, making it easy for you to share and
collaborate on form designs with your team or other organizations.

### Using the XLSForm Library with Osm-Fieldwork

The XLSForms in the XForms directory of the XLSForm Library have been
designed to support the HOT data models and have an efficient mapper
data flow. These forms also allow for editing of existing OSM data and
support the data models, specifying the preferred tag values for each
data item with the goal of both tag completeness and tag correctness.

### Here are some examples of how to use the XLSForm Library with Osm-Fieldwork

- Download an XLSForm from the XForms directory:

```bash
wget https://github.com/hotosm/xlsform/raw/master/XForms/buildings.xls
```

- Convert the XForm to OSM XML using CSVDump:

- Use the resulting OSM XML file with JOSM or other OSM editors to
  validate and edit the data before uploading it to OpenStreetMap.

## Summary

The XLSForm Library is a valuable resource for organizations involved
in humanitarian data collection, as it provides a collection of
pre-designed forms that are optimized for efficient mapper data flow
and tag completeness/correctness. By using the XLSForm Library with
Osm-Fieldwork, you can streamline your data collection process and ensure
the quality of your data.

Osm-Fieldwork is a powerful tool for processing data collection from
ODK into OpenStreetMap format. By following the best practices
outlined in this documentation and using the utility programs included
with Osm-Fieldwork, you can streamline your data collection process and
ensure the quality of your converted data. If you have any questions
or issues with osm-fieldwork, please consult the project's documentation
or seek support from the project's community.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "osm-fieldwork",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "hot, odk, openstreetmap, fmtm",
    "author": null,
    "author_email": "Rob Savoye <rob.savoye@hotosm.org>,Sam Woodcock <sam.woodcock@hotosm.org>",
    "download_url": "https://files.pythonhosted.org/packages/70/09/981a01cf696a772338451fc91157344df3ebbc28be27dedf1066ace81c36/osm-fieldwork-0.9.2.tar.gz",
    "platform": null,
    "description": "# OSM Fieldwork\n\n<!-- markdownlint-disable -->\n<p align=\"center\">\n  <img src=\"https://github.com/hotosm/fmtm/blob/main/images/hot_logo.png?raw=true\" style=\"width: 200px;\" alt=\"HOT\"></a>\n</p>\n<p align=\"center\">\n  <em>Processing field data from ODK to OpenStreetMap format, and other field utils.</em>\n</p>\n<p align=\"center\">\n  <a href=\"https://github.com/hotosm/osm-fieldwork/actions/workflows/build.yml\" target=\"_blank\">\n      <img src=\"https://github.com/hotosm/osm-fieldwork/workflows/Build/badge.svg\" alt=\"Build\">\n  </a>\n  <a href=\"https://github.com/hotosm/osm-fieldwork/actions/workflows/build-ci.yml\" target=\"_blank\">\n      <img src=\"https://github.com/hotosm/osm-fieldwork/workflows/Build CI Img/badge.svg\" alt=\"CI Build\">\n  </a>\n  <a href=\"https://github.com/hotosm/osm-fieldwork/actions/workflows/docs.yml\" target=\"_blank\">\n      <img src=\"https://github.com/hotosm/osm-fieldwork/workflows/Publish Docs/badge.svg\" alt=\"Publish Docs\">\n  </a>\n  <a href=\"https://github.com/hotosm/osm-fieldwork/actions/workflows/publish.yml\" target=\"_blank\">\n      <img src=\"https://github.com/hotosm/osm-fieldwork/workflows/Publish to PyPi.org/badge.svg\" alt=\"Publish\">\n  </a>\n  <a href=\"https://github.com/hotosm/osm-fieldwork/actions/workflows/pytest.yml\" target=\"_blank\">\n      <img src=\"https://github.com/hotosm/osm-fieldwork/actions/workflows/pytest.yml/badge.svg?branch=main\" alt=\"Test\">\n  </a>\n  <a href=\"https://pypi.org/project/osm-fieldwork\" target=\"_blank\">\n      <img src=\"https://img.shields.io/pypi/v/osm-fieldwork?color=%2334D058&label=pypi%20package\" alt=\"Package version\">\n  </a>\n  <a href=\"https://pypistats.org/packages/osm-fieldwork\" target=\"_blank\">\n      <img src=\"https://img.shields.io/pypi/dm/osm-fieldwork.svg\" alt=\"Downloads\">\n  </a>\n  <a href=\"https://github.com/hotosm/osm-fieldwork/blob/main/LICENSE.md\" target=\"_blank\">\n      <img src=\"https://img.shields.io/github/license/hotosm/osm-fieldwork.svg\" alt=\"License\">\n  </a>\n</p>\n\n---\n\n\ud83d\udcd6 **Documentation**: <a href=\"https://hotosm.github.io/osm-fieldwork/\" target=\"_blank\">https://hotosm.github.io/osm-fieldwork/</a>\n\n\ud83d\udda5\ufe0f **Source Code**: <a href=\"https://github.com/hotosm/osm-fieldwork\" target=\"_blank\">https://github.com/hotosm/osm-fieldwork</a>\n\n---\n\n<!-- markdownlint-enable -->\n\n## History \ud83d\udcd6\n\n<img align=\"right\" width=\"500px\" src=\"https://github.com/hotosm/osm-fieldwork/assets/97789856/97ace314-1205-408b-a3c0-4c355642a98d\"/>\n\n**The History of the OSM Fieldwork Project begins with Rob Savoye,\nSenior Technical Lead at Humanitarian OpenStreetMap Team.**\n\nIn 2010, Rob's rural volunteer fire department(he is also a long time\nfree software developer for the GNU project, fire-fighter, climber,\ndisaster tech support.) faced the challenge of outdated giant paper\nmapbooks with incomplete information. Despite Google having limited\naddress and remote road coverage, the lack of cell service made it\nimpossible to rely on it for verification. Determined to find a solution,\nRob turned to OpenStreetMap (OSM).\n<img align=\"left\" width=\"300px\" src=\"https://github.com/hotosm/osm-fieldwork/assets/97789856/afc791c7-6cc9-4496-aa93-ab02733f30b8\"/>\nHis first step involved importing building footprints and addresses\ninto OSM, greatly aiding the fire department in locating places quickly\nand easily. The response time was significantly reduced, nearly halved.\nGiven that most of the roads were dirt jeep trails, Rob undertook\nground-truthing the highway and trail data in OSM. Over the course of\nseveral years, he diligently added precise information about all the\nhighways in his area, enabling the fire department to determine the\nappropriate response vehicles for each scenario. Once Rob had successfully\nimproved the fire district maps, he expanded his efforts to map the remote\nregions of Colorado and a few neighboring states, proving invaluable\nduring large wildland fires. Ground-truthing became an integral part of\nhis work, conducted using mobile devices in the field. To streamline the\ndata collection process, Rob heavily relied on ODK and eventually\ncreated additional software to facilitate data processing, which had\npreviously been time-consuming and tedious. Now, transferring data\nseamlessly from his phone to OSM requires minimal effort. To this day,\nRob continues his weekly field mapping every few months while continuously\nenhancing the software used in the project.\n\n## About OSM Fieldwork\n\nOsm-Fieldwork is a project for processing data collection using\nODK into OpenStreetMap format. It includes several utility\nprograms that automate part of the data flow like creating satellite\nimagery basemaps and data extracts from\n[OpenStreetMap](https://www.openstreetmap.org) so they can be\nused with [ODK Collect](https://www.getodk.org). Many of these steps\nare currently a manual process.\n<img align=\"right\" width=\"500px\" src=\"https://github.com/hotosm/osm-fieldwork/assets/97789856/52b33f76-0ec2-4371-bb70-1528161a3c77\"/>\nAll of the programs in osm-fieldwork are designed to function as the\nbackend of a webpage, but to also work standalone and offline. The\nstandalone functionality are simple command line programs run in a\nterminal. They were originally created for producing emergency\nresponse maps in the Western United States, which is explained in this\ntalk from SOTM-US 2022 titled [OSM For\nFirefighting](https://www.youtube.com/watch?v=qgk9al1rluE). Much of\nthe tech and usage is explained in these [tech\nbriefs](https://www.senecass.com/projects/Mapping/tech/). Currently\nthese are now part of the backend for the\n[Field Mapping Tasking Manager](https://hotosm.github.io/fmtm) project at\n[HOT](https://www.hotosm.org).\n\n## Installation\n\nTo install osm-fieldwork, you can use pip. Here are two options:\n\n- Directly from the main branch:\n\n```bash\npip install git+https://github.com/hotosm/osm-fieldwork.git\n```\n\n- Latest on PyPi:\n\n```bash\npip install osm-fieldwork\n```\n\n## Configure\n\nOsm-Fieldwork can be configured using a simple config\n($HOME/.osm-fieldwork)file in your home directory,\nor using environment variables.\n\n### Config file\n\nThe config file is used to store the credentials to access an ODK\nCentral server. You must have an account on the Central server of\ncourse for this to work. That file looks like this:\n\n```dotenv\nurl=https://foo.org\nuser=foo@bar.org\npasswd=arfood\n```\n\n### Environment Variables\n\n- **LOG_LEVEL**\n\n> If present, will change the log level. Defaults to DEBUG.\n\n- **ODK_CENTRAL_URL**\n\n> The URL for an ODKCentral server to connect to.\n\n- **ODK_CENTRAL_USER**\n\n> The user for ODKCentral.\n\n- **ODK_CENTRAL_PASSWD**\n\n> The password for ODKCentral.\n\n- **ODK_CENTRAL_SECURE**\n\n> If set to False, will allow insecure connections to the ODKCentral API.\n> Else defaults to True.\n\n## Using the Container Image\n\n- osm-fieldwork scripts can be used via the pre-built container images.\n- These images come with all dependencies bundled, so are simple to run.\n\nRun a specific command:\n\n```bash\ndocker run --rm -v $PWD:/data ghcr.io/hotosm/osm-fieldwork:latest json2osm <flags>\n```\n\nRun interactively (to use multiple commands):\n\n```bash\ndocker run --rm -it -v $PWD:/data ghcr.io/hotosm/osm-fieldwork:latest\n```\n\n> Note: the output directory should always be /data/... to persist data.\n\n## Utility Programs\n\nThese programs are more fully documented [in this](wiki/programs.md)\nfile. This is just a short overview.\n\n### CSVDump.py\n\nThis program converts the data collected from ODK Collect into\nthe proper OpenStreetMap tagging schema. The conversion is controlled\nby a\n[YAML](https://github.com/hotosm/osm-fieldwork/blob/main/osm-fieldwork/xforms.yaml)\nfile, so easy to modify for other projects. The output are two files,\none is suitable for OSM,and is in OSM XML format. The other\nNo converted data should ever be uploaded to OSM without validating\nthe conversion in JOSM. To do efficient conversion from ODK to OSM,\nit's best to use the XLSForm library as templates, as everything is\ndesigned to work together.\n\n### basemapper.py\n\nThis program creates basemaps of satellite imagery, and produces files\nin mbtiles format for [ODK\nCollect](https://docs.getodk.org/collect-intro/) and sqlitedb files\nfor [Osmand](https://osmand.net/). Imagery basemaps are very useful\nwhen the map data is lacking.or in ODK Collect, selecting the current\nlocation instead of where you are standing. The basemaps Osmand are\nvery useful of navigation where the map data is lacking. Imagery\ncan be downloaded from\n[ERSI](https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9#!),\n[Bing](https://www.arcgis.com/home/webmap/viewer.html?webmap=8651e4d585654f6b955564efe44d04e5#!),\n[USGS Topo maps](https://apps.nationalmap.gov/datasets/), or [Open\nAerial Map](https://openaerialmap.org/)\n\n### make_data_extract.py\n\nThis program makes data extracts from\n[OpenStreetMap](https://www.openstreetmap.org) data. Multiple input\nsources are supported, a local postgresql database, or the HOT\nmaintained [Underpass](https://galaxy.hotosm.org/) database.\n\n### json2osm\n\n### odk2csv.py, odk2geojson.py, odk2osm.py\n\nThese programs ER used when working offline for extended periods. This\nconverts the ODK XML format on your mobile device into the same CSV\nformat used for submissions downloaded from [ODK\nCentral](https://docs.getodk.org/central-intro/), or the JSON format\nalso from Central.\n\n### odk_merge.py\n\nThis program conflates the data collected by ODK Collect with the\nexisting OSM data. The output of this file can be loaded into JOSM\nfor validation and uploading to OpenStreetMap.\n\n### odk_client.py\n\nThis program is a simple command line client to an ODK Central\nserver. This allows you to list projects, appusers, tasks, and\nsubmissions. You can also delete projects, tasks, and appusers, but\nthis should only be [used by\ndevelopers](https://en.wikipedia.org/wiki/With_great_power_comes_great_responsibility)\nas it does direct database access, and you could lose all your data.\n\n### filter_data.py\n\nThis program is used to support humanitariam data models. It extracts\nthe tags and values from the [data models\ndocument](https://github.com/hotosm/osm-fieldwork/raw/main/osm_fieldwork/data_models/Impact%20Areas%20-%20Data%20Models%20V1.1.xlsx)\ndeveloped by HOT, and compares those to the taginfo database to help\nfine tune what data goes into OSM or the private output data. This is\nto not flood OSM with obscure tags that aren't supported by the\ncommunity. It also filters data extracts so they work with ODK\nCollect.\n\n### osm2favorites.py\n\nThis is a silly program, but it takes a GeoJson file, usually an OSM\ndata extract and generates a GPX file with styling for OsmAnd. This\nis useful when ground-truthing map data, as it can be used for\nnavigating to those areas.\n\n## Best Practices and troubleshooting\n\nTo ensure the quality of your converted data, here are some best\npractices to follow:\n\n- Always validate your conversion in JOSM before uploading to OpenStreetMap.\n\n- Use the XLSForm library as templates to ensure that your ODK Collect\n  data is compatible with the conversion process.\n\n- If you're having trouble with the conversion process, try using the\n  utility programs included with Osm-Fieldwork to troubleshoot common\n  issues.\n\nFor more info visit the\n[troubleshooting page](https://hotosm.github.io/osm-fieldwork/troubleshooting).\n\nBy following these best practices and using the utility programs\nincluded with Osm-Fieldwork, you can effectively process data collection\nfrom ODK into OpenStreetMap format. However, please note that\nwhile Osm-Fieldwork has been tested and used in various projects, it is\nstill in active development and may have limitations or issues that\nneed to be resolved.\n\n## XLSForm library\n\nIn the XForms directory is a collection of XLSForms that support the\nnew HOT data models for humanitarian data collection. These cover\nmany categories like healthcare, waterpoints, waste distribution,\netc... All of these XLSForms are designed to have an efficient mapper\ndata flow, edit existing OSM data, and support the data models.\n\n<img align=\"right\" width=\"500px\" src=\"https://github.com/hotosm/osm-fieldwork/assets/97789856/fcfa1d87-78c3-42a1-9568-94d25cfb2711\"/>\n\nThe data models specify the preferred tag values for each data item,\nwith a goal of both tag completeness and tag correctness. Each data item\nis broken down into a basic and extended survey questions when\nappropriate.\n\n### What is an XLSForm?\n\nAn XLSForm is a spreadsheet-based form design tool that allows you to\ncreate complex forms for data collection using a simple and intuitive\nuser interface. With XLSForms, you can easily design and test forms on\nyour computer, then deploy them to mobile devices for data collection\nusing ODK Collect or other data collection tools. XLSForms use a\nsimple and structured format, making it easy for you to share and\ncollaborate on form designs with your team or other organizations.\n\n### Using the XLSForm Library with Osm-Fieldwork\n\nThe XLSForms in the XForms directory of the XLSForm Library have been\ndesigned to support the HOT data models and have an efficient mapper\ndata flow. These forms also allow for editing of existing OSM data and\nsupport the data models, specifying the preferred tag values for each\ndata item with the goal of both tag completeness and tag correctness.\n\n### Here are some examples of how to use the XLSForm Library with Osm-Fieldwork\n\n- Download an XLSForm from the XForms directory:\n\n```bash\nwget https://github.com/hotosm/xlsform/raw/master/XForms/buildings.xls\n```\n\n- Convert the XForm to OSM XML using CSVDump:\n\n- Use the resulting OSM XML file with JOSM or other OSM editors to\n  validate and edit the data before uploading it to OpenStreetMap.\n\n## Summary\n\nThe XLSForm Library is a valuable resource for organizations involved\nin humanitarian data collection, as it provides a collection of\npre-designed forms that are optimized for efficient mapper data flow\nand tag completeness/correctness. By using the XLSForm Library with\nOsm-Fieldwork, you can streamline your data collection process and ensure\nthe quality of your data.\n\nOsm-Fieldwork is a powerful tool for processing data collection from\nODK into OpenStreetMap format. By following the best practices\noutlined in this documentation and using the utility programs included\nwith Osm-Fieldwork, you can streamline your data collection process and\nensure the quality of your converted data. If you have any questions\nor issues with osm-fieldwork, please consult the project's documentation\nor seek support from the project's community.\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-only",
    "summary": "Processing field data from ODK to OpenStreetMap format.",
    "version": "0.9.2",
    "project_urls": {
        "documentation": "https://hotosm.github.io/osm-fieldwork",
        "homepage": "https://github.com/hotosm/osm-fieldwork/wiki",
        "repository": "https://github.com/hotosm/osm-fieldwork"
    },
    "split_keywords": [
        "hot",
        " odk",
        " openstreetmap",
        " fmtm"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e847d2c569fa534ba27caa346527df00ec842b9ab1c9c0ad064136b16f2e229",
                "md5": "cb96ec68835beef0782c980f23aebef5",
                "sha256": "0c6bc2835094aee64d4a11e97598ad0a2450f7685ac7202748dd771ea25c9194"
            },
            "downloads": -1,
            "filename": "osm_fieldwork-0.9.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cb96ec68835beef0782c980f23aebef5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 1632179,
            "upload_time": "2024-04-29T12:13:02",
            "upload_time_iso_8601": "2024-04-29T12:13:02.839462Z",
            "url": "https://files.pythonhosted.org/packages/4e/84/7d2c569fa534ba27caa346527df00ec842b9ab1c9c0ad064136b16f2e229/osm_fieldwork-0.9.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7009981a01cf696a772338451fc91157344df3ebbc28be27dedf1066ace81c36",
                "md5": "464c982b521ec1a3fba15265f52a89bb",
                "sha256": "183fbb4490eac15d1bf2bf2f939e0cd9f65d1c44f8894f6a715d02309ccdc27f"
            },
            "downloads": -1,
            "filename": "osm-fieldwork-0.9.2.tar.gz",
            "has_sig": false,
            "md5_digest": "464c982b521ec1a3fba15265f52a89bb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 1605227,
            "upload_time": "2024-04-29T12:13:05",
            "upload_time_iso_8601": "2024-04-29T12:13:05.188042Z",
            "url": "https://files.pythonhosted.org/packages/70/09/981a01cf696a772338451fc91157344df3ebbc28be27dedf1066ace81c36/osm-fieldwork-0.9.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-29 12:13:05",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hotosm",
    "github_project": "osm-fieldwork",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "osm-fieldwork"
}
        
Elapsed time: 0.26677s