UNPKG

terriajs

Version:

Geospatial data visualization platform.

90 lines (81 loc) 2.53 kB
import objectTrait from "../Decorators/objectTrait"; import primitiveTrait from "../Decorators/primitiveTrait"; import ModelTraits from "../ModelTraits"; import { traitClass } from "../Trait"; import mixTraits from "../mixTraits"; import CatalogMemberTraits from "./CatalogMemberTraits"; import ImageryProviderTraits from "./ImageryProviderTraits"; import LayerOrderingTraits from "./LayerOrderingTraits"; import LegendOwnerTraits from "./LegendOwnerTraits"; import MappableTraits from "./MappableTraits"; import UrlTraits from "./UrlTraits"; export class CogRenderOptionsTraits extends ModelTraits { @primitiveTrait({ type: "number", name: "No Data Value", description: "No data value, default read from tiff meta" }) nodata?: number; @primitiveTrait({ type: "boolean", name: "Convert to RGB", description: "Try to render multi band cog to RGB, priority 1" }) convertToRGB?: boolean; @primitiveTrait({ type: "string", name: "Resample Method", description: "Geotiff resample method. Defaults to `bilinear`." }) resampleMethod?: "nearest" | "bilinear" = "nearest"; } @traitClass({ description: "Creates a Cloud Optimised Geotiff item in the catalog from a url pointing to a TIFF that is a valid COG.", example: { name: "COG Test Uluru", description: "This is a COG from Sentinel-2 L2A, in EPSG:32752. Does it display in correct location? Does it display correctly?", type: "cog", url: "https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/52/J/FS/2023/5/S2A_52JFS_20230501_0_L2A/TCI.tif" } }) export default class CogCatalogItemTraits extends mixTraits( ImageryProviderTraits, LayerOrderingTraits, UrlTraits, MappableTraits, CatalogMemberTraits, LegendOwnerTraits ) { @objectTrait({ type: CogRenderOptionsTraits, name: "Render Options", description: "Render options for COGs" }) renderOptions?: CogRenderOptionsTraits; @primitiveTrait({ type: "string", name: "Credit", description: "Credit for the imagery provider." }) credit?: string; @primitiveTrait({ type: "number", name: "Tile Size", description: "The size of the tile." }) tileSize?: number; @primitiveTrait({ type: "boolean", name: "Has Alpha Channel", description: "Whether the imagery has an alpha channel." }) hasAlphaChannel?: boolean; @primitiveTrait({ type: "number", name: "Cache", description: "Cache survival time in milliseconds." }) cache?: number; }