from marblecutter.transformations import Colormap, Transformation from marblecutter.utils import Bounds from mercantile import Tile from rasterio import Affine from ..catalogs import SpatialiteCatalog from ..colormap import COLORMAP from ..formats import GeoJSON logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) logging.getLogger("botocore.credentials").setLevel(logging.WARNING) logging.getLogger("marblecutter.mosaic").setLevel(logging.WARNING) logging.getLogger("rasterio._base").setLevel(logging.WARNING) CATALOG = PostGISCatalog(table="land_cover") COLORMAP_TRANSFORMATION = Colormap(COLORMAP) GEOTIFF_FORMAT = GeoTIFF(colormap=COLORMAP) PNG_FORMAT = PNG(paletted=True) S3 = boto3.client("s3") def build_catalog(tile, min_zoom, max_zoom): catalog = SpatialiteCatalog() for source in upstream_sources_for_tile(tile, CATALOG, min_zoom=min_zoom, max_zoom=max_zoom): catalog.add_source(source)
# coding=utf-8 from __future__ import print_function import logging from marblecutter.catalogs.postgis import PostGISCatalog from tilezen import skadi logging.basicConfig(level=logging.INFO) if __name__ == "__main__": tile = "N38W123" (headers, data) = skadi.render_tile(tile, PostGISCatalog()) print("Headers: ", headers) with open("tmp/{}.hgt.gz".format(tile), "w") as f: f.write(data)
# coding=utf-8 from __future__ import print_function import logging from marblecutter import tiling from marblecutter.catalogs.postgis import PostGISCatalog from marblecutter.formats.geotiff import GeoTIFF from mercantile import Tile logging.basicConfig(level=logging.INFO) if __name__ == "__main__": tile = Tile(324, 787, 11) (headers, data) = tiling.render_tile( tile, PostGISCatalog(), format=GeoTIFF(area_or_point="Point"), scale=2) print("headers: ", headers) with open("tmp/11_324_787.tif", "w") as f: f.write(data)
from mercantile import Tile from marblecutter import tiling from marblecutter.catalogs.postgis import PostGISCatalog from marblecutter.formats.png import PNG from tilezen.transformations import Normal logging.basicConfig(level=logging.INFO) if __name__ == "__main__": zoom = 2 tile = Tile(0, 0, zoom) (headers, data) = tiling.render_tile(tile, PostGISCatalog(), format=PNG(), transformation=Normal(collar=2), scale=2) print("Headers: ", headers) with open( "tmp/{}_{}_{}_buffered_normal.png".format(tile.z, tile.x, tile.y), "w") as f: f.write(data) tile = Tile(0, 2**zoom - 1, zoom) (headers, data) = tiling.render_tile(tile, PostGISCatalog(), format=PNG(),
from marblecutter import footprints, tiling from marblecutter.catalogs.postgis import PostGISCatalog from marblecutter.formats.color_ramp import ColorRamp from marblecutter.formats.geotiff import GeoTIFF from marblecutter.formats.png import PNG from marblecutter.transformations import Image from marblecutter.web import app from mercantile import Tile from . import skadi from .transformations import Hillshade, Normal, Terrarium logging.basicConfig(level=logging.INFO) LOG = logging.getLogger(__name__) ELEVATION_CATALOG = PostGISCatalog(table="dems") GEOTIFF_FORMAT = GeoTIFF(area_or_point="Point") HILLSHADE_GEOTIFF_FORMAT = GeoTIFF() HILLSHADE_TRANSFORMATION = Hillshade(resample=True, add_slopeshade=True) IMAGERY_CATALOG = PostGISCatalog(table="imagery") CATALOGS = { "buffered_normal": ELEVATION_CATALOG, "hillshade": ELEVATION_CATALOG, "imagery": IMAGERY_CATALOG, "normal": ELEVATION_CATALOG, "terrarium": ELEVATION_CATALOG, } DATA_BAND_COUNTS = {"imagery": 3} FORMATS = { "buffered_normal": PNG(),