@hisptz/dhis2-analytics 2.1.11 → 2.1.12
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/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +42043 -0
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -0
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +5 -20
- package/dist/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js +42041 -0
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/api.js.map +1 -0
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js +2 -1
- package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/esm/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { getInfo, getScale, getFeatureCollectionProperties, getHistogramStatistics, hasClasses, combineReducers } from '../utils';
|
|
2
2
|
import { head, isEmpty, find } from 'lodash';
|
|
3
|
-
import
|
|
3
|
+
import EE from './api';
|
|
4
4
|
|
|
5
5
|
const ee = EE;
|
|
6
6
|
window.ee = ee;
|
|
7
|
+
console.log(ee.data);
|
|
7
8
|
const FEATURE_STYLE = { color: "FFA500", strokeWidth: 2 };
|
|
8
9
|
const DEFAULT_TILE_SCALE = 1;
|
|
9
10
|
class EarthEngine {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":["token"],"mappings":"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","file":"engine.js","sourcesContent":["import { MapOrgUnit } from \"../../../../../interfaces\";\nimport {\n\tEarthEngineOptions,\n\tEarthEngineToken,\n\tRefreshToken,\n} from \"../interfaces\";\nimport {\n\tcombineReducers,\n\tgetFeatureCollectionProperties,\n\tgetHistogramStatistics,\n\tgetInfo,\n\tgetScale,\n\thasClasses,\n} from \"../utils\";\nimport { find, head, isEmpty } from \"lodash\";\n\n//@ts-expect-error earth engine does not have types\nimport * as EE from \"@google/earthengine\";\n// @ts-ignore\nconst ee = EE as any;\n// @ts-ignore\nwindow.ee = ee;\n\nconst FEATURE_STYLE = { color: \"FFA500\", strokeWidth: 2 };\nconst DEFAULT_TILE_SCALE = 1;\n\nexport class EarthEngine {\n\ttoken?: EarthEngineToken;\n\toptions: EarthEngineOptions;\n\trefresh?: RefreshToken;\n\torgUnits?: MapOrgUnit[];\n\tinitialized = false;\n\tperiod?: string | string[];\n\tinstance: any;\n\tscale?: any;\n\timage: any;\n\taggregationData: any;\n\n\tconstructor({ options }: { options: EarthEngineOptions }) {\n\t\tthis.options = options;\n\t\tthis.initialized = true;\n\t\tthis.getInstance();\n\t}\n\n\tstatic async setToken(\n\t\ttoken: EarthEngineToken,\n\t\trefresh: RefreshToken,\n\t): Promise<void> {\n\t\tconst tokenType = \"Bearer\";\n\n\t\tfunction refreshToken(\n\t\t\tauthArgs: { scope: any },\n\t\t\tcallback: (props: any) => void,\n\t\t) {\n\t\t\trefresh().then(({ token }: { token: EarthEngineToken }) => {\n\t\t\t\tcallback({\n\t\t\t\t\t...token,\n\t\t\t\t\ttoken_type: tokenType ?? \"Bearer\",\n\t\t\t\t\tstate: authArgs?.scope,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tawait new Promise((resolve, reject) => {\n\t\t\tif (ee.data.getAuthToken()) {\n\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t}\n\t\t\tif (token) {\n\t\t\t\tconst { access_token, client_id, expires_in } = token;\n\t\t\t\tee.data.setAuthToken(\n\t\t\t\t\tclient_id,\n\t\t\t\t\ttokenType ?? \"Bearer\",\n\t\t\t\t\taccess_token,\n\t\t\t\t\texpires_in,\n\t\t\t\t\tnull,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t\tee.data.setAuthTokenRefresher(refreshToken);\n\t\t\t}\n\t\t\tresolve(\"Token not found\");\n\t\t});\n\t}\n\n\tsetOrgUnits(orgUnits: MapOrgUnit[]): EarthEngine {\n\t\tthis.orgUnits = orgUnits;\n\t\treturn this;\n\t}\n\n\tsetPeriod(period: string) {\n\t\tthis.period = period;\n\t}\n\n\tasync getValue(geoJSON: any, type: string) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst point = this.getGeometryByType(geoJSON);\n\t\t\tconst reducer = this.getReducerByType(type);\n\t\t\tconst image = this.getImage();\n\n\t\t\tconst reducedImage = image.reduceRegion(reducer, point, 1);\n\n\t\t\treducedImage.evaluate((data: unknown, error: any) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tasync getPeriod() {\n\t\tconst { type } = this.options;\n\t\tif (type !== \"ImageCollection\") {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageCollection = this.instance\n\t\t\t.distinct(\"system:time_start\")\n\t\t\t.sort(\"system:time_start\", false);\n\t\tconst featureCollection = ee\n\t\t\t.FeatureCollection(imageCollection)\n\t\t\t.select([\"system:time_start\", \"system:time_end\"], null, false);\n\n\t\treturn getInfo(featureCollection);\n\t}\n\n\tasync info() {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.instance.getInfo(resolve);\n\t\t});\n\t}\n\n\tasync getScale() {\n\t\ttry {\n\t\t\tconst { type } = this.options;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"ImageCollection\":\n\t\t\t\t\tthis.scale = await getScale(this.instance.first());\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.scale = await getScale(this.getImage());\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\tasync getFeatureCollectionAggregation() {\n\t\tconst { datasetId } = this.options;\n\t\tconst dataset = ee.FeatureCollection(datasetId);\n\t\tconst collection = this.getFeatureCollection() as any;\n\t\tconst aggFeatures = collection\n\t\t\t?.map((feature: any) => {\n\t\t\t\tfeature = ee.Feature(feature);\n\t\t\t\tconst count = dataset.filterBounds(feature.geometry()).size();\n\n\t\t\t\treturn feature.set(\"count\", count);\n\t\t\t})\n\t\t\t.select([\"count\"], null, false);\n\n\t\treturn getInfo(aggFeatures).then(getFeatureCollectionProperties);\n\t}\n\n\tasync getHistogramAggregations() {\n\t\ttry {\n\t\t\tconst aggregation = head(this.options.aggregations) ?? \"\";\n\t\t\tconst reducer = ee.Reducer.frequencyHistogram();\n\t\t\tconst collection = this.getFeatureCollection();\n\t\t\tconst legend = this.options.legend?.items;\n\t\t\tconst scale = this.scale;\n\t\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\t\tconst scaleValue = await getInfo(scale);\n\n\t\t\tconst image = this.getImage();\n\t\t\tconst features = Object.values(\n\t\t\t\tawait getInfo(\n\t\t\t\t\timage\n\t\t\t\t\t\t.reduceRegions({\n\t\t\t\t\t\t\tcollection,\n\t\t\t\t\t\t\treducer,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\ttileScale,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.select([\"histogram\"], null, false),\n\t\t\t\t).then((data) =>\n\t\t\t\t\tgetHistogramStatistics({\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tscale: scaleValue,\n\t\t\t\t\t\taggregationType: aggregation,\n\t\t\t\t\t\tlegend,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\treturn features.map((feature: any, index: number) => {\n\t\t\t\treturn {\n\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\tdata: feature,\n\t\t\t\t};\n\t\t\t});\n\t\t} catch (e: any) {\n\t\t\tthrow Error(\"Could not get histogram\", {\n\t\t\t\tcause: e,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync getAggregations() {\n\t\tawait this.getScale();\n\t\tconst { type } = this.options;\n\t\tif (type === \"FeatureCollection\") {\n\t\t\tthis.aggregationData = await this.getFeatureCollectionAggregation();\n\t\t\treturn;\n\t\t}\n\t\tconst aggregations = this.options.aggregations;\n\t\tif (!aggregations) return;\n\n\t\tif (hasClasses(head(aggregations) ?? \"\")) {\n\t\t\tthis.aggregationData = await this.getHistogramAggregations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst reducer = combineReducers(ee)(aggregations);\n\t\tconst collection = this.getFeatureCollection();\n\t\tconst image = this.getImage();\n\t\tconst scale = this.scale;\n\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\tconst aggregatedFeatures = image\n\t\t\t.reduceRegions({\n\t\t\t\tcollection,\n\t\t\t\treducer,\n\t\t\t\tscale,\n\t\t\t\ttileScale,\n\t\t\t})\n\t\t\t.select(aggregations, null, false);\n\n\t\tconst features = Object.values(\n\t\t\tgetFeatureCollectionProperties(await getInfo(aggregatedFeatures)),\n\t\t) as any[];\n\t\tif (!isEmpty(features) && features.length === this.orgUnits?.length) {\n\t\t\t//Mapping features to orgUnits using index.\n\t\t\tthis.aggregationData = features.map(\n\t\t\t\t(feature: any, index: number) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\t\tdata: feature,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\tgetAggregation(orgUnit: MapOrgUnit) {\n\t\tif (isEmpty(this.aggregationData)) {\n\t\t\treturn;\n\t\t}\n\t\treturn find(\n\t\t\tthis.aggregationData,\n\t\t\t(aggregation) => aggregation.orgUnit.id === orgUnit.id,\n\t\t);\n\t}\n\n\tasync url(): Promise<string> {\n\t\tif (!this.initialized) throw \"You need to call init() first\";\n\t\treturn this.visualize(this.getImage());\n\t}\n\n\tprotected applyPeriod(imageCollection: any) {\n\t\tconst period = this.period;\n\t\tif (period) {\n\t\t\treturn imageCollection.filterDate(period);\n\t\t}\n\t}\n\n\tprotected applyMask(image: any) {\n\t\tif (this.options.mask) {\n\t\t\treturn image.updateMask(image.gt(0));\n\t\t} else {\n\t\t\treturn image;\n\t\t}\n\t}\n\n\tprotected applyBand(imageCollection: any) {\n\t\tif (this.options.selectedBands) {\n\t\t\treturn imageCollection.select(this.options.selectedBands);\n\t\t} else {\n\t\t\treturn imageCollection;\n\t\t}\n\t}\n\n\tprotected getReducerByType(type: string) {\n\t\treturn ee.Reducer[type].call();\n\t}\n\n\tprotected getGeometryByType(geoJSON: any) {\n\t\treturn ee.Geometry(geoJSON?.geometry);\n\t}\n\n\tprotected getFeatureByType(geoJSON: any) {\n\t\tconst featureType = geoJSON.type;\n\t\tconst features = geoJSON.features ?? [];\n\t\tconst geometry = this.getGeometryByType(geoJSON);\n\t\tswitch (featureType) {\n\t\t\tcase \"Feature\":\n\t\t\t\treturn ee.Feature(geometry);\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\treturn ee.FeatureCollection([\n\t\t\t\t\t...features.map((feature: any) =>\n\t\t\t\t\t\tee.Feature(this.getGeometryByType(feature)),\n\t\t\t\t\t),\n\t\t\t\t]);\n\t\t}\n\t}\n\n\tprotected getFeatureCollection(): unknown {\n\t\tif (this.orgUnits) {\n\t\t\treturn ee.FeatureCollection(\n\t\t\t\tthis.orgUnits.map((orgUnit: MapOrgUnit) =>\n\t\t\t\t\tthis.getFeatureByType(orgUnit.geoJSON),\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tthrow \"You need to set org units first\";\n\t\t}\n\t}\n\n\tprotected getParamsFromLegend() {\n\t\tif (!this.options.legend) return;\n\t\tconst legend = this.options.legend.items;\n\t\tconst keys = legend.map((l) => l.id);\n\t\tconst min = Math.min(...keys);\n\t\tconst max = Math.max(...keys);\n\t\tconst palette = legend.map((l) => l.color).join(\",\");\n\t\treturn { min, max, palette };\n\t}\n\n\tprotected async visualize(image: any): Promise<string> {\n\t\tconst { min, max, palette } = this.getParamsFromLegend() ??\n\t\t\tthis.options.params ?? {\n\t\t\t\tmin: null,\n\t\t\t\tmax: null,\n\t\t\t\tpalette: null,\n\t\t\t};\n\t\treturn (\n\t\t\t(await new Promise((resolve, reject) => {\n\t\t\t\timage.getMap({ min, max, palette }, resolve);\n\t\t\t})) as any\n\t\t)?.urlFormat;\n\t}\n\n\tprotected getImageCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet imageCollection = ee.ImageCollection(datasetId);\n\t\tif (this.period) {\n\t\t\timageCollection = this.applyPeriod(imageCollection);\n\t\t}\n\t\timageCollection = this.applyBand(imageCollection);\n\t\treturn imageCollection;\n\t}\n\n\tprotected getImageFromImageCollection() {\n\t\tconst { mosaic } = this.options;\n\t\tconst imageCollection = this.instance;\n\t\treturn mosaic\n\t\t\t? imageCollection\n\t\t\t\t\t.mosaic()\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection())\n\t\t\t: ee\n\t\t\t\t\t.Image(imageCollection.first())\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageInstance() {\n\t\tconst { datasetId } = this.options;\n\t\treturn ee\n\t\t\t.Image(datasetId)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageFromImage() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tconst feature = ee.Feature(datasetId);\n\t\tthis.instance = feature;\n\t\treturn feature;\n\t}\n\n\tprotected getImageFromFeature() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet featureCollection = ee.FeatureCollection(datasetId);\n\t\tif (this.period) {\n\t\t\tfeatureCollection = this.applyPeriod(featureCollection);\n\t\t}\n\t\treturn featureCollection;\n\t}\n\n\tprotected getImageFromFeatureCollection() {\n\t\tlet featureCollection = this.instance;\n\t\treturn featureCollection\n\t\t\t.draw(FEATURE_STYLE)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getInstance() {\n\t\tconst { type } = this.options;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\tthis.instance = this.getFeatureInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\tthis.instance = this.getFeatureCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\tthis.instance = this.getImageInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\tthis.instance = this.getImageCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.instance = this.getImageFromImage();\n\t\t}\n\t}\n\n\tprotected getImage(): any {\n\t\tif (this.image) {\n\t\t\treturn this.image;\n\t\t}\n\t\tconst { type } = this.options;\n\t\tlet image;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\timage = this.getImageFromFeature();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\timage = this.getImageFromFeatureCollection();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\timage = this.getImageFromImage();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\timage = this.getImageFromImageCollection();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\timage = this.getImageFromImage();\n\t\t}\n\t\timage = this.applyMask(image);\n\t\timage = this.applyBand(image);\n\t\tthis.image = image;\n\t\treturn image;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":["token"],"mappings":"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","file":"engine.js","sourcesContent":["import { MapOrgUnit } from \"../../../../../interfaces\";\nimport {\n\tEarthEngineOptions,\n\tEarthEngineToken,\n\tRefreshToken,\n} from \"../interfaces\";\nimport {\n\tcombineReducers,\n\tgetFeatureCollectionProperties,\n\tgetHistogramStatistics,\n\tgetInfo,\n\tgetScale,\n\thasClasses,\n} from \"../utils\";\nimport { find, head, isEmpty } from \"lodash\";\n\n//@ts-expect-error earth engine does not have types\nimport EE from \"./api\";\n// @ts-ignore\nconst ee = EE as any;\n// @ts-ignore\nwindow.ee = ee;\n\nconsole.log(ee.data);\n\nconst FEATURE_STYLE = { color: \"FFA500\", strokeWidth: 2 };\nconst DEFAULT_TILE_SCALE = 1;\n\nexport class EarthEngine {\n\ttoken?: EarthEngineToken;\n\toptions: EarthEngineOptions;\n\trefresh?: RefreshToken;\n\torgUnits?: MapOrgUnit[];\n\tinitialized = false;\n\tperiod?: string | string[];\n\tinstance: any;\n\tscale?: any;\n\timage: any;\n\taggregationData: any;\n\n\tconstructor({ options }: { options: EarthEngineOptions }) {\n\t\tthis.options = options;\n\t\tthis.initialized = true;\n\t\tthis.getInstance();\n\t}\n\n\tstatic async setToken(\n\t\ttoken: EarthEngineToken,\n\t\trefresh: RefreshToken,\n\t): Promise<void> {\n\t\tconst tokenType = \"Bearer\";\n\n\t\tfunction refreshToken(\n\t\t\tauthArgs: { scope: any },\n\t\t\tcallback: (props: any) => void,\n\t\t) {\n\t\t\trefresh().then(({ token }: { token: EarthEngineToken }) => {\n\t\t\t\tcallback({\n\t\t\t\t\t...token,\n\t\t\t\t\ttoken_type: tokenType ?? \"Bearer\",\n\t\t\t\t\tstate: authArgs?.scope,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\n\t\tawait new Promise((resolve, reject) => {\n\t\t\tif (ee.data.getAuthToken()) {\n\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t}\n\t\t\tif (token) {\n\t\t\t\tconst { access_token, client_id, expires_in } = token;\n\t\t\t\tee.data.setAuthToken(\n\t\t\t\t\tclient_id,\n\t\t\t\t\ttokenType ?? \"Bearer\",\n\t\t\t\t\taccess_token,\n\t\t\t\t\texpires_in,\n\t\t\t\t\tnull,\n\t\t\t\t\t() => {\n\t\t\t\t\t\tee.initialize(null, null, resolve, reject);\n\t\t\t\t\t},\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\t\t\t\tee.data.setAuthTokenRefresher(refreshToken);\n\t\t\t}\n\t\t\tresolve(\"Token not found\");\n\t\t});\n\t}\n\n\tsetOrgUnits(orgUnits: MapOrgUnit[]): EarthEngine {\n\t\tthis.orgUnits = orgUnits;\n\t\treturn this;\n\t}\n\n\tsetPeriod(period: string) {\n\t\tthis.period = period;\n\t}\n\n\tasync getValue(geoJSON: any, type: string) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst point = this.getGeometryByType(geoJSON);\n\t\t\tconst reducer = this.getReducerByType(type);\n\t\t\tconst image = this.getImage();\n\n\t\t\tconst reducedImage = image.reduceRegion(reducer, point, 1);\n\n\t\t\treducedImage.evaluate((data: unknown, error: any) => {\n\t\t\t\tif (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tasync getPeriod() {\n\t\tconst { type } = this.options;\n\t\tif (type !== \"ImageCollection\") {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageCollection = this.instance\n\t\t\t.distinct(\"system:time_start\")\n\t\t\t.sort(\"system:time_start\", false);\n\t\tconst featureCollection = ee\n\t\t\t.FeatureCollection(imageCollection)\n\t\t\t.select([\"system:time_start\", \"system:time_end\"], null, false);\n\n\t\treturn getInfo(featureCollection);\n\t}\n\n\tasync info() {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.instance.getInfo(resolve);\n\t\t});\n\t}\n\n\tasync getScale() {\n\t\ttry {\n\t\t\tconst { type } = this.options;\n\t\t\tswitch (type) {\n\t\t\t\tcase \"ImageCollection\":\n\t\t\t\t\tthis.scale = await getScale(this.instance.first());\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.scale = await getScale(this.getImage());\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\tasync getFeatureCollectionAggregation() {\n\t\tconst { datasetId } = this.options;\n\t\tconst dataset = ee.FeatureCollection(datasetId);\n\t\tconst collection = this.getFeatureCollection() as any;\n\t\tconst aggFeatures = collection\n\t\t\t?.map((feature: any) => {\n\t\t\t\tfeature = ee.Feature(feature);\n\t\t\t\tconst count = dataset.filterBounds(feature.geometry()).size();\n\n\t\t\t\treturn feature.set(\"count\", count);\n\t\t\t})\n\t\t\t.select([\"count\"], null, false);\n\n\t\treturn getInfo(aggFeatures).then(getFeatureCollectionProperties);\n\t}\n\n\tasync getHistogramAggregations() {\n\t\ttry {\n\t\t\tconst aggregation = head(this.options.aggregations) ?? \"\";\n\t\t\tconst reducer = ee.Reducer.frequencyHistogram();\n\t\t\tconst collection = this.getFeatureCollection();\n\t\t\tconst legend = this.options.legend?.items;\n\t\t\tconst scale = this.scale;\n\t\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\t\tconst scaleValue = await getInfo(scale);\n\n\t\t\tconst image = this.getImage();\n\t\t\tconst features = Object.values(\n\t\t\t\tawait getInfo(\n\t\t\t\t\timage\n\t\t\t\t\t\t.reduceRegions({\n\t\t\t\t\t\t\tcollection,\n\t\t\t\t\t\t\treducer,\n\t\t\t\t\t\t\tscale,\n\t\t\t\t\t\t\ttileScale,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.select([\"histogram\"], null, false),\n\t\t\t\t).then((data) =>\n\t\t\t\t\tgetHistogramStatistics({\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tscale: scaleValue,\n\t\t\t\t\t\taggregationType: aggregation,\n\t\t\t\t\t\tlegend,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t);\n\n\t\t\treturn features.map((feature: any, index: number) => {\n\t\t\t\treturn {\n\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\tdata: feature,\n\t\t\t\t};\n\t\t\t});\n\t\t} catch (e: any) {\n\t\t\tthrow Error(\"Could not get histogram\", {\n\t\t\t\tcause: e,\n\t\t\t});\n\t\t}\n\t}\n\n\tasync getAggregations() {\n\t\tawait this.getScale();\n\t\tconst { type } = this.options;\n\t\tif (type === \"FeatureCollection\") {\n\t\t\tthis.aggregationData = await this.getFeatureCollectionAggregation();\n\t\t\treturn;\n\t\t}\n\t\tconst aggregations = this.options.aggregations;\n\t\tif (!aggregations) return;\n\n\t\tif (hasClasses(head(aggregations) ?? \"\")) {\n\t\t\tthis.aggregationData = await this.getHistogramAggregations();\n\t\t\treturn;\n\t\t}\n\n\t\tconst reducer = combineReducers(ee)(aggregations);\n\t\tconst collection = this.getFeatureCollection();\n\t\tconst image = this.getImage();\n\t\tconst scale = this.scale;\n\t\tconst tileScale = this.options.tileScale ?? DEFAULT_TILE_SCALE;\n\t\tconst aggregatedFeatures = image\n\t\t\t.reduceRegions({\n\t\t\t\tcollection,\n\t\t\t\treducer,\n\t\t\t\tscale,\n\t\t\t\ttileScale,\n\t\t\t})\n\t\t\t.select(aggregations, null, false);\n\n\t\tconst features = Object.values(\n\t\t\tgetFeatureCollectionProperties(await getInfo(aggregatedFeatures)),\n\t\t) as any[];\n\t\tif (!isEmpty(features) && features.length === this.orgUnits?.length) {\n\t\t\t//Mapping features to orgUnits using index.\n\t\t\tthis.aggregationData = features.map(\n\t\t\t\t(feature: any, index: number) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\torgUnit: this.orgUnits?.[index],\n\t\t\t\t\t\tdata: feature,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t}\n\n\tgetAggregation(orgUnit: MapOrgUnit) {\n\t\tif (isEmpty(this.aggregationData)) {\n\t\t\treturn;\n\t\t}\n\t\treturn find(\n\t\t\tthis.aggregationData,\n\t\t\t(aggregation) => aggregation.orgUnit.id === orgUnit.id,\n\t\t);\n\t}\n\n\tasync url(): Promise<string> {\n\t\tif (!this.initialized) throw \"You need to call init() first\";\n\t\treturn this.visualize(this.getImage());\n\t}\n\n\tprotected applyPeriod(imageCollection: any) {\n\t\tconst period = this.period;\n\t\tif (period) {\n\t\t\treturn imageCollection.filterDate(period);\n\t\t}\n\t}\n\n\tprotected applyMask(image: any) {\n\t\tif (this.options.mask) {\n\t\t\treturn image.updateMask(image.gt(0));\n\t\t} else {\n\t\t\treturn image;\n\t\t}\n\t}\n\n\tprotected applyBand(imageCollection: any) {\n\t\tif (this.options.selectedBands) {\n\t\t\treturn imageCollection.select(this.options.selectedBands);\n\t\t} else {\n\t\t\treturn imageCollection;\n\t\t}\n\t}\n\n\tprotected getReducerByType(type: string) {\n\t\treturn ee.Reducer[type].call();\n\t}\n\n\tprotected getGeometryByType(geoJSON: any) {\n\t\treturn ee.Geometry(geoJSON?.geometry);\n\t}\n\n\tprotected getFeatureByType(geoJSON: any) {\n\t\tconst featureType = geoJSON.type;\n\t\tconst features = geoJSON.features ?? [];\n\t\tconst geometry = this.getGeometryByType(geoJSON);\n\t\tswitch (featureType) {\n\t\t\tcase \"Feature\":\n\t\t\t\treturn ee.Feature(geometry);\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\treturn ee.FeatureCollection([\n\t\t\t\t\t...features.map((feature: any) =>\n\t\t\t\t\t\tee.Feature(this.getGeometryByType(feature)),\n\t\t\t\t\t),\n\t\t\t\t]);\n\t\t}\n\t}\n\n\tprotected getFeatureCollection(): unknown {\n\t\tif (this.orgUnits) {\n\t\t\treturn ee.FeatureCollection(\n\t\t\t\tthis.orgUnits.map((orgUnit: MapOrgUnit) =>\n\t\t\t\t\tthis.getFeatureByType(orgUnit.geoJSON),\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tthrow \"You need to set org units first\";\n\t\t}\n\t}\n\n\tprotected getParamsFromLegend() {\n\t\tif (!this.options.legend) return;\n\t\tconst legend = this.options.legend.items;\n\t\tconst keys = legend.map((l) => l.id);\n\t\tconst min = Math.min(...keys);\n\t\tconst max = Math.max(...keys);\n\t\tconst palette = legend.map((l) => l.color).join(\",\");\n\t\treturn { min, max, palette };\n\t}\n\n\tprotected async visualize(image: any): Promise<string> {\n\t\tconst { min, max, palette } = this.getParamsFromLegend() ??\n\t\t\tthis.options.params ?? {\n\t\t\t\tmin: null,\n\t\t\t\tmax: null,\n\t\t\t\tpalette: null,\n\t\t\t};\n\t\treturn (\n\t\t\t(await new Promise((resolve, reject) => {\n\t\t\t\timage.getMap({ min, max, palette }, resolve);\n\t\t\t})) as any\n\t\t)?.urlFormat;\n\t}\n\n\tprotected getImageCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet imageCollection = ee.ImageCollection(datasetId);\n\t\tif (this.period) {\n\t\t\timageCollection = this.applyPeriod(imageCollection);\n\t\t}\n\t\timageCollection = this.applyBand(imageCollection);\n\t\treturn imageCollection;\n\t}\n\n\tprotected getImageFromImageCollection() {\n\t\tconst { mosaic } = this.options;\n\t\tconst imageCollection = this.instance;\n\t\treturn mosaic\n\t\t\t? imageCollection\n\t\t\t\t\t.mosaic()\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection())\n\t\t\t: ee\n\t\t\t\t\t.Image(imageCollection.first())\n\t\t\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageInstance() {\n\t\tconst { datasetId } = this.options;\n\t\treturn ee\n\t\t\t.Image(datasetId)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getImageFromImage() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tconst feature = ee.Feature(datasetId);\n\t\tthis.instance = feature;\n\t\treturn feature;\n\t}\n\n\tprotected getImageFromFeature() {\n\t\treturn this.instance;\n\t}\n\n\tprotected getFeatureCollectionInstance() {\n\t\tconst { datasetId } = this.options;\n\t\tlet featureCollection = ee.FeatureCollection(datasetId);\n\t\tif (this.period) {\n\t\t\tfeatureCollection = this.applyPeriod(featureCollection);\n\t\t}\n\t\treturn featureCollection;\n\t}\n\n\tprotected getImageFromFeatureCollection() {\n\t\tlet featureCollection = this.instance;\n\t\treturn featureCollection\n\t\t\t.draw(FEATURE_STYLE)\n\t\t\t.clipToCollection(this.getFeatureCollection());\n\t}\n\n\tprotected getInstance() {\n\t\tconst { type } = this.options;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\tthis.instance = this.getFeatureInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\tthis.instance = this.getFeatureCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\tthis.instance = this.getImageInstance();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\tthis.instance = this.getImageCollectionInstance();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.instance = this.getImageFromImage();\n\t\t}\n\t}\n\n\tprotected getImage(): any {\n\t\tif (this.image) {\n\t\t\treturn this.image;\n\t\t}\n\t\tconst { type } = this.options;\n\t\tlet image;\n\t\tswitch (type) {\n\t\t\tcase \"Feature\":\n\t\t\t\timage = this.getImageFromFeature();\n\t\t\t\tbreak;\n\t\t\tcase \"FeatureCollection\":\n\t\t\t\timage = this.getImageFromFeatureCollection();\n\t\t\t\tbreak;\n\t\t\tcase \"Image\":\n\t\t\t\timage = this.getImageFromImage();\n\t\t\t\tbreak;\n\t\t\tcase \"ImageCollection\":\n\t\t\t\timage = this.getImageFromImageCollection();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\timage = this.getImageFromImage();\n\t\t}\n\t\timage = this.applyMask(image);\n\t\timage = this.applyBand(image);\n\t\tthis.image = image;\n\t\treturn image;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/GoogleEngineLayer/services/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,MAAM,eAAe,CAAC;AAuBvB,qBAAa,WAAW;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,WAAW,UAAS;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,eAAe,EAAE,GAAG,CAAC;gBAET,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,kBAAkB,CAAA;KAAE;WAM3C,QAAQ,CACpB,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC;IAuChB,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,WAAW;IAKhD,SAAS,CAAC,MAAM,EAAE,MAAM;IAIlB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM;IAkBnC,SAAS;IAgBT,IAAI;IAMJ,QAAQ;IAaR,+BAA+B;IAgB/B,wBAAwB;;;;IA4CxB,eAAe;IA6CrB,cAAc,CAAC,OAAO,EAAE,UAAU;IAU5B,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAK5B,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG;IAO1C,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG;IAQ9B,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG;IAQxC,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAIvC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG;IAIxC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG;IAgBvC,SAAS,CAAC,oBAAoB,IAAI,OAAO;IAYzC,SAAS,CAAC,mBAAmB;;;;;cAUb,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IActD,SAAS,CAAC,0BAA0B;IAUpC,SAAS,CAAC,2BAA2B;IAYrC,SAAS,CAAC,gBAAgB;IAO1B,SAAS,CAAC,iBAAiB;IAI3B,SAAS,CAAC,kBAAkB;IAO5B,SAAS,CAAC,mBAAmB;IAI7B,SAAS,CAAC,4BAA4B;IAStC,SAAS,CAAC,6BAA6B;IAOvC,SAAS,CAAC,WAAW;IAoBrB,SAAS,CAAC,QAAQ,IAAI,GAAG;CA2BzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hisptz/dhis2-analytics",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.12",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/types/index.d.ts",
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"react-to-print": "^3.0.1",
|
|
73
73
|
"screenfull": "^6.0.2",
|
|
74
74
|
"xlsx": "^0.18.5",
|
|
75
|
-
"@hisptz/dhis2-
|
|
76
|
-
"@hisptz/dhis2-
|
|
75
|
+
"@hisptz/dhis2-ui": "2.0.48",
|
|
76
|
+
"@hisptz/dhis2-utils": "2.0.18"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
79
79
|
"@dhis2/app-runtime": "^3",
|