supermorecado 0.1.2

Creator: bradpython12

Last updated:

Add to Cart

Description:

supermorecado 0.1.2

Supermorecado


Extend the functionality of morecantile with additional commands.



















Documentation: https://developmentseed.org/supermorecado/
Source Code: https://github.com/developmentseed/supermorecado

supermorecado is like supermercado, but with support for other TileMatrixSet grids.
Install
$ python -m pip install -U pip
$ python -m pip install supermorecado

# Or install from source:

$ python -m pip install -U pip
$ python -m pip install git+https://github.com/developmentseed/supermorecado.git

Usage
supermorecado --help
Usage: supermorecado [OPTIONS] COMMAND [ARGS]...

Command line interface for the Supermorecado Python package.

Options:
--help Show this message and exit.

Commands:
burn Burn a stream of GeoJSONs into a output stream of the tiles they intersect for a given zoom.
edges For a stream of [<x>, <y>, <z>] tiles, return only those tiles that are on the edge.
heatmap Creates a vector `heatmap` of tile densities.
union Returns the unioned shape of a stream of [<x>, <y>, <z>] tiles in GeoJSON.

supermorecado burn
<{geojson} stream> | supermorecado burn <zoom> --identifier {tms Identifier} | <[x, y, z] stream>

Takes an input stream of GeoJSON and returns a stream of intersecting [x, y, z]s for a given zoom.
Using default TMS (WebMercatorQuad)
cat tests/fixtures/france.geojson | supermorecado burn 9 | morecantile shapes | fio collect | geojsonio


Using other TMS (e.g WGS1984Quad)
cat tests/fixtures/france.geojson | supermorecado burn 6 --identifier WGS1984Quad | morecantile shapes --identifier WGS1984Quad | fio collect | geojsonio


supermorecado edges
<[x, y, z] stream> | supermorecado edges | <[x, y, z] stream>

Outputs a stream of [x, y, z]s representing the edge tiles of an input stream of [x, y, z]s. Edge tile = any tile that is either directly adjacent to a tile that does not exist, or diagonal to an empty tile.
cat tests/fixtures/france.geojson | supermorecado burn 9 | supermorecado edges | morecantile shapes | fio collect | geojsonio


supermorecado union
<[x, y, z] stream> | supermorecado union --identifier {tms Identifier} | <{geojson} stream>

Outputs a stream of unioned GeoJSON from an input stream of [x, y, z]s. Like morecantile shapes but as an overall footprint instead of individual shapes for each tile.
Using default TMS (WebMercatorQuad)
cat tests/fixtures/france.geojson | supermorecado burn 9 | supermorecado union | fio collect | geojsonio


Using other TMS (e.g WGS1984Quad)
cat tests/fixtures/france.geojson | supermorecado burn 6 --identifier WGS1984Quad | supermorecado union --identifier WGS1984Quad | fio collect | geojsonio


supermorecado heatmap
<[x, y, z] stream> | supermorecado heatmap --identifier {tms Identifier} | <{geojson} stream>

Outputs a stream of heatmap GeoJSON from an input stream of [x, y, z]s.
Using default TMS (WebMercatorQuad)
cat tests/fixtures/heatmap.txt| supermorecado heatmap | fio collect | geojsonio


Using other TMS (e.g WGS1984Quad)
# create a list of tiles
cat tests/fixtures/france.geojson | supermorecado burn 6 --identifier WGS1984Quad > france_wgs84_z6.txt
# randomly append more tiles
for run in {1..10}; do cat france_wgs84_z6.txt | sort -R | head -n 2 >> france_wgs84_z6.txt; done

cat france_wgs84_z6.txt | supermorecado heatmap --identifier WGS1984Quad | fio collect | geojsonio


API migration
supermorecado is really similar to supermercado (it reuse most of the code) but with the addition of multiple TMS support from morecantile.
features = [
{
"geometry": {
"coordinates": [
[-127.97, 49.15],
[-101.95, -8.41],
[-43.24, -32.84],
[37.62, -25.17],
[71.72, -7.01],
[107.23, 48.69],
],
"type": "LineString",
},
"properties": {},
"type": "Feature",
},
]

# supermercado
from supermercado import burntiles, uniontiles

tiles = burntiles.burn(features)
u_tiles = uniontiles.union(features)

# supermorecado
import morecantile
from supermorecado import burnTiles, unionTiles

tms = morecantile.tms.get("WebMercatorQuad")

burntiles = burnTiles(tms=tms)
tiles = burntiles.burn(features)

uniontiles = unionTiles(tms=tms)
u_tiles = uniontiles.burn(features)

Changes
See CHANGES.md.
Contribution & Development
See CONTRIBUTING.md
License
See LICENSE
Authors
Created by Development Seed

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.