diff --git a/schema.json b/schema.json index 2c19dfa09..5385a5373 100644 --- a/schema.json +++ b/schema.json @@ -90,6 +90,30 @@ }, "gammaValue": { "type": "number" + }, + "vendorOption": { + "$ref": "http://geostyler/geostyler-style.json#/definitions/ContrastEnhancementVendorOption", + "description": "A ContrastEnhancementVendorOption defines the algorithm to apply for Normalize contrast enhancement." + } + }, + "type": "object" + }, + "ContrastEnhancementVendorOption": { + "description": "A ContrastEnhancementVendorOption defines the algorithm to apply for Normalize contrast enhancement.", + "properties": { + "algorithm": { + "enum": [ + "ClipToMinimumMaximum", + "ClipToZero", + "StretchToMinimumMaximum" + ], + "type": "string" + }, + "maxValue": { + "type": "number" + }, + "minValue": { + "type": "number" } }, "type": "object" @@ -300,6 +324,17 @@ "description": "A color defined as a hex-color string.", "type": "string" }, + "format": { + "description": "The format (MIME type) of the image provided.", + "enum": [ + "image/gif", + "image/jpeg", + "image/jpg", + "image/png", + "image/svg+xml" + ], + "type": "string" + }, "haloBlur": { "description": "The halo's fadeout distance towards the outside.", "type": "number" diff --git a/style.ts b/style.ts index efa0488fc..9081abb97 100644 --- a/style.ts +++ b/style.ts @@ -359,6 +359,10 @@ export interface IconSymbolizer extends BasePointSymbolizer { * A path/URL to the icon image file. */ image?: string; + /** + * The format (MIME type) of the image provided. + */ + format?: `image/${'png' | 'jpg' | 'jpeg' | 'gif' | 'svg+xml'}`; /** * If true, the icon will be kept upright. */ @@ -549,12 +553,22 @@ export interface ColorMap { extended?: boolean; } +/** + * A ContrastEnhancementVendorOption defines the algorithm to apply for Normalize contrast enhancement. + */ +export interface ContrastEnhancementVendorOption { + algorithm: 'StretchToMinimumMaximum' | 'ClipToMinimumMaximum' | 'ClipToZero'; + minValue?: number; + maxValue?: number; +} + /** * A ContrastEnhancement defines how the contrast of image data should be enhanced. */ export interface ContrastEnhancement { enhancementType?: 'normalize' | 'histogram'; gammaValue?: number; + vendorOption?: ContrastEnhancementVendorOption; } /**