A program for splitting a large AOI into smaller tasks.
Project description
FMTM Splitter
A utility for splitting a polygon onto multiple tasks.
📖 Documentation: https://hotosm.github.io/fmtm-splitter/
🖥️ Source Code: https://github.com/hotosm/fmtm-splitter
This is a program to split polygons into tasks using a variety of algorithms. It is a class that can be used by other projects, but also a standalone program. It was originally developed for the FMTM project, but then converted so it can be used by multiple projects.
The class takes GeoJson Polygon as an input, and returns a GeoJson file Multipolygon of all the task boundaries.
Installation
To install fmtm-splitter, you can use pip. Here are two options:
-
Directly from the main branch:
pip install git+https://github.com/hotosm/fmtm-splitter.git
-
Latest on PyPi:
pip install fmtm-splitter
Using the Container Image
- fmtm-splitter 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:
docker run --rm -v $PWD:/data ghcr.io/hotosm/fmtm-splitter:latest fmtm-splitter <flags>
Run interactively (to use multiple commands):
docker run --rm -it -v $PWD:/data ghcr.io/hotosm/fmtm-splitter:latest
Note: the output directory should always be /data/... to persist data.
Split By Square
The default is to split the polygon into squares. The default dimension is 50 meters, but that is configurable. The outer square are clipped to the AOI boundary.
Split By Feature
The split by feature uses highway data extracted from OpenStreetMap, and uses it to generate non square task boundaries. It can also be adjusted to use the number of buildings in a task to adjust it's size.
Custom SQL query
It is also possible to supply a custom SQL query to generate the tasks.
The fmtm-splitter program
Options:
-h, --help show this help message and exit
-v, --verbose verbose output
-o OUTFILE, --outfile OUTFILE Output file from splitting
-m METERS, --meters METERS Size in meters if using square splitting
-b BOUNDARY, --boundary BOUNDARY Polygon AOI
-s SOURCE, --source SOURCE Source data, Geojson or PG:[dbname]
-c CUSTOM, --custom CUSTOM Custom SQL query for database
This program splits a Polygon (the Area Of Interest) The data source for existing data can'be either the data extract used by the XLSForm, or a postgresql database.
Examples:
fmtm-splitter -b AOI
fmtm-splitter -v -b AOI -s data.geojson
fmtm-splitter -v -b AOI -s PG:colorado
# Where AOI is the boundary of the project as a polygon
# And OUTFILE is a MultiPolygon output file,which defaults to fmtm.geojson
# The task splitting defaults to squares, 50 meters across
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file fmtm-splitter-0.2.1.tar.gz
.
File metadata
- Download URL: fmtm-splitter-0.2.1.tar.gz
- Upload date:
- Size: 33.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.9.3 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e322efbf459fd0a1054b18ed0ba5bce080693e61031edc5c0806af998915b743 |
|
MD5 | 58072cf5ed4c7bc4f159027b054d6f2d |
|
BLAKE2b-256 | 804d7a69ada6ef535e30f9c53ac098209512fdb33dc70c31d3e8e203516fe33c |
File details
Details for the file fmtm_splitter-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: fmtm_splitter-0.2.1-py3-none-any.whl
- Upload date:
- Size: 43.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.9.3 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a81ae2546578e892421fef91c6571b8df44b77a32937afb67d6ffb768d69b43 |
|
MD5 | 90bb9980cb1ada445ebe34968b89dabb |
|
BLAKE2b-256 | 41e0f688a43ba9b72b0064d884a3f8bdc075494ad5284485fb6a3ce18ce3a5b2 |