Metadata-Version: 2.1
Name: reshaper
Version: 1.1.1
Summary: # Reshaper
Home-page: https://github.com/sanand0/reshaper
Author: S Anand
Author-email: root.node@gmail.com
License: MIT
Keywords: reshaper
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: pandas
Requires-Dist: scipy
Requires-Dist: tqdm
Requires-Dist: GDAL

# Reshaper

Splits and recombines shapefiles based on lat-long data.

## Installation

    conda install -c conda-forge gdal
    pip install reshaper

## Usage

To split a state map based on a branch list, use:

    reshaper state.shp branch.csv output.shp \
        --id <ID column> \
        --lat <Latitude column> \
        --lng <Longitude column> \
        --col <Any additional columns to add>

The arguments are:

- `state.shp`: path to the original shapefile
- `branch.csv`: path to the CSV file with points data. The output shapefile will
  have one shape per row of this file
- `output.shp`: path to the output shapefile
- `--id branchname`: indicates that the `branchname` column holds the branch
  identifier. The values in this column must be unique
- `--lat col1`: the `col1` column holds the latitude in degrees
- `--lng col2`: the `col2` column holds the longitude in degrees
- `--col col3`: add `col3` column to the Shapefile attributes. You can specify
  multiple columns via `--col`

The CSV file should have at least these 3 columns: ID, latitude and longitude.

The program splits and re-combines shapes based the following logic:

- If a state does not have a branch, assign it fully to the nearest branch
- If a state has only one branch, assign it fully to that branch
- If a state has multiple branches, split it between the branches and assign each broken state to the respective branch

The output shapefile attributes include the `--id` column and any other columns
specified via `--col`.

## Release

Change the `"version"` in `setup.py` to `"x.x.x"`, commit and tag:

```bash
git commit . -m"Describe features / bug fixes"
git tag -a vx.x.x -m"one-line summary of release"
```

To [distribute](https://packaging.python.org/en/latest/distributing.html), run:

```bash
rm -rf build dist
flake8 .
python setup.py test
python setup.py sdist bdist_wheel --universal
twine upload dist/*
```
