@itwin/map-layers-formats 4.6.0-dev.18 → 4.6.0-dev.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts +15 -6
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +61 -51
- package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts +7 -11
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js +3 -19
- package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +3 -3
- package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.js +3 -4
- package/lib/cjs/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +3 -3
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js +2 -3
- package/lib/cjs/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +35 -15
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +53 -47
- package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
- package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts +2 -1
- package/lib/cjs/ArcGisFeature/EsriSymbology.d.ts.map +1 -1
- package/lib/cjs/ArcGisFeature/EsriSymbology.js +2 -1
- package/lib/cjs/ArcGisFeature/EsriSymbology.js.map +1 -1
- package/lib/cjs/Feature/DefaultMarkerIcon.d.ts +10 -0
- package/lib/cjs/Feature/DefaultMarkerIcon.d.ts.map +1 -0
- package/lib/cjs/Feature/DefaultMarkerIcon.js +31 -0
- package/lib/cjs/Feature/DefaultMarkerIcon.js.map +1 -0
- package/lib/cjs/Feature/FeatureCanvasRenderer.d.ts +20 -0
- package/lib/cjs/Feature/FeatureCanvasRenderer.d.ts.map +1 -0
- package/lib/cjs/{ArcGisFeature/ArcGisCanvasRenderer.js → Feature/FeatureCanvasRenderer.js} +7 -6
- package/lib/cjs/Feature/FeatureCanvasRenderer.js.map +1 -0
- package/lib/cjs/Feature/FeatureInfoReader.d.ts +11 -0
- package/lib/cjs/Feature/FeatureInfoReader.d.ts.map +1 -0
- package/lib/cjs/Feature/FeatureInfoReader.js +34 -0
- package/lib/cjs/Feature/FeatureInfoReader.js.map +1 -0
- package/lib/cjs/Feature/FeatureSymbology.d.ts +8 -0
- package/lib/cjs/Feature/FeatureSymbology.d.ts.map +1 -0
- package/lib/cjs/Feature/FeatureSymbology.js +12 -0
- package/lib/cjs/Feature/FeatureSymbology.js.map +1 -0
- package/lib/cjs/Feature/RandomMapColor.d.ts +8 -0
- package/lib/cjs/Feature/RandomMapColor.d.ts.map +1 -0
- package/lib/cjs/Feature/RandomMapColor.js +29 -0
- package/lib/cjs/Feature/RandomMapColor.js.map +1 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometry.d.ts +18 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometry.d.ts.map +1 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometry.js +11 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometry.js.map +1 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometryReader.d.ts +11 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometryReader.d.ts.map +1 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometryReader.js +83 -0
- package/lib/cjs/GeoJSON/GeoJSONGeometryReader.js.map +1 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesFormat.d.ts +9 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesFormat.d.ts.map +1 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesFormat.js +94 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesFormat.js.map +1 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesProvider.d.ts +54 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesProvider.d.ts.map +1 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesProvider.js +477 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesProvider.js.map +1 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesReader.d.ts +23 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesReader.d.ts.map +1 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesReader.js +139 -0
- package/lib/cjs/OgcApiFeatures/OgcApiFeaturesReader.js.map +1 -0
- package/lib/cjs/mapLayersFormats.d.ts.map +1 -1
- package/lib/cjs/mapLayersFormats.js +4 -1
- package/lib/cjs/mapLayersFormats.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +15 -6
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +61 -51
- package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +7 -11
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +3 -19
- package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts +3 -3
- package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.js +3 -4
- package/lib/esm/ArcGisFeature/ArcGisJsonFeatureReader.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts +3 -3
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js +2 -3
- package/lib/esm/ArcGisFeature/ArcGisPbfFeatureReader.js.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +35 -15
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +51 -45
- package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
- package/lib/esm/ArcGisFeature/EsriSymbology.d.ts +2 -1
- package/lib/esm/ArcGisFeature/EsriSymbology.d.ts.map +1 -1
- package/lib/esm/ArcGisFeature/EsriSymbology.js +2 -1
- package/lib/esm/ArcGisFeature/EsriSymbology.js.map +1 -1
- package/lib/esm/Feature/DefaultMarkerIcon.d.ts +10 -0
- package/lib/esm/Feature/DefaultMarkerIcon.d.ts.map +1 -0
- package/lib/esm/Feature/DefaultMarkerIcon.js +27 -0
- package/lib/esm/Feature/DefaultMarkerIcon.js.map +1 -0
- package/lib/esm/Feature/FeatureCanvasRenderer.d.ts +20 -0
- package/lib/esm/Feature/FeatureCanvasRenderer.d.ts.map +1 -0
- package/lib/esm/{ArcGisFeature/ArcGisCanvasRenderer.js → Feature/FeatureCanvasRenderer.js} +6 -5
- package/lib/esm/Feature/FeatureCanvasRenderer.js.map +1 -0
- package/lib/esm/Feature/FeatureInfoReader.d.ts +11 -0
- package/lib/esm/Feature/FeatureInfoReader.d.ts.map +1 -0
- package/lib/esm/Feature/FeatureInfoReader.js +30 -0
- package/lib/esm/Feature/FeatureInfoReader.js.map +1 -0
- package/lib/esm/Feature/FeatureSymbology.d.ts +8 -0
- package/lib/esm/Feature/FeatureSymbology.d.ts.map +1 -0
- package/lib/esm/Feature/FeatureSymbology.js +8 -0
- package/lib/esm/Feature/FeatureSymbology.js.map +1 -0
- package/lib/esm/Feature/RandomMapColor.d.ts +8 -0
- package/lib/esm/Feature/RandomMapColor.d.ts.map +1 -0
- package/lib/esm/Feature/RandomMapColor.js +26 -0
- package/lib/esm/Feature/RandomMapColor.js.map +1 -0
- package/lib/esm/GeoJSON/GeoJSONGeometry.d.ts +18 -0
- package/lib/esm/GeoJSON/GeoJSONGeometry.d.ts.map +1 -0
- package/lib/esm/GeoJSON/GeoJSONGeometry.js +7 -0
- package/lib/esm/GeoJSON/GeoJSONGeometry.js.map +1 -0
- package/lib/esm/GeoJSON/GeoJSONGeometryReader.d.ts +11 -0
- package/lib/esm/GeoJSON/GeoJSONGeometryReader.d.ts.map +1 -0
- package/lib/esm/GeoJSON/GeoJSONGeometryReader.js +79 -0
- package/lib/esm/GeoJSON/GeoJSONGeometryReader.js.map +1 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesFormat.d.ts +9 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesFormat.d.ts.map +1 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesFormat.js +91 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesFormat.js.map +1 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesProvider.d.ts +54 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesProvider.d.ts.map +1 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesProvider.js +473 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesProvider.js.map +1 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesReader.d.ts +23 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesReader.d.ts.map +1 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesReader.js +135 -0
- package/lib/esm/OgcApiFeatures/OgcApiFeaturesReader.js.map +1 -0
- package/lib/esm/mapLayersFormats.d.ts.map +1 -1
- package/lib/esm/mapLayersFormats.js +4 -1
- package/lib/esm/mapLayersFormats.js.map +1 -1
- package/package.json +15 -13
- package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.d.ts +0 -19
- package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.d.ts.map +0 -1
- package/lib/cjs/ArcGisFeature/ArcGisCanvasRenderer.js.map +0 -1
- package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts +0 -19
- package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.d.ts.map +0 -1
- package/lib/esm/ArcGisFeature/ArcGisCanvasRenderer.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EsriSymbology.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/EsriSymbology.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"EsriSymbology.d.ts","sourceRoot":"","sources":["../../../src/ArcGisFeature/EsriSymbology.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { assert } from "@itwin/core-bentley";
|
|
6
6
|
import { ColorDef } from "@itwin/core-common";
|
|
7
|
+
import { FeatureSymbology } from "../Feature/FeatureSymbology";
|
|
7
8
|
/** Convert a channel array [r, g, b, a] to ColorDef
|
|
8
9
|
* @internal
|
|
9
10
|
*/
|
|
@@ -15,7 +16,7 @@ function colorFromArray(channels) {
|
|
|
15
16
|
return undefined;
|
|
16
17
|
}
|
|
17
18
|
/** @internal */
|
|
18
|
-
export class EsriSymbol {
|
|
19
|
+
export class EsriSymbol extends FeatureSymbology {
|
|
19
20
|
static fromJSON(props) {
|
|
20
21
|
if (props.type === "esriSFS") {
|
|
21
22
|
return EsriSFS.fromJSON(props);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EsriSymbology.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/EsriSymbology.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { ColorDef } from \"@itwin/core-common\";\r\n\r\n/** Convert a channel array [r, g, b, a] to ColorDef\r\n * @internal\r\n */\r\nfunction colorFromArray(channels?: number[]) {\r\n if (channels && channels.length === 4) {\r\n // Alpha channel is reversed, 255 = opaque\r\n return ColorDef.from(channels[0], channels[1], channels[2], 255 - channels[3]);\r\n }\r\n return undefined;\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSymbolPropsType = \"esriSFS\" | \"esriPMS\" | \"esriSMS\" | \"esriSLS\" | \"esriSMS\" | \"esriTS\" | \"CIMSymbolReference\";\r\n\r\n/** @internal */\r\nexport interface EsriSymbolCommonProps {\r\n type: EsriSymbolPropsType;\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSymbolProps = EsriSLSProps | EsriPMSProps | EsriSFSProps | EsriSMSProps;\r\n\r\n/** @internal */\r\nexport abstract class EsriSymbol implements EsriSymbolCommonProps {\r\n public readonly abstract type: EsriSymbolPropsType;\r\n\r\n public static fromJSON(props: EsriSymbolProps) {\r\n if (props.type === \"esriSFS\") {\r\n return EsriSFS.fromJSON(props );\r\n } else if (props.type === \"esriSLS\") {\r\n return EsriSLS.fromJSON(props );\r\n } else if (props.type === \"esriPMS\") {\r\n return EsriPMS.fromJSON(props );\r\n } else if (props.type === \"esriSMS\") {\r\n return EsriSMS.fromJSON(props );\r\n }\r\n throw new Error(`Unknown ESRI symbology type}`);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSLSStyle = \"esriSLSDash\" | \"esriSLSDashDot\" | \"esriSLSDashDotDot\" | \"esriSLSDot\" | \"esriSLSLongDash\" | \"esriSLSLongDashDot\" |\r\n\"esriSLSNull\" | \"esriSLSShortDash\" | \"esriSLSShortDashDot\" | \"esriSLSShortDashDotDot\" | \"esriSLSShortDot\" | \"esriSLSSolid\";\r\n\r\n/** @internal */\r\nexport interface EsriSLSProps extends EsriSymbolCommonProps {\r\n color: number[];\r\n type: \"esriSLS\";\r\n width: number;\r\n style: EsriSLSStyle;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSLS implements EsriSymbolCommonProps {\r\n public readonly props: EsriSLSProps;\r\n\r\n public get color() { return colorFromArray(this.props.color); }\r\n public get type() { return this.props.type; }\r\n public get width() { return this.props.width; }\r\n public get style() { return this.props.style; }\r\n\r\n constructor(json: EsriSLSProps) {\r\n this.props = json;\r\n }\r\n\r\n public static fromJSON(json: EsriSLSProps) {\r\n return new EsriSLS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriPMSProps extends EsriSymbolCommonProps {\r\n type: \"esriPMS\";\r\n url: string;\r\n imageData: string;\r\n contentType: string;\r\n width?: number;\r\n height?: number;\r\n xoffset?: number;\r\n yoffset?: number;\r\n angle?: number;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriPMS implements EsriSymbolCommonProps {\r\n public readonly props: EsriPMSProps;\r\n private _image: HTMLImageElement|undefined;\r\n\r\n public get type() { return this.props.type; }\r\n public get url() { return this.props.url; }\r\n public get imageData() { return this.props.imageData; }\r\n public get imageUrl() { return `data:${this.contentType};base64,${this.imageData}`; }\r\n public get image() {\r\n assert(this._image !== undefined);\r\n return this._image;\r\n }\r\n public get contentType() { return this.props.contentType; }\r\n public get width() { return this.props.width; }\r\n public get height() { return this.props.height; }\r\n public get xoffset() { return this.props.xoffset; }\r\n public get yoffset() { return this.props.yoffset; }\r\n public get angle() { return this.props.angle; }\r\n\r\n public async loadImage() {\r\n if (this._image === undefined) {\r\n this._image = new Image();\r\n\r\n return new Promise<void>((resolve, reject) => {\r\n if (this._image) {\r\n this._image.addEventListener(\"load\", () => {\r\n resolve();\r\n });\r\n this._image.src = this.imageUrl;\r\n } else\r\n reject(new Error(\"Failed to load image\"));\r\n });\r\n }\r\n }\r\n\r\n private constructor(json: EsriPMSProps) {\r\n this.props = json;\r\n }\r\n\r\n public static fromJSON(json: EsriPMSProps) {\r\n return new EsriPMS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSMSStyleType = \"esriSMSCircle\" | \"esriSMSCross\" | \"esriSMSDiamond\" | \"esriSMSSquare\" | \"esriSMSTriangle\" | \"esriSMSX\";\r\n\r\n/** @internal */\r\nexport interface EsriSMSProps extends EsriSymbolCommonProps {\r\n angle?: number;\r\n color?: number[];\r\n outline?: EsriSLSProps;\r\n size: number;\r\n style: EsriSMSStyleType;\r\n type: \"esriSMS\";\r\n xoffset?: number;\r\n yoffset?: number;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSMS implements EsriSymbolCommonProps {\r\n public readonly props: EsriSMSProps;\r\n private _outline: EsriSLS | undefined;\r\n public get angle() { return this.props.angle; }\r\n public get color() { return colorFromArray(this.props.color); }\r\n public get outline() { return this._outline; }\r\n public get size() { return this.props.size; }\r\n public get style() { return this.props.style; }\r\n public get type() { return this.props.type; }\r\n public get xoffset() { return this.props.xoffset; }\r\n public get yoffset() { return this.props.yoffset; }\r\n\r\n private constructor(json: EsriSMSProps) {\r\n this.props = json;\r\n if (json.outline)\r\n this._outline = EsriSLS.fromJSON(json.outline);\r\n }\r\n\r\n public static fromJSON(json: EsriSMSProps) {\r\n return new EsriSMS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSFSStyleProps = \"esriSFSBackwardDiagonal\" | \"esriSFSCross\" | \"esriSFSDiagonalCross\" | \"esriSFSForwardDiagonal\" | \"esriSFSHorizontal\" | \"esriSFSNull\" | \"esriSFSSolid\" | \"esriSFSVertical\";\r\n\r\n/** @internal */\r\nexport interface EsriSFSProps extends EsriSymbolCommonProps {\r\n color?: number[];\r\n type: \"esriSFS\";\r\n style: EsriSFSStyleProps;\r\n outline?: EsriSLSProps;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSFS implements EsriSymbolCommonProps {\r\n public readonly props: EsriSFSProps;\r\n private _outline: EsriSLS | undefined;\r\n\r\n public get color() { return colorFromArray(this.props.color); }\r\n public get type() { return this.props.type; }\r\n public get style() { return this.props.style; }\r\n public get outline() { return this._outline; }\r\n constructor(json: EsriSFSProps) {\r\n this.props = json;\r\n if (json.outline)\r\n this._outline = EsriSLS.fromJSON(json.outline);\r\n }\r\n\r\n public static fromJSON(json: EsriSFSProps): EsriSFS {\r\n return new EsriSFS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriUniqueValueInfoProps {\r\n value: string;\r\n label?: string;\r\n description?: string;\r\n symbol: EsriSymbolProps;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriUniqueValueInfo {\r\n\r\n public readonly value: string;\r\n public readonly label: string|undefined;\r\n public readonly description: string|undefined;\r\n public readonly symbol: EsriSymbol;\r\n\r\n private constructor(json: EsriUniqueValueInfoProps) {\r\n this.value = json.value;\r\n this.label = json.label;\r\n this.description = json.description;\r\n this.symbol = EsriSymbol.fromJSON(json.symbol);\r\n }\r\n\r\n public static fromJSON(json: EsriUniqueValueInfoProps) {\r\n return new EsriUniqueValueInfo(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriClassBreaksInfoProps {\r\n classMaxValue: number;\r\n classMinValue?: number;\r\n label?: string;\r\n description?: string;\r\n symbol: EsriSymbolProps;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriClassBreaksValueInfo {\r\n\r\n public readonly classMaxValue: number;\r\n public readonly classMinValue?: number;\r\n public readonly label: string|undefined;\r\n public readonly description: string|undefined;\r\n public readonly symbol: EsriSymbol;\r\n\r\n private constructor(json: EsriClassBreaksInfoProps) {\r\n this.classMaxValue = json.classMaxValue;\r\n this.classMinValue = json.classMinValue;\r\n this.label = json.label;\r\n this.description = json.description;\r\n this.symbol = EsriSymbol.fromJSON(json.symbol);\r\n }\r\n\r\n public static fromJSON(json: EsriClassBreaksInfoProps) {\r\n return new EsriClassBreaksValueInfo(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriRendererBaseProps {\r\n type: EsriRendererType;\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriSimpleRendererProps extends EsriRendererBaseProps {\r\n symbol: EsriSymbolProps;\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriUniqueValueRendererProps extends EsriRendererBaseProps {\r\n field1?: string;\r\n field2?: string;\r\n field3?: string;\r\n defaultSymbol?: EsriSymbolProps;\r\n uniqueValueInfos: EsriUniqueValueInfoProps[];\r\n}\r\n\r\n/** @internal */\r\nexport type EsriClassificationMethodType = \"esriClassifyDefinedInterval\" | \"esriClassifyEqualInterval\" | \"esriClassifyManual\" | \"esriClassifyNaturalBreaks\" | \"esriClassifyQuantile\" | \"esriClassifyStandardDeviation\";\r\n\r\n/** @internal */\r\nexport interface EsriClassBreaksRendererProps extends EsriRendererBaseProps {\r\n field: string;\r\n minValue: number;\r\n defaultSymbol?: EsriSymbolProps;\r\n classificationMethod: EsriClassificationMethodType;\r\n classBreakInfos: EsriClassBreaksInfoProps[];\r\n}\r\n\r\n/** @internal */\r\nexport type EsriRendererType = \"simple\" | \"uniqueValue\" | \"classBreaks\";\r\n\r\n/** @internal */\r\nexport type EsriRendererProps = EsriSimpleRendererProps | EsriUniqueValueRendererProps | EsriClassBreaksRendererProps;\r\n\r\n/** @internal */\r\nexport abstract class EsriRenderer {\r\n public readonly abstract type: EsriRendererType;\r\n public abstract initialize(): Promise<void>;\r\n public get fields(): string[]|undefined {return undefined;}\r\n public static fromJSON(json: EsriRendererProps): EsriRenderer {\r\n if (json.type === \"simple\")\r\n return EsriSimpleRenderer.fromJSON(json as EsriSimpleRendererProps);\r\n else if (json.type === \"uniqueValue\")\r\n return EsriUniqueValueRenderer.fromJSON(json as EsriUniqueValueRendererProps);\r\n else if (json.type === \"classBreaks\")\r\n return EsriClassBreaksRenderer.fromJSON(json as EsriClassBreaksRendererProps);\r\n else\r\n throw Error(\"Unknown renderer type\");\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSimpleRenderer extends EsriRenderer {\r\n public readonly type: EsriRendererType = \"simple\";\r\n public readonly symbol: EsriSymbol;\r\n\r\n protected constructor(json: EsriSimpleRendererProps) {\r\n super();\r\n this.type = json.type;\r\n this.symbol = EsriSymbol.fromJSON(json.symbol);\r\n }\r\n public async initialize() {\r\n const promises: Promise<void>[] = [];\r\n if (this.symbol.type === \"esriPMS\") {\r\n promises.push((this.symbol as EsriPMS).loadImage());\r\n }\r\n await Promise.all(promises);\r\n }\r\n\r\n public static override fromJSON(json: EsriSimpleRendererProps) {\r\n return new EsriSimpleRenderer(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class EsriUniqueValueRenderer extends EsriRenderer {\r\n private _props: EsriUniqueValueRendererProps;\r\n public readonly type: EsriRendererType = \"uniqueValue\";\r\n public readonly defaultSymbol?: EsriSymbol;\r\n public readonly uniqueValueInfos: EsriUniqueValueInfo[] = [];\r\n\r\n public override get fields() {\r\n const fields: string[] = [];\r\n if (this.field1)\r\n fields.push(this.field1);\r\n if (this.field2)\r\n fields.push(this.field2);\r\n if (this.field3)\r\n fields.push(this.field3);\r\n\r\n return fields;\r\n }\r\n\r\n public get field1() { return this._props.field1 ?? undefined; }\r\n public get field2() { return this._props.field2 ?? undefined; }\r\n public get field3() { return this._props.field3 ?? undefined; }\r\n\r\n protected constructor(json: EsriUniqueValueRendererProps) {\r\n super();\r\n if (json.defaultSymbol)\r\n this.defaultSymbol = EsriSymbol.fromJSON(json.defaultSymbol);\r\n for (const uvi of json.uniqueValueInfos) {\r\n this.uniqueValueInfos.push(EsriUniqueValueInfo.fromJSON(uvi));\r\n }\r\n\r\n this._props = json;\r\n }\r\n\r\n public override async initialize() {\r\n const promises: Promise<void>[] = [];\r\n if (this.defaultSymbol?.type === \"esriPMS\") {\r\n promises.push((this.defaultSymbol as EsriPMS).loadImage());\r\n }\r\n for (const uvi of this.uniqueValueInfos) {\r\n if (uvi.symbol.type === \"esriPMS\") {\r\n promises.push((uvi.symbol as EsriPMS).loadImage());\r\n }\r\n }\r\n await Promise.all(promises);\r\n }\r\n\r\n public static override fromJSON(json: EsriUniqueValueRendererProps) {\r\n return new EsriUniqueValueRenderer(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class EsriClassBreaksRenderer extends EsriRenderer {\r\n private _props: EsriClassBreaksRendererProps;\r\n public readonly type: EsriRendererType = \"classBreaks\";\r\n public readonly defaultSymbol?: EsriSymbol;\r\n public get classificationMethod() {return this._props.classificationMethod;}\r\n public readonly classBreakInfos: EsriClassBreaksValueInfo[] = [];\r\n\r\n public override get fields() {\r\n if (this.field)\r\n return [this.field];\r\n\r\n return undefined;\r\n }\r\n\r\n public get field() { return this._props.field ?? undefined; }\r\n public get minValue() { return this._props.minValue ?? 0; }\r\n\r\n protected constructor(json: EsriClassBreaksRendererProps) {\r\n super();\r\n if (json.defaultSymbol)\r\n this.defaultSymbol = EsriSymbol.fromJSON(json.defaultSymbol);\r\n\r\n for (const cbi of json.classBreakInfos) {\r\n this.classBreakInfos.push(EsriClassBreaksValueInfo.fromJSON(cbi));\r\n }\r\n\r\n this._props = json;\r\n }\r\n\r\n public override async initialize() {\r\n const promises: Promise<void>[] = [];\r\n if (this.defaultSymbol?.type === \"esriPMS\") {\r\n promises.push((this.defaultSymbol as EsriPMS).loadImage());\r\n }\r\n for (const cbi of this.classBreakInfos) {\r\n if (cbi.symbol.type === \"esriPMS\") {\r\n promises.push((cbi.symbol as EsriPMS).loadImage());\r\n }\r\n }\r\n await Promise.all(promises);\r\n }\r\n\r\n public static override fromJSON(json: EsriClassBreaksRendererProps) {\r\n return new EsriClassBreaksRenderer(json);\r\n }\r\n}\r\n\r\n"]}
|
|
1
|
+
{"version":3,"file":"EsriSymbology.js","sourceRoot":"","sources":["../../../src/ArcGisFeature/EsriSymbology.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { ColorDef } from \"@itwin/core-common\";\r\nimport { FeatureSymbology } from \"../Feature/FeatureSymbology\";\r\n\r\n/** Convert a channel array [r, g, b, a] to ColorDef\r\n * @internal\r\n */\r\nfunction colorFromArray(channels?: number[]) {\r\n if (channels && channels.length === 4) {\r\n // Alpha channel is reversed, 255 = opaque\r\n return ColorDef.from(channels[0], channels[1], channels[2], 255 - channels[3]);\r\n }\r\n return undefined;\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSymbolPropsType = \"esriSFS\" | \"esriPMS\" | \"esriSMS\" | \"esriSLS\" | \"esriSMS\" | \"esriTS\" | \"CIMSymbolReference\";\r\n\r\n/** @internal */\r\nexport interface EsriSymbolCommonProps {\r\n type: EsriSymbolPropsType;\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSymbolProps = EsriSLSProps | EsriPMSProps | EsriSFSProps | EsriSMSProps;\r\n\r\n/** @internal */\r\nexport abstract class EsriSymbol extends FeatureSymbology implements EsriSymbolCommonProps {\r\n public readonly abstract type: EsriSymbolPropsType;\r\n\r\n public static fromJSON(props: EsriSymbolProps) {\r\n if (props.type === \"esriSFS\") {\r\n return EsriSFS.fromJSON(props );\r\n } else if (props.type === \"esriSLS\") {\r\n return EsriSLS.fromJSON(props );\r\n } else if (props.type === \"esriPMS\") {\r\n return EsriPMS.fromJSON(props );\r\n } else if (props.type === \"esriSMS\") {\r\n return EsriSMS.fromJSON(props );\r\n }\r\n throw new Error(`Unknown ESRI symbology type}`);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSLSStyle = \"esriSLSDash\" | \"esriSLSDashDot\" | \"esriSLSDashDotDot\" | \"esriSLSDot\" | \"esriSLSLongDash\" | \"esriSLSLongDashDot\" |\r\n\"esriSLSNull\" | \"esriSLSShortDash\" | \"esriSLSShortDashDot\" | \"esriSLSShortDashDotDot\" | \"esriSLSShortDot\" | \"esriSLSSolid\";\r\n\r\n/** @internal */\r\nexport interface EsriSLSProps extends EsriSymbolCommonProps {\r\n color: number[];\r\n type: \"esriSLS\";\r\n width: number;\r\n style: EsriSLSStyle;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSLS implements EsriSymbolCommonProps {\r\n public readonly props: EsriSLSProps;\r\n\r\n public get color() { return colorFromArray(this.props.color); }\r\n public get type() { return this.props.type; }\r\n public get width() { return this.props.width; }\r\n public get style() { return this.props.style; }\r\n\r\n constructor(json: EsriSLSProps) {\r\n this.props = json;\r\n }\r\n\r\n public static fromJSON(json: EsriSLSProps) {\r\n return new EsriSLS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriPMSProps extends EsriSymbolCommonProps {\r\n type: \"esriPMS\";\r\n url: string;\r\n imageData: string;\r\n contentType: string;\r\n width?: number;\r\n height?: number;\r\n xoffset?: number;\r\n yoffset?: number;\r\n angle?: number;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriPMS implements EsriSymbolCommonProps {\r\n public readonly props: EsriPMSProps;\r\n private _image: HTMLImageElement|undefined;\r\n\r\n public get type() { return this.props.type; }\r\n public get url() { return this.props.url; }\r\n public get imageData() { return this.props.imageData; }\r\n public get imageUrl() { return `data:${this.contentType};base64,${this.imageData}`; }\r\n public get image() {\r\n assert(this._image !== undefined);\r\n return this._image;\r\n }\r\n public get contentType() { return this.props.contentType; }\r\n public get width() { return this.props.width; }\r\n public get height() { return this.props.height; }\r\n public get xoffset() { return this.props.xoffset; }\r\n public get yoffset() { return this.props.yoffset; }\r\n public get angle() { return this.props.angle; }\r\n\r\n public async loadImage() {\r\n if (this._image === undefined) {\r\n this._image = new Image();\r\n\r\n return new Promise<void>((resolve, reject) => {\r\n if (this._image) {\r\n this._image.addEventListener(\"load\", () => {\r\n resolve();\r\n });\r\n this._image.src = this.imageUrl;\r\n } else\r\n reject(new Error(\"Failed to load image\"));\r\n });\r\n }\r\n }\r\n\r\n private constructor(json: EsriPMSProps) {\r\n this.props = json;\r\n }\r\n\r\n public static fromJSON(json: EsriPMSProps) {\r\n return new EsriPMS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSMSStyleType = \"esriSMSCircle\" | \"esriSMSCross\" | \"esriSMSDiamond\" | \"esriSMSSquare\" | \"esriSMSTriangle\" | \"esriSMSX\";\r\n\r\n/** @internal */\r\nexport interface EsriSMSProps extends EsriSymbolCommonProps {\r\n angle?: number;\r\n color?: number[];\r\n outline?: EsriSLSProps;\r\n size: number;\r\n style: EsriSMSStyleType;\r\n type: \"esriSMS\";\r\n xoffset?: number;\r\n yoffset?: number;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSMS implements EsriSymbolCommonProps {\r\n public readonly props: EsriSMSProps;\r\n private _outline: EsriSLS | undefined;\r\n public get angle() { return this.props.angle; }\r\n public get color() { return colorFromArray(this.props.color); }\r\n public get outline() { return this._outline; }\r\n public get size() { return this.props.size; }\r\n public get style() { return this.props.style; }\r\n public get type() { return this.props.type; }\r\n public get xoffset() { return this.props.xoffset; }\r\n public get yoffset() { return this.props.yoffset; }\r\n\r\n private constructor(json: EsriSMSProps) {\r\n this.props = json;\r\n if (json.outline)\r\n this._outline = EsriSLS.fromJSON(json.outline);\r\n }\r\n\r\n public static fromJSON(json: EsriSMSProps) {\r\n return new EsriSMS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type EsriSFSStyleProps = \"esriSFSBackwardDiagonal\" | \"esriSFSCross\" | \"esriSFSDiagonalCross\" | \"esriSFSForwardDiagonal\" | \"esriSFSHorizontal\" | \"esriSFSNull\" | \"esriSFSSolid\" | \"esriSFSVertical\";\r\n\r\n/** @internal */\r\nexport interface EsriSFSProps extends EsriSymbolCommonProps {\r\n color?: number[];\r\n type: \"esriSFS\";\r\n style: EsriSFSStyleProps;\r\n outline?: EsriSLSProps;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSFS implements EsriSymbolCommonProps {\r\n public readonly props: EsriSFSProps;\r\n private _outline: EsriSLS | undefined;\r\n\r\n public get color() { return colorFromArray(this.props.color); }\r\n public get type() { return this.props.type; }\r\n public get style() { return this.props.style; }\r\n public get outline() { return this._outline; }\r\n constructor(json: EsriSFSProps) {\r\n this.props = json;\r\n if (json.outline)\r\n this._outline = EsriSLS.fromJSON(json.outline);\r\n }\r\n\r\n public static fromJSON(json: EsriSFSProps): EsriSFS {\r\n return new EsriSFS(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriUniqueValueInfoProps {\r\n value: string;\r\n label?: string;\r\n description?: string;\r\n symbol: EsriSymbolProps;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriUniqueValueInfo {\r\n\r\n public readonly value: string;\r\n public readonly label: string|undefined;\r\n public readonly description: string|undefined;\r\n public readonly symbol: EsriSymbol;\r\n\r\n private constructor(json: EsriUniqueValueInfoProps) {\r\n this.value = json.value;\r\n this.label = json.label;\r\n this.description = json.description;\r\n this.symbol = EsriSymbol.fromJSON(json.symbol);\r\n }\r\n\r\n public static fromJSON(json: EsriUniqueValueInfoProps) {\r\n return new EsriUniqueValueInfo(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriClassBreaksInfoProps {\r\n classMaxValue: number;\r\n classMinValue?: number;\r\n label?: string;\r\n description?: string;\r\n symbol: EsriSymbolProps;\r\n}\r\n\r\n/** @internal */\r\nexport class EsriClassBreaksValueInfo {\r\n\r\n public readonly classMaxValue: number;\r\n public readonly classMinValue?: number;\r\n public readonly label: string|undefined;\r\n public readonly description: string|undefined;\r\n public readonly symbol: EsriSymbol;\r\n\r\n private constructor(json: EsriClassBreaksInfoProps) {\r\n this.classMaxValue = json.classMaxValue;\r\n this.classMinValue = json.classMinValue;\r\n this.label = json.label;\r\n this.description = json.description;\r\n this.symbol = EsriSymbol.fromJSON(json.symbol);\r\n }\r\n\r\n public static fromJSON(json: EsriClassBreaksInfoProps) {\r\n return new EsriClassBreaksValueInfo(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriRendererBaseProps {\r\n type: EsriRendererType;\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriSimpleRendererProps extends EsriRendererBaseProps {\r\n symbol: EsriSymbolProps;\r\n}\r\n\r\n/** @internal */\r\nexport interface EsriUniqueValueRendererProps extends EsriRendererBaseProps {\r\n field1?: string;\r\n field2?: string;\r\n field3?: string;\r\n defaultSymbol?: EsriSymbolProps;\r\n uniqueValueInfos: EsriUniqueValueInfoProps[];\r\n}\r\n\r\n/** @internal */\r\nexport type EsriClassificationMethodType = \"esriClassifyDefinedInterval\" | \"esriClassifyEqualInterval\" | \"esriClassifyManual\" | \"esriClassifyNaturalBreaks\" | \"esriClassifyQuantile\" | \"esriClassifyStandardDeviation\";\r\n\r\n/** @internal */\r\nexport interface EsriClassBreaksRendererProps extends EsriRendererBaseProps {\r\n field: string;\r\n minValue: number;\r\n defaultSymbol?: EsriSymbolProps;\r\n classificationMethod: EsriClassificationMethodType;\r\n classBreakInfos: EsriClassBreaksInfoProps[];\r\n}\r\n\r\n/** @internal */\r\nexport type EsriRendererType = \"simple\" | \"uniqueValue\" | \"classBreaks\";\r\n\r\n/** @internal */\r\nexport type EsriRendererProps = EsriSimpleRendererProps | EsriUniqueValueRendererProps | EsriClassBreaksRendererProps;\r\n\r\n/** @internal */\r\nexport abstract class EsriRenderer {\r\n public readonly abstract type: EsriRendererType;\r\n public abstract initialize(): Promise<void>;\r\n public get fields(): string[]|undefined {return undefined;}\r\n public static fromJSON(json: EsriRendererProps): EsriRenderer {\r\n if (json.type === \"simple\")\r\n return EsriSimpleRenderer.fromJSON(json as EsriSimpleRendererProps);\r\n else if (json.type === \"uniqueValue\")\r\n return EsriUniqueValueRenderer.fromJSON(json as EsriUniqueValueRendererProps);\r\n else if (json.type === \"classBreaks\")\r\n return EsriClassBreaksRenderer.fromJSON(json as EsriClassBreaksRendererProps);\r\n else\r\n throw Error(\"Unknown renderer type\");\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class EsriSimpleRenderer extends EsriRenderer {\r\n public readonly type: EsriRendererType = \"simple\";\r\n public readonly symbol: EsriSymbol;\r\n\r\n protected constructor(json: EsriSimpleRendererProps) {\r\n super();\r\n this.type = json.type;\r\n this.symbol = EsriSymbol.fromJSON(json.symbol);\r\n }\r\n public async initialize() {\r\n const promises: Promise<void>[] = [];\r\n if (this.symbol.type === \"esriPMS\") {\r\n promises.push((this.symbol as EsriPMS).loadImage());\r\n }\r\n await Promise.all(promises);\r\n }\r\n\r\n public static override fromJSON(json: EsriSimpleRendererProps) {\r\n return new EsriSimpleRenderer(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class EsriUniqueValueRenderer extends EsriRenderer {\r\n private _props: EsriUniqueValueRendererProps;\r\n public readonly type: EsriRendererType = \"uniqueValue\";\r\n public readonly defaultSymbol?: EsriSymbol;\r\n public readonly uniqueValueInfos: EsriUniqueValueInfo[] = [];\r\n\r\n public override get fields() {\r\n const fields: string[] = [];\r\n if (this.field1)\r\n fields.push(this.field1);\r\n if (this.field2)\r\n fields.push(this.field2);\r\n if (this.field3)\r\n fields.push(this.field3);\r\n\r\n return fields;\r\n }\r\n\r\n public get field1() { return this._props.field1 ?? undefined; }\r\n public get field2() { return this._props.field2 ?? undefined; }\r\n public get field3() { return this._props.field3 ?? undefined; }\r\n\r\n protected constructor(json: EsriUniqueValueRendererProps) {\r\n super();\r\n if (json.defaultSymbol)\r\n this.defaultSymbol = EsriSymbol.fromJSON(json.defaultSymbol);\r\n for (const uvi of json.uniqueValueInfos) {\r\n this.uniqueValueInfos.push(EsriUniqueValueInfo.fromJSON(uvi));\r\n }\r\n\r\n this._props = json;\r\n }\r\n\r\n public override async initialize() {\r\n const promises: Promise<void>[] = [];\r\n if (this.defaultSymbol?.type === \"esriPMS\") {\r\n promises.push((this.defaultSymbol as EsriPMS).loadImage());\r\n }\r\n for (const uvi of this.uniqueValueInfos) {\r\n if (uvi.symbol.type === \"esriPMS\") {\r\n promises.push((uvi.symbol as EsriPMS).loadImage());\r\n }\r\n }\r\n await Promise.all(promises);\r\n }\r\n\r\n public static override fromJSON(json: EsriUniqueValueRendererProps) {\r\n return new EsriUniqueValueRenderer(json);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport class EsriClassBreaksRenderer extends EsriRenderer {\r\n private _props: EsriClassBreaksRendererProps;\r\n public readonly type: EsriRendererType = \"classBreaks\";\r\n public readonly defaultSymbol?: EsriSymbol;\r\n public get classificationMethod() {return this._props.classificationMethod;}\r\n public readonly classBreakInfos: EsriClassBreaksValueInfo[] = [];\r\n\r\n public override get fields() {\r\n if (this.field)\r\n return [this.field];\r\n\r\n return undefined;\r\n }\r\n\r\n public get field() { return this._props.field ?? undefined; }\r\n public get minValue() { return this._props.minValue ?? 0; }\r\n\r\n protected constructor(json: EsriClassBreaksRendererProps) {\r\n super();\r\n if (json.defaultSymbol)\r\n this.defaultSymbol = EsriSymbol.fromJSON(json.defaultSymbol);\r\n\r\n for (const cbi of json.classBreakInfos) {\r\n this.classBreakInfos.push(EsriClassBreaksValueInfo.fromJSON(cbi));\r\n }\r\n\r\n this._props = json;\r\n }\r\n\r\n public override async initialize() {\r\n const promises: Promise<void>[] = [];\r\n if (this.defaultSymbol?.type === \"esriPMS\") {\r\n promises.push((this.defaultSymbol as EsriPMS).loadImage());\r\n }\r\n for (const cbi of this.classBreakInfos) {\r\n if (cbi.symbol.type === \"esriPMS\") {\r\n promises.push((cbi.symbol as EsriPMS).loadImage());\r\n }\r\n }\r\n await Promise.all(promises);\r\n }\r\n\r\n public static override fromJSON(json: EsriClassBreaksRendererProps) {\r\n return new EsriClassBreaksRenderer(json);\r\n }\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ColorDef } from "@itwin/core-common";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export declare class DefaultMarkerIcon {
|
|
4
|
+
private static getSvgContent;
|
|
5
|
+
static getContent(color?: ColorDef): {
|
|
6
|
+
contentType: string;
|
|
7
|
+
imageData: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=DefaultMarkerIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultMarkerIcon.d.ts","sourceRoot":"","sources":["../../../src/Feature/DefaultMarkerIcon.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnE,gBAAgB;AAChB,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAC,aAAa;WAad,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ;;;;CAM1C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Base64EncodedString, ColorDef } from "@itwin/core-common";
|
|
6
|
+
/** @internal */
|
|
7
|
+
export class DefaultMarkerIcon {
|
|
8
|
+
static getSvgContent(color = ColorDef.fromString("#00AEEF")) {
|
|
9
|
+
return `<?xml version="1.0" encoding="utf-8"?>
|
|
10
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
11
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
12
|
+
viewBox="0 0 365 560" enable-background="new 0 0 365 560" xml:space="preserve">
|
|
13
|
+
<g>
|
|
14
|
+
<path fill="${color.toHexString()}" d="M182.9,551.7c0,0.1,0.2,0.3,0.2,0.3S358.3,283,358.3,194.6c0-130.1-88.8-186.7-175.4-186.9
|
|
15
|
+
C96.3,7.9,7.5,64.5,7.5,194.6c0,88.4,175.3,357.4,175.3,357.4S182.9,551.7,182.9,551.7z M122.2,187.2c0-33.6,27.2-60.8,60.8-60.8
|
|
16
|
+
c33.6,0,60.8,27.2,60.8,60.8S216.5,248,182.9,248C149.4,248,122.2,220.8,122.2,187.2z"/>
|
|
17
|
+
</g>
|
|
18
|
+
</svg>`;
|
|
19
|
+
}
|
|
20
|
+
static getContent(color) {
|
|
21
|
+
return {
|
|
22
|
+
contentType: "image/svg+xml",
|
|
23
|
+
imageData: Base64EncodedString.encode(DefaultMarkerIcon.getSvgContent(color)),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=DefaultMarkerIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultMarkerIcon.js","sourceRoot":"","sources":["../../../src/Feature/DefaultMarkerIcon.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnE,gBAAgB;AAChB,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAC,aAAa,CAAC,QAAkB,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAC3E,OAAO;;;;;oBAKS,KAAK,CAAC,WAAW,EAAE;;;;WAI5B,CAAC;IACV,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAgB;QACvC,OAAO;YACL,WAAW,EAAE,eAAe;YAC5B,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC9E,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { Base64EncodedString, ColorDef } from \"@itwin/core-common\";\r\n\r\n/** @internal */\r\nexport class DefaultMarkerIcon {\r\n private static getSvgContent(color: ColorDef = ColorDef.fromString(\"#00AEEF\")) {\r\n return `<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n <!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n <svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n viewBox=\"0 0 365 560\" enable-background=\"new 0 0 365 560\" xml:space=\"preserve\">\r\n <g>\r\n <path fill=\"${color.toHexString()}\" d=\"M182.9,551.7c0,0.1,0.2,0.3,0.2,0.3S358.3,283,358.3,194.6c0-130.1-88.8-186.7-175.4-186.9\r\n C96.3,7.9,7.5,64.5,7.5,194.6c0,88.4,175.3,357.4,175.3,357.4S182.9,551.7,182.9,551.7z M122.2,187.2c0-33.6,27.2-60.8,60.8-60.8\r\n c33.6,0,60.8,27.2,60.8,60.8S216.5,248,182.9,248C149.4,248,122.2,220.8,122.2,187.2z\"/>\r\n </g>\r\n </svg>`;\r\n }\r\n\r\n public static getContent(color?: ColorDef) {\r\n return {\r\n contentType: \"image/svg+xml\",\r\n imageData: Base64EncodedString.encode(DefaultMarkerIcon.getSvgContent(color)),\r\n };\r\n }\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Transform } from "@itwin/core-geometry";
|
|
2
|
+
import { FeatureGeometryBaseRenderer, FeatureSymbolizedRenderer, FeatureSymbologyRenderer } from "@itwin/core-frontend";
|
|
3
|
+
import { ArcGisSymbologyCanvasRenderer } from "../ArcGisFeature/ArcGisSymbologyRenderer";
|
|
4
|
+
/** @internal */
|
|
5
|
+
export declare class FeatureCanvasRenderer extends FeatureGeometryBaseRenderer implements FeatureSymbolizedRenderer {
|
|
6
|
+
private _context;
|
|
7
|
+
private _symbol;
|
|
8
|
+
get symbolRenderer(): FeatureSymbologyRenderer;
|
|
9
|
+
hasSymbologyRenderer(): this is FeatureSymbolizedRenderer;
|
|
10
|
+
constructor(context: CanvasRenderingContext2D, symbol: ArcGisSymbologyCanvasRenderer, world2PixelTransform?: Transform);
|
|
11
|
+
protected beginPath(): void;
|
|
12
|
+
protected closePath(): void;
|
|
13
|
+
protected lineTo(x: number, y: number): void;
|
|
14
|
+
protected moveTo(x: number, y: number): void;
|
|
15
|
+
protected fill(): Promise<void>;
|
|
16
|
+
protected stroke(): Promise<void>;
|
|
17
|
+
protected finishPoints(): Promise<void>;
|
|
18
|
+
protected drawPoint(x: number, y: number): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=FeatureCanvasRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureCanvasRenderer.d.ts","sourceRoot":"","sources":["../../../src/Feature/FeatureCanvasRenderer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAEzF,gBAAgB;AAChB,qBAAa,qBAAsB,SAAQ,2BAA4B,YAAW,yBAAyB;IACzG,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,OAAO,CAAgC;IAE/C,IAAY,cAAc,IAAI,wBAAwB,CAErD;IACe,oBAAoB,IAAI,IAAI,IAAI,yBAAyB;gBAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,6BAA6B,EAAE,oBAAoB,CAAC,EAAE,SAAS;IAMtH,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,SAAS;IAInB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAIrC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;cAIrB,IAAI;cAKJ,MAAM;cAKN,YAAY;cAGZ,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAG/C"}
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
3
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
import {
|
|
5
|
+
import { FeatureGeometryBaseRenderer } from "@itwin/core-frontend";
|
|
6
6
|
/** @internal */
|
|
7
|
-
export class
|
|
8
|
-
get
|
|
9
|
-
return this._symbol
|
|
7
|
+
export class FeatureCanvasRenderer extends FeatureGeometryBaseRenderer {
|
|
8
|
+
get symbolRenderer() {
|
|
9
|
+
return this._symbol;
|
|
10
10
|
}
|
|
11
|
+
hasSymbologyRenderer() { return true; }
|
|
11
12
|
constructor(context, symbol, world2PixelTransform) {
|
|
12
13
|
super(world2PixelTransform);
|
|
13
14
|
this._symbol = symbol;
|
|
@@ -39,4 +40,4 @@ export class ArcGisCanvasRenderer extends ArcGisGeometryBaseRenderer {
|
|
|
39
40
|
this._symbol.drawPoint(this._context, x, y);
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
|
-
//# sourceMappingURL=
|
|
43
|
+
//# sourceMappingURL=FeatureCanvasRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureCanvasRenderer.js","sourceRoot":"","sources":["../../../src/Feature/FeatureCanvasRenderer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAG/F,OAAO,EAAE,2BAA2B,EAAuD,MAAM,sBAAsB,CAAC;AAGxH,gBAAgB;AAChB,MAAM,OAAO,qBAAsB,SAAQ,2BAA2B;IAIpE,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACe,oBAAoB,KAAuC,OAAO,IAAI,CAAC,CAAA,CAAC;IAExF,YAAY,OAAiC,EAAE,MAAqC,EAAE,oBAAgC;QACpH,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAES,MAAM,CAAC,CAAS,EAAE,CAAS;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAES,MAAM,CAAC,CAAS,EAAE,CAAS;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,MAAM;QACpB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAES,KAAK,CAAC,YAAY;IAC5B,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS;QAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { Transform } from \"@itwin/core-geometry\";\r\nimport { FeatureGeometryBaseRenderer, FeatureSymbolizedRenderer, FeatureSymbologyRenderer } from \"@itwin/core-frontend\";\r\nimport { ArcGisSymbologyCanvasRenderer } from \"../ArcGisFeature/ArcGisSymbologyRenderer\";\r\n\r\n/** @internal */\r\nexport class FeatureCanvasRenderer extends FeatureGeometryBaseRenderer implements FeatureSymbolizedRenderer {\r\n private _context: CanvasRenderingContext2D;\r\n private _symbol: ArcGisSymbologyCanvasRenderer;\r\n\r\n public get symbolRenderer(): FeatureSymbologyRenderer {\r\n return this._symbol;\r\n }\r\n public override hasSymbologyRenderer(): this is FeatureSymbolizedRenderer {return true;}\r\n\r\n constructor(context: CanvasRenderingContext2D, symbol: ArcGisSymbologyCanvasRenderer, world2PixelTransform?: Transform) {\r\n super(world2PixelTransform);\r\n this._symbol = symbol;\r\n this._context = context;\r\n }\r\n\r\n protected beginPath() {\r\n this._context.beginPath();\r\n }\r\n\r\n protected closePath() {\r\n this._context.closePath();\r\n }\r\n\r\n protected lineTo(x: number, y: number) {\r\n this._context.lineTo(x, y);\r\n }\r\n\r\n protected moveTo(x: number, y: number) {\r\n this._context.moveTo(x, y);\r\n }\r\n\r\n protected async fill() {\r\n this._symbol.applyFillStyle(this._context);\r\n this._context.fill();\r\n }\r\n\r\n protected async stroke() {\r\n this._symbol.applyStrokeStyle(this._context);\r\n this._context.stroke();\r\n }\r\n\r\n protected async finishPoints() {\r\n }\r\n\r\n protected async drawPoint(x: number, y: number) {\r\n this._symbol.drawPoint(this._context, x, y);\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Primitives, StandardTypeNames } from "@itwin/appui-abstract";
|
|
2
|
+
/** Base feature infos reader
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class FeatureInfoReader {
|
|
6
|
+
floatPrecision: number | undefined;
|
|
7
|
+
forceDateDisplayValueToIso: boolean;
|
|
8
|
+
protected toFixedWithoutPadding: (value: number) => number;
|
|
9
|
+
protected getDisplayValue: (typename: StandardTypeNames, value: Primitives.Value | undefined) => string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=FeatureInfoReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureInfoReader.d.ts","sourceRoot":"","sources":["../../../src/Feature/FeatureInfoReader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;GAEG;AACH,8BAAsB,iBAAiB;IAG9B,cAAc,EAAE,MAAM,GAAC,SAAS,CAAC;IAIjC,0BAA0B,UAAS;IAE1C,SAAS,CAAC,qBAAqB,UAAW,MAAM,YAE9C;IAEF,SAAS,CAAC,eAAe,aAAc,iBAAiB,SAAS,WAAW,KAAK,GAAC,SAAS,YAQzF;CAEH"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { StandardTypeNames } from "@itwin/appui-abstract";
|
|
6
|
+
/** Base feature infos reader
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export class FeatureInfoReader {
|
|
10
|
+
constructor() {
|
|
11
|
+
// Force display value of date to ISO 8601 format.
|
|
12
|
+
// Turning this ON, will disable display value in end-user's locale
|
|
13
|
+
this.forceDateDisplayValueToIso = false;
|
|
14
|
+
this.toFixedWithoutPadding = (value) => {
|
|
15
|
+
return (this.floatPrecision === undefined ? value : parseFloat(value.toFixed(this.floatPrecision)));
|
|
16
|
+
};
|
|
17
|
+
this.getDisplayValue = (typename, value) => {
|
|
18
|
+
if (value === undefined) {
|
|
19
|
+
return "";
|
|
20
|
+
}
|
|
21
|
+
else if (typename === StandardTypeNames.DateTime && this.forceDateDisplayValueToIso) {
|
|
22
|
+
return value.toISOString();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return `${value}`;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=FeatureInfoReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureInfoReader.js","sourceRoot":"","sources":["../../../src/Feature/FeatureInfoReader.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAc,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;GAEG;AACH,MAAM,OAAgB,iBAAiB;IAAvC;QAKE,kDAAkD;QAClD,mEAAmE;QAC5D,+BAA0B,GAAG,KAAK,CAAC;QAEhC,0BAAqB,GAAG,CAAC,KAAa,EAAE,EAAE;YAClD,OAAO,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACtG,CAAC,CAAC;QAEQ,oBAAe,GAAG,CAAC,QAA2B,EAAE,KAAiC,EAAE,EAAE;YAC7F,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,OAAQ,EAAE,CAAC;aACZ;iBAAM,IAAK,QAAQ,KAAK,iBAAiB,CAAC,QAAQ,IAAI,IAAI,CAAC,0BAA0B,EAAE;gBACtF,OAAQ,KAAc,CAAC,WAAW,EAAE,CAAC;aACtC;iBAAM;gBACL,OAAO,GAAG,KAAK,EAAE,CAAC;aACnB;QACH,CAAC,CAAC;IAEJ,CAAC;CAAA","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { Primitives, StandardTypeNames } from \"@itwin/appui-abstract\";\r\n\r\n/** Base feature infos reader\r\n * @internal\r\n */\r\nexport abstract class FeatureInfoReader {\r\n\r\n // Optionally you can set the floating precision\r\n public floatPrecision: number|undefined;\r\n\r\n // Force display value of date to ISO 8601 format.\r\n // Turning this ON, will disable display value in end-user's locale\r\n public forceDateDisplayValueToIso = false;\r\n\r\n protected toFixedWithoutPadding = (value: number) => {\r\n return (this.floatPrecision === undefined ? value : parseFloat(value.toFixed(this.floatPrecision)));\r\n };\r\n\r\n protected getDisplayValue = (typename: StandardTypeNames, value: Primitives.Value|undefined) => {\r\n if (value === undefined) {\r\n return \"\";\r\n } else if ( typename === StandardTypeNames.DateTime && this.forceDateDisplayValueToIso) {\r\n return (value as Date).toISOString();\r\n } else {\r\n return `${value}`;\r\n }\r\n };\r\n\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureSymbology.d.ts","sourceRoot":"","sources":["../../../src/Feature/FeatureSymbology.ts"],"names":[],"mappings":"AAKA,gBAAgB;AAChB,8BAAsB,gBAAgB;CAErC;AAED,gBAAgB;AAChB,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,gBAAgB,CAAC;CAC1D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @internal */
|
|
6
|
+
export class FeatureSymbology {
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=FeatureSymbology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureSymbology.js","sourceRoot":"","sources":["../../../src/Feature/FeatureSymbology.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,gBAAgB;AAChB,MAAM,OAAgB,gBAAgB;CAErC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @internal */\r\nexport abstract class FeatureSymbology {\r\n\r\n}\r\n\r\n/** @internal */\r\nexport interface FeatureDefaultSymbology {\r\n getSymbology: (geometryType: string) => FeatureSymbology;\r\n}\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RandomMapColor.d.ts","sourceRoot":"","sources":["../../../src/Feature/RandomMapColor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,gBAAgB;AAChB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CASxC;IAEK,QAAQ;IAIR,WAAW;CAGnB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { ColorDef } from "@itwin/core-common";
|
|
6
|
+
/** @internal */
|
|
7
|
+
class RandomMapColor {
|
|
8
|
+
getColor() {
|
|
9
|
+
return RandomMapColor.randomColorPalette[Math.floor(Math.random() * RandomMapColor.randomColorPalette.length)];
|
|
10
|
+
}
|
|
11
|
+
getColorDef() {
|
|
12
|
+
return ColorDef.fromString(this.getColor());
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
RandomMapColor.randomColorPalette = [
|
|
16
|
+
"#8c510a", "#bf812d", "#dfc27d", "#f6e8c3", "#f5f5f5", "#c7eae5", "#80cdc1", "#35978f", "#01665e",
|
|
17
|
+
"#b2182b", "#d6604d", "#f4a582", "#fddbc7", "#f7f7f7", "#d1e5f0", "#92c5de", "#4393c3", "#2166ac",
|
|
18
|
+
"#d73027", "#f46d43", "#fdae61", "#fee090", "#ffffbf", "#e0f3f8", "#abd9e9", "#74add1", "#4575b4",
|
|
19
|
+
"#a6cee3", "#1f78b4", "#b2df8a", "#33a02c", "#fb9a99", "#e31c2c", "#fdbf6f", "#ff7f00", "#cab2d6",
|
|
20
|
+
"#fbb4ae", "#e41a1c", "#377eb8", "#4daf4a", "#984ea3", "#ff2000", "#ffff33", "#a65628", "#999999",
|
|
21
|
+
"#8dd3c7", "#ffffb3", "#bebada", "#fb8072", "#80b1d3", "#fdb462", "#b3de69", "#fccde5", "#ffa07a",
|
|
22
|
+
"#b15928", "#6a3d9a", "#ffed6f", "#9e0142", "#5e4fa2", "#999900", "#1a9850", "#4d4d4d", "#6baed6",
|
|
23
|
+
"#71c671", "#388e8e", "#7d9ec0", "#7171c6", "#8e388e", "#8e8e38", "#00c957", "#cc3333", "#d1dbdd",
|
|
24
|
+
];
|
|
25
|
+
export { RandomMapColor };
|
|
26
|
+
//# sourceMappingURL=RandomMapColor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RandomMapColor.js","sourceRoot":"","sources":["../../../src/Feature/RandomMapColor.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,gBAAgB;AAChB,MAAa,cAAc;IAYlB,QAAQ;QACb,OAAO,cAAc,CAAC,kBAAkB,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,CAAC;IAEM,WAAW;QAChB,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;;AAjBuB,iCAAkB,GAAG;IAC3C,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACjG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACjG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACjG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACjG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACjG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACjG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IACjG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CAClG,CAAC;SAVS,cAAc","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { ColorDef } from \"@itwin/core-common\";\r\n\r\n/** @internal */\r\nexport class RandomMapColor {\r\n private static readonly randomColorPalette = [\r\n \"#8c510a\", \"#bf812d\", \"#dfc27d\", \"#f6e8c3\", \"#f5f5f5\", \"#c7eae5\", \"#80cdc1\", \"#35978f\", \"#01665e\",\r\n \"#b2182b\", \"#d6604d\", \"#f4a582\", \"#fddbc7\", \"#f7f7f7\", \"#d1e5f0\", \"#92c5de\", \"#4393c3\", \"#2166ac\",\r\n \"#d73027\", \"#f46d43\", \"#fdae61\", \"#fee090\", \"#ffffbf\", \"#e0f3f8\", \"#abd9e9\", \"#74add1\", \"#4575b4\",\r\n \"#a6cee3\", \"#1f78b4\", \"#b2df8a\", \"#33a02c\", \"#fb9a99\", \"#e31c2c\", \"#fdbf6f\", \"#ff7f00\", \"#cab2d6\",\r\n \"#fbb4ae\", \"#e41a1c\", \"#377eb8\", \"#4daf4a\", \"#984ea3\", \"#ff2000\", \"#ffff33\", \"#a65628\", \"#999999\",\r\n \"#8dd3c7\", \"#ffffb3\", \"#bebada\", \"#fb8072\", \"#80b1d3\", \"#fdb462\", \"#b3de69\", \"#fccde5\", \"#ffa07a\",\r\n \"#b15928\", \"#6a3d9a\", \"#ffed6f\", \"#9e0142\", \"#5e4fa2\", \"#999900\", \"#1a9850\", \"#4d4d4d\", \"#6baed6\",\r\n \"#71c671\", \"#388e8e\", \"#7d9ec0\", \"#7171c6\", \"#8e388e\", \"#8e8e38\", \"#00c957\", \"#cc3333\", \"#d1dbdd\",\r\n ];\r\n\r\n public getColor() {\r\n return RandomMapColor.randomColorPalette[ Math.floor(Math.random() * RandomMapColor.randomColorPalette.length)];\r\n }\r\n\r\n public getColorDef() {\r\n return ColorDef.fromString(this.getColor());\r\n }\r\n}\r\n\r\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as GeoJson from "geojson";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export type Coord = number[];
|
|
4
|
+
/** @internal */ export type RingCoords = Coord[];
|
|
5
|
+
/** @internal */
|
|
6
|
+
export type MultiRingCoords = RingCoords[];
|
|
7
|
+
/** @internal */
|
|
8
|
+
export interface MultiPath {
|
|
9
|
+
lengths: number[];
|
|
10
|
+
coords: number[];
|
|
11
|
+
}
|
|
12
|
+
/** @internal */
|
|
13
|
+
export declare class GeoJSONGeometryUtils {
|
|
14
|
+
static isRingOrPath(geom: GeoJson.Geometry): boolean;
|
|
15
|
+
static isFilled(geom: GeoJson.Geometry): boolean;
|
|
16
|
+
static isPoint(geom: GeoJson.Geometry): boolean;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=GeoJSONGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeoJSONGeometry.d.ts","sourceRoot":"","sources":["../../../src/GeoJSON/GeoJSONGeometry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,gBAAgB;AAChB,MAAM,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;AAE7B,gBAAgB,CAChB,MAAM,MAAM,UAAU,GAAG,KAAK,EAAE,CAAC;AAEjC,gBAAgB;AAChB,MAAM,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC;AAE3C,gBAAgB;AAChB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,gBAAgB;AAChB,qBAAa,oBAAoB;WACjB,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ;WACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ;WAC/B,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ;CAC7C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
export class GeoJSONGeometryUtils {
|
|
3
|
+
static isRingOrPath(geom) { return geom.type === "LineString" || geom.type === "MultiLineString" || geom.type === "Polygon" || geom.type === "MultiPolygon"; }
|
|
4
|
+
static isFilled(geom) { return geom.type === "Polygon" || geom.type === "MultiPolygon"; }
|
|
5
|
+
static isPoint(geom) { return geom.type === "Point" || geom.type === "MultiPoint"; }
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=GeoJSONGeometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeoJSONGeometry.js","sourceRoot":"","sources":["../../../src/GeoJSON/GeoJSONGeometry.ts"],"names":[],"mappings":"AAqBA,gBAAgB;AAChB,MAAM,OAAO,oBAAoB;IACxB,MAAM,CAAC,YAAY,CAAC,IAAsB,IAAG,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA,CAAC;IAC9K,MAAM,CAAC,QAAQ,CAAC,IAAsB,IAAG,OAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA,CAAC;IAC1G,MAAM,CAAC,OAAO,CAAC,IAAsB,IAAG,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAA,CAAC;CAC5G","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport * as GeoJson from \"geojson\";\r\n\r\n/** @internal */\r\nexport type Coord = number[];\r\n\r\n/** @internal */ // Array of 2 or 3 numbers\r\nexport type RingCoords = Coord[];\r\n\r\n/** @internal */\r\nexport type MultiRingCoords = RingCoords[];\r\n\r\n/** @internal */\r\nexport interface MultiPath {\r\n lengths: number[];\r\n coords: number[];\r\n}\r\n\r\n/** @internal */\r\nexport class GeoJSONGeometryUtils {\r\n public static isRingOrPath(geom: GeoJson.Geometry) {return geom.type === \"LineString\" || geom.type === \"MultiLineString\" || geom.type === \"Polygon\" || geom.type === \"MultiPolygon\";}\r\n public static isFilled(geom: GeoJson.Geometry) {return geom.type === \"Polygon\" || geom.type === \"MultiPolygon\";}\r\n public static isPoint(geom: GeoJson.Geometry) {return geom.type === \"Point\" || geom.type === \"MultiPoint\";}\r\n}\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FeatureGeometryRenderer } from "@itwin/core-frontend";
|
|
2
|
+
import * as GeoJson from "geojson";
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare class GeoJSONGeometryReader {
|
|
5
|
+
private _renderer;
|
|
6
|
+
constructor(renderer: FeatureGeometryRenderer);
|
|
7
|
+
readGeometry(geometry: GeoJson.Geometry): Promise<void>;
|
|
8
|
+
private readRingsAndPaths;
|
|
9
|
+
private readPoints;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=GeoJSONGeometryReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeoJSONGeometryReader.d.ts","sourceRoot":"","sources":["../../../src/GeoJSON/GeoJSONGeometryReader.ts"],"names":[],"mappings":"AAMA,OAAO,EAAsB,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,gBAAgB;AAChB,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAA0B;gBAExB,QAAQ,EAAE,uBAAuB;IAIvC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAWtC,iBAAiB;YAwCjB,UAAU;CAkBzB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Logger } from "@itwin/core-bentley";
|
|
6
|
+
import { deflateCoordinates } from "@itwin/core-frontend";
|
|
7
|
+
import { GeoJSONGeometryUtils } from "./GeoJSONGeometry";
|
|
8
|
+
const loggerCategory = "MapLayersFormats.GeoJSONGeometryReader";
|
|
9
|
+
/** @internal */
|
|
10
|
+
export class GeoJSONGeometryReader {
|
|
11
|
+
constructor(renderer) {
|
|
12
|
+
this._renderer = renderer;
|
|
13
|
+
}
|
|
14
|
+
async readGeometry(geometry) {
|
|
15
|
+
if (GeoJSONGeometryUtils.isRingOrPath(geometry)) {
|
|
16
|
+
await this.readRingsAndPaths(geometry, this._renderer, GeoJSONGeometryUtils.isFilled(geometry), false /* relativeCoords*/);
|
|
17
|
+
}
|
|
18
|
+
else if (GeoJSONGeometryUtils.isPoint(geometry)) {
|
|
19
|
+
await this.readPoints(geometry, this._renderer, false /* relativeCoords*/);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
Logger.logError(loggerCategory, `GeoJSONGeometryReader:readGeometry - Unknown geometry type '${geometry.type}'`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async readRingsAndPaths(geometry, renderer, fill, relativeCoords) {
|
|
26
|
+
const multiPath = { coords: [], lengths: [] };
|
|
27
|
+
let polys;
|
|
28
|
+
const readPath = (ring, offset, result) => {
|
|
29
|
+
const newOffset = deflateCoordinates(ring, result.coords, 2, offset);
|
|
30
|
+
result.lengths.push(ring.length);
|
|
31
|
+
return newOffset;
|
|
32
|
+
};
|
|
33
|
+
const readMultiPath = (multiRings, result) => {
|
|
34
|
+
let offset = 0;
|
|
35
|
+
for (const ring of multiRings) {
|
|
36
|
+
offset = readPath(ring, offset, result);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
if (geometry.type === "LineString") {
|
|
40
|
+
readPath(geometry.coordinates, 0, multiPath);
|
|
41
|
+
}
|
|
42
|
+
else if (geometry.type === "MultiLineString" || geometry.type === "Polygon") {
|
|
43
|
+
readMultiPath(geometry.coordinates, multiPath);
|
|
44
|
+
}
|
|
45
|
+
else if (geometry.type === "MultiPolygon") {
|
|
46
|
+
polys = [];
|
|
47
|
+
for (const poly of geometry.coordinates) {
|
|
48
|
+
const tmpMultiPath = { coords: [], lengths: [] };
|
|
49
|
+
readMultiPath(poly, tmpMultiPath);
|
|
50
|
+
polys.push(tmpMultiPath);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (polys) {
|
|
54
|
+
for (const poly of polys) {
|
|
55
|
+
await renderer.renderPath(poly.lengths, poly.coords, fill, 2, relativeCoords);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
await renderer.renderPath(multiPath.lengths, multiPath.coords, fill, 2, relativeCoords);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async readPoints(geom, renderer, relativeCoords) {
|
|
63
|
+
const lengths = [];
|
|
64
|
+
const coords = [];
|
|
65
|
+
const readPoint = (coord) => {
|
|
66
|
+
lengths.push(1);
|
|
67
|
+
coords.push(coord[0]);
|
|
68
|
+
coords.push(coord[1]);
|
|
69
|
+
};
|
|
70
|
+
if (geom.type === "MultiPoint") {
|
|
71
|
+
geom.coordinates.forEach(readPoint);
|
|
72
|
+
}
|
|
73
|
+
else if (geom.type === "Point") {
|
|
74
|
+
readPoint(geom.coordinates);
|
|
75
|
+
}
|
|
76
|
+
await renderer.renderPoint(lengths, coords, 2, relativeCoords);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=GeoJSONGeometryReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeoJSONGeometryReader.js","sourceRoot":"","sources":["../../../src/GeoJSON/GeoJSONGeometryReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { deflateCoordinates, FeatureGeometryRenderer } from \"@itwin/core-frontend\";\r\nimport { Coord, GeoJSONGeometryUtils, MultiPath, MultiRingCoords, RingCoords } from \"./GeoJSONGeometry\";\r\nimport * as GeoJson from \"geojson\";\r\n\r\nconst loggerCategory = \"MapLayersFormats.GeoJSONGeometryReader\";\r\n\r\n/** @internal */\r\nexport class GeoJSONGeometryReader {\r\n private _renderer: FeatureGeometryRenderer;\r\n\r\n public constructor(renderer: FeatureGeometryRenderer) {\r\n this._renderer = renderer;\r\n }\r\n\r\n public async readGeometry(geometry: GeoJson.Geometry) {\r\n\r\n if (GeoJSONGeometryUtils.isRingOrPath(geometry)) {\r\n await this.readRingsAndPaths(geometry, this._renderer, GeoJSONGeometryUtils.isFilled(geometry), false /* relativeCoords*/);\r\n } else if (GeoJSONGeometryUtils.isPoint(geometry)) {\r\n await this.readPoints(geometry, this._renderer, false/* relativeCoords*/);\r\n } else {\r\n Logger.logError(loggerCategory, `GeoJSONGeometryReader:readGeometry - Unknown geometry type '${geometry.type}'`);\r\n }\r\n }\r\n\r\n private async readRingsAndPaths(geometry: GeoJson.Geometry, renderer: FeatureGeometryRenderer, fill: boolean, relativeCoords: boolean) {\r\n const multiPath: MultiPath = {coords: [], lengths: []};\r\n let polys: MultiPath[] | undefined;\r\n\r\n const readPath = (ring: RingCoords, offset: number, result: MultiPath) => {\r\n const newOffset = deflateCoordinates(ring, result.coords, 2, offset);\r\n result.lengths.push(ring.length);\r\n return newOffset;\r\n };\r\n\r\n const readMultiPath = (multiRings: MultiRingCoords, result: MultiPath) => {\r\n let offset = 0;\r\n for (const ring of multiRings) {\r\n offset = readPath(ring, offset, result);\r\n }\r\n };\r\n\r\n if (geometry.type === \"LineString\") {\r\n readPath(geometry.coordinates, 0, multiPath);\r\n } else if (geometry.type === \"MultiLineString\" || geometry.type === \"Polygon\") {\r\n readMultiPath(geometry.coordinates, multiPath);\r\n } else if (geometry.type === \"MultiPolygon\") {\r\n polys = [];\r\n for (const poly of geometry.coordinates) {\r\n const tmpMultiPath: MultiPath = {coords: [], lengths: [] };\r\n readMultiPath(poly, tmpMultiPath);\r\n polys.push(tmpMultiPath);\r\n }\r\n }\r\n\r\n if (polys) {\r\n for (const poly of polys) {\r\n await renderer.renderPath(poly.lengths, poly.coords, fill, 2, relativeCoords);\r\n }\r\n } else {\r\n await renderer.renderPath(multiPath.lengths, multiPath.coords, fill, 2, relativeCoords);\r\n }\r\n\r\n }\r\n\r\n private async readPoints(geom: GeoJson.Geometry, renderer: FeatureGeometryRenderer, relativeCoords: boolean) {\r\n\r\n const lengths: Coord = [];\r\n const coords: Coord = [];\r\n const readPoint = (coord: Coord) => {\r\n lengths.push(1);\r\n coords.push(coord[0]);\r\n coords.push(coord[1]);\r\n };\r\n\r\n if (geom.type === \"MultiPoint\") {\r\n geom.coordinates.forEach(readPoint);\r\n } else if (geom.type === \"Point\") {\r\n readPoint(geom.coordinates);\r\n }\r\n\r\n await renderer.renderPoint(lengths, coords, 2, relativeCoords);\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ImageMapLayerSettings } from "@itwin/core-common";
|
|
2
|
+
import { ImageryMapLayerFormat, MapLayerImageryProvider, MapLayerSourceValidation, ValidateSourceArgs } from "@itwin/core-frontend";
|
|
3
|
+
/** @internal */
|
|
4
|
+
export declare class OgcApiFeaturesMapLayerFormat extends ImageryMapLayerFormat {
|
|
5
|
+
static formatId: string;
|
|
6
|
+
static createImageryProvider(settings: ImageMapLayerSettings): MapLayerImageryProvider | undefined;
|
|
7
|
+
static validate(args: ValidateSourceArgs): Promise<MapLayerSourceValidation>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=OgcApiFeaturesFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OgcApiFeaturesFormat.d.ts","sourceRoot":"","sources":["../../../src/OgcApiFeatures/OgcApiFeaturesFormat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAoB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAqB,qBAAqB,EAAE,uBAAuB,EAAwB,wBAAwB,EAAyB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGpM,gBAAgB;AAChB,qBAAa,4BAA6B,SAAQ,qBAAqB;IACrE,OAAuB,QAAQ,SAAoB;WAC5B,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,SAAS;WAErF,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAuFnG"}
|