Create vector datasets from raster surfaces
Project description
makesurface ``cool-tools``
===========
A few basic surface creation routines using (primarily) `rasterio <https://github.com/mapbox/rasterio>`_, `fiona <https://github.com/Toblerity/Fiona>`_, and `shapely <https://github.com/Toblerity/shapely>`_
.. role:: console(code)
:language: console
Installation
------------
1. Install dependencies:
- :console:`rasterio`
- :console:`fiona`
- :console:`shapely`
- :console:`scipy`
2. Clone this repo:
:console:`git clone git@github.com:mapbox/make-surface.git`
3. CD into :console:`make-surface` then `pip install -e .`
Alternatively, install straight from GitHub:
.. code-block:: bash
pip install -e git+git@github.com:mapbox/make-surface.git#egg=makesurface
Or, install from PyPI
.. code-block:: bash
pip install makesurface --pre
Usage
------
Takes an input raster, and converts into a stacked shapefile. Sort of like :console:`gdal polygonize` with more control. Also prints out a cartocss template for stylizing (one style for each class).
Turns this:
.. image:: https://cloud.githubusercontent.com/assets/5084513/5039999/fb1a75f4-6b5b-11e4-9cf8-888ace189c8c.png
Into this:
.. image:: https://cloud.githubusercontent.com/assets/5084513/5040006/29fe36c6-6b5c-11e4-8ad5-07c3edb6c66c.png
:console:`makesurface <input raster> <output shapefile> [OPTIONS]`
Arguments
* :console:`<input raster>` Input single-band raster to class and vectorize
* :console:`<output shapefile>` Output shapefile to create - output will be "stacked", with lower values including areas of higher values
Options:
:console:`-b, --band TEXT` Input band to vectorize. Can be a number, or a band
name [default = 1]
:console:`-cl, --classes TEXT` Number of output classes, OR "all" for rounded input values (ignored if class file specified) [default = 10]
:console:`-cf, --classfile TEXT` One-line CSV of break values [default = None]
:console:`-w, --weight INTEGER` Weighting between equal interval and quantile breaks [default = 1 / equal interval]
:console:`-s, --smoothing INTEGER` Value by which to zoom and smooth the data [default = None]
:console:`-nd, --nodata TEXT` Manually defined nodata value - can be any number or "min" [default = None]
:console:`-set, --setnodata FLOAT` Value to set nodata to (eg, if nodata / masked, set pixel to this value) [default = None]
:console:`-c, --carto`
:console:`-n, --nibble` Expand mask by 1 pixel
:console:`-g, --globewrap` Flag for processing of 0 - 360 grib2 rasters
:console:`--axonometrize FLOAT` EXPERIMENTAL
:console:`-ns, --nosimple`
:console:`--help` Show this message and exit.
===========
A few basic surface creation routines using (primarily) `rasterio <https://github.com/mapbox/rasterio>`_, `fiona <https://github.com/Toblerity/Fiona>`_, and `shapely <https://github.com/Toblerity/shapely>`_
.. role:: console(code)
:language: console
Installation
------------
1. Install dependencies:
- :console:`rasterio`
- :console:`fiona`
- :console:`shapely`
- :console:`scipy`
2. Clone this repo:
:console:`git clone git@github.com:mapbox/make-surface.git`
3. CD into :console:`make-surface` then `pip install -e .`
Alternatively, install straight from GitHub:
.. code-block:: bash
pip install -e git+git@github.com:mapbox/make-surface.git#egg=makesurface
Or, install from PyPI
.. code-block:: bash
pip install makesurface --pre
Usage
------
Takes an input raster, and converts into a stacked shapefile. Sort of like :console:`gdal polygonize` with more control. Also prints out a cartocss template for stylizing (one style for each class).
Turns this:
.. image:: https://cloud.githubusercontent.com/assets/5084513/5039999/fb1a75f4-6b5b-11e4-9cf8-888ace189c8c.png
Into this:
.. image:: https://cloud.githubusercontent.com/assets/5084513/5040006/29fe36c6-6b5c-11e4-8ad5-07c3edb6c66c.png
:console:`makesurface <input raster> <output shapefile> [OPTIONS]`
Arguments
* :console:`<input raster>` Input single-band raster to class and vectorize
* :console:`<output shapefile>` Output shapefile to create - output will be "stacked", with lower values including areas of higher values
Options:
:console:`-b, --band TEXT` Input band to vectorize. Can be a number, or a band
name [default = 1]
:console:`-cl, --classes TEXT` Number of output classes, OR "all" for rounded input values (ignored if class file specified) [default = 10]
:console:`-cf, --classfile TEXT` One-line CSV of break values [default = None]
:console:`-w, --weight INTEGER` Weighting between equal interval and quantile breaks [default = 1 / equal interval]
:console:`-s, --smoothing INTEGER` Value by which to zoom and smooth the data [default = None]
:console:`-nd, --nodata TEXT` Manually defined nodata value - can be any number or "min" [default = None]
:console:`-set, --setnodata FLOAT` Value to set nodata to (eg, if nodata / masked, set pixel to this value) [default = None]
:console:`-c, --carto`
:console:`-n, --nibble` Expand mask by 1 pixel
:console:`-g, --globewrap` Flag for processing of 0 - 360 grib2 rasters
:console:`--axonometrize FLOAT` EXPERIMENTAL
:console:`-ns, --nosimple`
:console:`--help` Show this message and exit.
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
makesurface-0.0.4dev.tar.gz
(7.0 kB
view details)
File details
Details for the file makesurface-0.0.4dev.tar.gz
.
File metadata
- Download URL: makesurface-0.0.4dev.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92df2577a6ebc3082c050baecaeecce9216b3a5c2c1241bec1532f194473dfc3 |
|
MD5 | a5af7e6bd922d929454163273607d8bb |
|
BLAKE2b-256 | ca15f057d7921a318dcb4680cbaefa327c7d97019e06fb0605f16e374d05c7ba |