Skip to content

Commit 05f765a

Browse files
SofiaAldabetKevSanchez
authored andcommitted
addition of gridded livestock layers
1 parent fddf30d commit 05f765a

8 files changed

+184
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export const GriddedLivestockCommonStyles =
2+
3+
'<RasterSymbolizer>' +
4+
'<ColorMap type="ramp" extended="false">' +
5+
'<ColorMapEntry color="#FFFFFF" quantity="0" label="0" />' +
6+
'<ColorMapEntry color="#E0F7FA" quantity="5" label="≤ 5" />' +
7+
'<ColorMapEntry color="#B2EBF2" quantity="10" label="≤ 10" />' +
8+
'<ColorMapEntry color="#80DEEA" quantity="20" label="≤ 20" />' +
9+
'<ColorMapEntry color="#68B0C3" quantity="50" label="≤ 50" />' +
10+
'<ColorMapEntry color="#4A99B4" quantity="100" label="≤ 100" />' +
11+
'<ColorMapEntry color="#3F8B9C" quantity="250" label="≤ 250" />' +
12+
'<ColorMapEntry color="#c766fc" quantity="500" label="≤ 500" />' +
13+
'<ColorMapEntry color="#9c50c7" quantity="1000" label="≤ 1,000" />' +
14+
'<ColorMapEntry color="#883886" quantity="2500" label="≤ 2,500" />' +
15+
'<ColorMapEntry color="#390147" quantity="300000" label="> 2,500" />' +
16+
'</ColorMap>' +
17+
'</RasterSymbolizer>'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { CategoricalDataset } from './earth-engine-dataset';
2+
import ee from '@google/earthengine';
3+
import { EarthEngineUtils } from "../earth-engine-utils";
4+
import { GriddedLivestockCommonStyles} from "./common-styles-utils";
5+
6+
export const GriddedLivestockBuffalo: CategoricalDataset = {
7+
assetPath: {
8+
default: "projects/gmvad-grass/assets/5_Bf_2015_Da"
9+
},
10+
11+
bandName: 'b1',
12+
13+
sldStyles: GriddedLivestockCommonStyles,
14+
15+
16+
areYearsValid(startYear?: number, endYear?: number): boolean {
17+
// This Asset is static, and year selector is irrelevant
18+
return true;
19+
},
20+
21+
getEEAsset() {
22+
return ee.Image(this.assetPath.default);
23+
},
24+
25+
async getMapUrl(z, x, y) {
26+
const image = this.getEEAsset().select(this.bandName).sldStyle(this.sldStyles);
27+
const mapId = await EarthEngineUtils.getMapId(image);
28+
return ee.data.getTileUrl(mapId, x, y, z);
29+
},
30+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { CategoricalDataset } from './earth-engine-dataset';
2+
import ee from '@google/earthengine';
3+
import { EarthEngineUtils } from "../earth-engine-utils";
4+
import { GriddedLivestockCommonStyles} from "./common-styles-utils";
5+
6+
export const GriddedLivestockCattle: CategoricalDataset = {
7+
assetPath: {
8+
default: "projects/gmvad-grass/assets/5_Ct_2015_Da"
9+
},
10+
11+
bandName: 'b1',
12+
13+
sldStyles: GriddedLivestockCommonStyles,
14+
15+
16+
areYearsValid(startYear?: number, endYear?: number): boolean {
17+
// This Asset is static, and year selector is irrelevant
18+
return true;
19+
},
20+
21+
getEEAsset() {
22+
return ee.Image(this.assetPath.default);
23+
},
24+
25+
async getMapUrl(z, x, y) {
26+
const image = this.getEEAsset().select(this.bandName).sldStyle(this.sldStyles);
27+
const mapId = await EarthEngineUtils.getMapId(image);
28+
return ee.data.getTileUrl(mapId, x, y, z);
29+
},
30+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { CategoricalDataset } from './earth-engine-dataset';
2+
import ee from '@google/earthengine';
3+
import { EarthEngineUtils } from "../earth-engine-utils";
4+
import { GriddedLivestockCommonStyles} from "./common-styles-utils";
5+
6+
export const GriddedLivestockGoat: CategoricalDataset = {
7+
assetPath: {
8+
default: "projects/gmvad-grass/assets/5_Gt_2015_Da"
9+
},
10+
11+
bandName: 'b1',
12+
13+
sldStyles: GriddedLivestockCommonStyles,
14+
15+
16+
areYearsValid(startYear?: number, endYear?: number): boolean {
17+
// This Asset is static, and year selector is irrelevant
18+
return true;
19+
},
20+
21+
getEEAsset() {
22+
return ee.Image(this.assetPath.default);
23+
},
24+
25+
async getMapUrl(z, x, y) {
26+
const image = this.getEEAsset().select(this.bandName).sldStyle(this.sldStyles);
27+
const mapId = await EarthEngineUtils.getMapId(image);
28+
return ee.data.getTileUrl(mapId, x, y, z);
29+
},
30+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { CategoricalDataset } from './earth-engine-dataset';
2+
import ee from '@google/earthengine';
3+
import { EarthEngineUtils } from "../earth-engine-utils";
4+
import { GriddedLivestockCommonStyles} from "./common-styles-utils";
5+
6+
export const GriddedLivestockHorse: CategoricalDataset = {
7+
assetPath: {
8+
default: "projects/gmvad-grass/assets/5_Ho_2015_Da"
9+
},
10+
11+
bandName: 'b1',
12+
13+
sldStyles: GriddedLivestockCommonStyles,
14+
15+
16+
areYearsValid(startYear?: number, endYear?: number): boolean {
17+
// This Asset is static, and year selector is irrelevant
18+
return true;
19+
},
20+
21+
getEEAsset() {
22+
return ee.Image(this.assetPath.default);
23+
},
24+
25+
async getMapUrl(z, x, y) {
26+
const image = this.getEEAsset().select(this.bandName).sldStyle(this.sldStyles);
27+
const mapId = await EarthEngineUtils.getMapId(image);
28+
return ee.data.getTileUrl(mapId, x, y, z);
29+
},
30+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { CategoricalDataset } from './earth-engine-dataset';
2+
import ee from '@google/earthengine';
3+
import { EarthEngineUtils } from "../earth-engine-utils";
4+
import { GriddedLivestockCommonStyles} from "./common-styles-utils";
5+
6+
export const GriddedLivestockSheep: CategoricalDataset = {
7+
assetPath: {
8+
default: "projects/gmvad-grass/assets/5_Sh_2015_Da"
9+
},
10+
11+
bandName: 'b1',
12+
13+
sldStyles: GriddedLivestockCommonStyles,
14+
15+
16+
areYearsValid(startYear?: number, endYear?: number): boolean {
17+
// This Asset is static, and year selector is irrelevant
18+
return true;
19+
},
20+
21+
getEEAsset() {
22+
return ee.Image(this.assetPath.default);
23+
},
24+
25+
async getMapUrl(z, x, y) {
26+
const image = this.getEEAsset().select(this.bandName).sldStyle(this.sldStyles);
27+
const mapId = await EarthEngineUtils.getMapId(image);
28+
return ee.data.getTileUrl(mapId, x, y, z);
29+
},
30+
};

cloud_functions/earth_engine_tiler/src/index.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ import {ModisNetPrimaryProductionChange} from './geeAssets/modis-net-primary-pro
88
import {AnthropogenicBiomes} from './geeAssets/anthropogenic-biomes';
99
import {LivestockProductionSystems} from './geeAssets/livestock-production-systems';
1010
import {ForestLoss} from './geeAssets/forest-loss';
11+
import {GriddedLivestockCattle} from './geeAssets/gridded-livestock-cattle';
12+
import {GriddedLivestockGoat} from './geeAssets/gridded-livestock-goat';
13+
import {GriddedLivestockHorse} from './geeAssets/gridded-livestock-horse';
14+
import {GriddedLivestockBuffalo} from './geeAssets/gridded-livestock-buffalo';
15+
import {GriddedLivestockSheep} from './geeAssets/gridded-livestock-sheep';
1116
import {EarthEngineDataset} from "./geeAssets/earth-engine-dataset";
1217
import {TileRequestDTO, Tilesets} from "./tile-request.dto";
1318
import {default as fetch , Response as FetchResponse} from "node-fetch";
@@ -20,7 +25,12 @@ const assets: Record<Tilesets, EarthEngineDataset> = {
2025
[Tilesets.modis_net_primary_production_change]: ModisNetPrimaryProductionChange,
2126
[Tilesets.anthropogenic_biomes]: AnthropogenicBiomes,
2227
[Tilesets.livestock_production_systems]: LivestockProductionSystems,
23-
[Tilesets.forest_loss]: ForestLoss
28+
[Tilesets.forest_loss]: ForestLoss,
29+
[Tilesets.gridded_livestock_cattle]: GriddedLivestockCattle,
30+
[Tilesets.gridded_livestock_goat]: GriddedLivestockGoat,
31+
[Tilesets.gridded_livestock_horse]: GriddedLivestockHorse,
32+
[Tilesets.gridded_livestock_buffalo]: GriddedLivestockBuffalo,
33+
[Tilesets.gridded_livestock_sheep]: GriddedLivestockSheep,
2434
}
2535

2636
//We're using express to simplify path parameter parsing for the Tiles endpoint

cloud_functions/earth_engine_tiler/src/tile-request.dto.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ export enum Tilesets {
66
modis_net_primary_production_change = "modis_net_primary_production_change",
77
anthropogenic_biomes = "anthropogenic_biomes",
88
livestock_production_systems = "livestock_production_systems",
9-
forest_loss = "forest_loss"
9+
forest_loss = "forest_loss",
10+
gridded_livestock_cattle = "gridded_livestock_cattle",
11+
gridded_livestock_goat = "gridded_livestock_goat",
12+
gridded_livestock_horse = "gridded_livestock_horse",
13+
gridded_livestock_buffalo = "gridded_livestock_buffalo",
14+
gridded_livestock_sheep = "gridded_livestock_sheep"
1015
}
1116

1217

0 commit comments

Comments
 (0)