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.