Raster --> vector surface creation tools in python
pip install -e [email protected]:mapbox/make-surface.git#egg=makesurface
pip install makesurface --pre
- Install dependencies:
'click>=3.0', 'fiona', 'numpy', 'rasterio', 'shapely', 'scipy', 'mercantile', 'pyproj'
- Clone this repo:
:console:git clone [email protected]:mapbox/make-surface.git
- cd into :console:
make-surface
thenpip install -e .
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).
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.
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.
makesurface fillfacets [OPTIONS] SAMPLERASTER [INFILE]
Use GeoJSON-like triangle geometry to get average regional raster value for that geometry
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.