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:`-rf, --rapfix TEXT Rap Mask - Use only for fixing RAP.grib2s
* :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:`-rf, --rapfix TEXT Rap Mask - Use only for fixing RAP.grib2s
* :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.5dev.tar.gz
(7.1 kB
view details)
File details
Details for the file makesurface-0.0.5dev.tar.gz
.
File metadata
- Download URL: makesurface-0.0.5dev.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 420a776544ef7ff38766b863f4eb630d6c62ec01e478cb5804ac190e9c791943 |
|
MD5 | 941fd43f6324e2318b4c0727d6797dd5 |
|
BLAKE2b-256 | d814073796acc3edc5245e88736365e83260535b0c1a2d140a99066c6c47d4d9 |