Skip to content

emadshanab/make-surface

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

makesurface cool-tools

Raster --> vector surface creation tools in python

Installation

From GitHub:

pip install -e git+git@github.com:mapbox/make-surface.git#egg=makesurface

From PyPI

pip install makesurface --pre

Manual

  1. Install dependencies:

'click>=3.0', 'fiona', 'numpy', 'rasterio', 'shapely', 'scipy', 'mercantile', 'pyproj'

  1. Clone this repo:

:console:git clone git@github.com:mapbox/make-surface.git

  1. cd into :console:make-surface then pip install -e .

Usage - Vectorize

makesurface vectorize [OPTIONS] INFILE

Takes an input raster, and converts into a stacked shapefile. Sort of like gdal polygonize with more control, optimized for vector tiles. Also can print out a CartoCSS template for stylizing (one style for each class).

image

Options:

  --outfile TEXT           Write to GeoJSON
  -b, --bidx INTEGER       Input band to vectorize. [default = 1]
  -cl, --classes TEXT      Number of output classes, OR "all" for rounded
                           input values (ignored if class file specified)
                           [default = 10]
  -cf, --classfile TEXT    One-line CSV of break values [default = None]
  -w, --weight FLOAT       Weighting between equal interval and quantile
                           breaks [default = 1 / equal interval]
  -s, --smoothing INTEGER  Value by which to zoom and smooth the data [default
                           = None]
  -n, --nodata TEXT        Manually defined nodata value - can be any number
                           or "min" [default = None]
  -ov, --outvar TEXT       Name of output variable [Default = value]
  -set, --setnodata FLOAT  Value to set nodata to (eg, if nodata / masked, set
                           pixel to this value) [default = None]
  -c, --carto
  -ni, --nibble            Expand mask by 1 pixel
  --axonometrize FLOAT     EXPERIMENTAL
  -ns, --nosimple
  --help                   Show this message and exit.

Usage - Triangulate

makesurface triangulate [OPTIONS] ZOOM

Creates an empty triangular lattice:

Options:
  --bounds FLOAT...  Bounding Box ("w s e n") to create lattice in
  --tile INTEGER...  Tile ("x y z") to create lattice in
  --output TEXT      File to write to (.geojson)
  --tableid TEXT     static id for databases
  --help             Show this message and exit.

Usage - fillfacets

makesurface fillfacets [OPTIONS] SAMPLERASTER [INFILE]

Use GeoJSON-like triangle geometry to get average regional raster value for that geometry

image

Options:

  --output TEXT           Write output to .json [default - print to stdout]
  -b, --bidxs TEXT...     Band to sample [default=1]
  --zooming INTEGER       Manual upsampling of raster for sampling [Default =
                          upsampling by estimated polygon density]
  -np, --noproject        Do not project data
  -ogjs, --outputgeojson  Output updated GeoJSON
  -bp, --batchprint TEXT
  -cl, --color
  --help                  Show this message and exit.

About

Vector surfaces creation routines

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%