From 42e0c8c4c623d19c95243be025349901a59e45e7 Mon Sep 17 00:00:00 2001 From: minniewong Date: Mon, 7 Nov 2022 10:08:24 -0500 Subject: [PATCH 01/42] v3.38.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 64614025c9..df41574fac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "worldview", - "version": "3.37.0", + "version": "3.38.0", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index d24c75006d..2e0204f39f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "worldview", - "version": "3.37.0", + "version": "3.38.0", "description": "Interactive interface for browsing full-resolution, global satellite imagery", "keywords": [ "NASA", From ad2d3e1bdcee69ae97e4ef2a49033f821724b711 Mon Sep 17 00:00:00 2001 From: Jason Kent Date: Thu, 10 Nov 2022 14:34:14 -0700 Subject: [PATCH 02/42] WV-2478, WV-2477: Dynamic granule layer start/end date handling, style fixes (#4020) * WV-2477 - granule layer related style fixes * WV-2478 - handle rolling window dates for granule layers - remove projection specific date handling --- tasks/python3/extractConfigFromWMTS.py | 16 ++--- .../timeline-coverage/coverage-item-list.js | 2 +- web/js/map/granule/granule-layer-builder.js | 66 ++++++++++--------- .../map/granule/granule-layer-builder.test.js | 22 +++---- web/js/map/granule/util.js | 11 ++-- web/js/modules/layers/actions.js | 30 +-------- web/js/modules/layers/actions.test.js | 17 +---- web/js/modules/layers/constants.js | 1 - web/js/modules/layers/reducers.js | 15 ----- web/js/modules/layers/selectors.js | 4 -- web/js/modules/layers/util.js | 8 +-- web/js/modules/projection/actions.js | 2 - web/scss/features/sidebar.scss | 2 +- 13 files changed, 69 insertions(+), 127 deletions(-) diff --git a/tasks/python3/extractConfigFromWMTS.py b/tasks/python3/extractConfigFromWMTS.py index 2200214b04..574915ddb2 100755 --- a/tasks/python3/extractConfigFromWMTS.py +++ b/tasks/python3/extractConfigFromWMTS.py @@ -78,14 +78,14 @@ def process_layer(gc_layer, wv_layers, entry): try: wv_layer = process_temporal(wv_layer, dimension["Value"]) - # TODO we need a better way to identify granule layers - if ('Granule' in ident): - temporalForProjection = {} - temporalForProjection[entry["projection"]] = { - "startDate": wv_layer["startDate"], - "endDate": wv_layer["endDate"], - "dateRanges": wv_layer["dateRanges"], - } + # # TODO we need a better way to identify granule layers + # if ('Granule' in ident): + # temporalForProjection = {} + # temporalForProjection[entry["projection"]] = { + # "startDate": wv_layer["startDate"], + # "endDate": wv_layer["endDate"], + # "dateRanges": wv_layer["dateRanges"], + # } except Exception as e: print(traceback.format_exc()) diff --git a/web/js/components/timeline/timeline-coverage/coverage-item-list.js b/web/js/components/timeline/timeline-coverage/coverage-item-list.js index e3c4924a88..22776c91b9 100644 --- a/web/js/components/timeline/timeline-coverage/coverage-item-list.js +++ b/web/js/components/timeline/timeline-coverage/coverage-item-list.js @@ -97,7 +97,7 @@ class CoverageItemList extends Component { background: layerItemBackground, color: textColor, float: 'left', - width: inactiveLayers ? '205px' : '175px', + width: inactiveLayers || formattedEndDate ? '205px' : '175px', }} > diff --git a/web/js/map/granule/granule-layer-builder.js b/web/js/map/granule/granule-layer-builder.js index dabbef0a24..fd7626a17e 100644 --- a/web/js/map/granule/granule-layer-builder.js +++ b/web/js/map/granule/granule-layer-builder.js @@ -64,26 +64,37 @@ export default function granuleLayerBuilder(cache, store, createLayerWMTS) { }; /** - * Add granule cmr data to granule cmr object with date as key + * Collect granule metadata objects from a CMR response that have GIBS imagery + * * @param {data} CMR data * @param {id} layer id */ - const addGranuleCMRDateData = (data, shortName, dateRanges) => { + const addGranuleCMRDateData = (def, data, shortName, dateRanges) => { const { proj: { selected: { crs } } } = store.getState(); CMRDataStore[crs][shortName] = CMRDataStore[crs][shortName] || []; const granuleData = CMRDataStore[crs][shortName]; + // Any granule metadata object that gets added here is assumed to have corresponding + // imagery in GIBS at the same time stamp. Therefore when determining whether or not + // to include a granule from CMR we see if either is true: + // - (imageryInDateRange) the date for the granule falls within a date range defined by GIBS for this layer + // - (imageryInTrailingRange) the date falls after the end date of the last date range AND before the layer's end date, + // or in the case of an ongoing layer with no endDate, now + + const lastDateRange = dateRanges[dateRanges.length - 1]; + const finalEndDate = def.endDate || new Date(); data.forEach((entry) => { const date = toISOStringSeconds(entry.time_start); - const hasImagery = find(dateRanges, ({ startDate, endDate }) => isWithinDateRange(date, startDate, endDate)); + const imageryInDateRange = find(dateRanges, (r) => isWithinDateRange(date, r.startDate, r.endDate)); + const imageryInTrailingRange = isWithinDateRange(date, lastDateRange.endDate, finalEndDate); const existsForTime = find(granuleData, (g) => g.date === date); - if (!hasImagery || existsForTime) { + if (!(imageryInDateRange || imageryInTrailingRange) || existsForTime) { return; } const transformedGranule = transformGranuleData(entry, date, crs); granuleData.push(transformedGranule); }); - return granuleData.sort((a, b) => { + granuleData.sort((a, b) => { const dateA = new Date(a.date).valueOf(); const dateB = new Date(b.date).valueOf(); return dateB - dateA; @@ -111,40 +122,35 @@ export default function granuleLayerBuilder(cache, store, createLayerWMTS) { const state = store.getState(); const { proj: { selected: { crs } } } = state; const getGranulesUrl = getGranulesUrlSelector(state); - const params = getParamsForGranuleRequest(def, date, state); + const params = getParamsForGranuleRequest(def, date, crs); const { shortName } = params; let data = []; - const existingGranules = CMRDataStore[crs][shortName] || []; const datesQueried = datesHaveBeenQueried(params.startDate, date, existingGranules); if (existingGranules.length && datesQueried) { return existingGranules; } - - const makeQuery = async () => { - try { - showLoading(); - const response = await fetch(getGranulesUrl(params), CMR_AJAX_OPTIONS); - data = await response.json(); - data = data.feed.entry; - if (data.length) { - addGranuleCMRDateData(data, shortName, dateRanges); - } else { - const dateWithinRange = isWithinDateRange(date, startDate, endDate); - // only show modal error if layer not set to hidden and outside of selected date range - if (visible && dateWithinRange) throttleDispathCMRErrorDialog(title); - } - } catch (e) { - console.error(e); - throttleDispathCMRErrorDialog(title); - return data; - } finally { - hideLoading(); + try { + showLoading(); + const requestUrl = getGranulesUrl(params); + const response = await fetch(requestUrl, CMR_AJAX_OPTIONS); + data = await response.json(); + data = data.feed.entry; + if (data.length) { + addGranuleCMRDateData(def, data, shortName, dateRanges); + } else { + const dateWithinRange = isWithinDateRange(date, startDate, endDate); + // only show modal error if layer not set to hidden and outside of selected date range + if (visible && dateWithinRange) throttleDispathCMRErrorDialog(title); } - }; - - await makeQuery(); + } catch (e) { + console.error(e); + throttleDispathCMRErrorDialog(title); + return CMRDataStore[crs][shortName]; + } finally { + hideLoading(); + } return CMRDataStore[crs][shortName]; }; diff --git a/web/js/map/granule/granule-layer-builder.test.js b/web/js/map/granule/granule-layer-builder.test.js index 786cc24a61..5a4c065dcf 100644 --- a/web/js/map/granule/granule-layer-builder.test.js +++ b/web/js/map/granule/granule-layer-builder.test.js @@ -9,7 +9,7 @@ import { LOADING_GRANULES } from '../../modules/loading/actions'; import { ADD_GRANULE_LAYER_DATES } from '../../modules/layers/constants'; const mockBaseCmrApi = 'mock.cmr.api/'; -const queryString = '?shortName=VJ102IMG&day_night_flag=DAY&temporal=2019-09-22T08%3A54%3A00.000Z%2C2019-09-24T12%3A54%3A00.000Z&pageSize=500'; +const queryString = '?bounding_box=-180%2C-65%2C180%2C65&shortName=VJ102IMG&day_night_flag=DAY&temporal=2019-09-23T20%3A54%3A00.000Z%2C2019-09-24T12%3A54%3A00.000Z&pageSize=500'; const cmrGranules = require('../../../mock/cmr_granules.json'); fetchMock.mock(`${mockBaseCmrApi}granules.json${queryString}`, cmrGranules) @@ -24,16 +24,16 @@ let createGranuleLayer; let store; const expectedDates = [ - '2019-09-23T07:00:00Z', - '2019-09-23T07:06:00Z', - '2019-09-23T07:12:00Z', - '2019-09-23T07:18:00Z', - '2019-09-23T07:24:00Z', - '2019-09-23T08:42:00Z', - '2019-09-23T08:48:00Z', - '2019-09-23T08:54:00Z', - '2019-09-23T09:00:00Z', - '2019-09-23T09:06:00Z', + '2019-09-23T23:12:00Z', + '2019-09-23T23:18:00Z', + '2019-09-23T23:24:00Z', + '2019-09-23T23:30:00Z', + '2019-09-23T23:54:00Z', + '2019-09-24T00:00:00Z', + '2019-09-24T00:06:00Z', + '2019-09-24T00:12:00Z', + '2019-09-24T00:18:00Z', + '2019-09-24T00:48:00Z', ]; describe('granule layer builder', () => { diff --git a/web/js/map/granule/util.js b/web/js/map/granule/util.js index b6481d67e2..e17bdd5264 100644 --- a/web/js/map/granule/util.js +++ b/web/js/map/granule/util.js @@ -84,12 +84,13 @@ export const getIndexForSortedInsert = (array, date) => { * @param {string} endDate - date string * @returns {boolean} */ -export const isWithinDateRange = (date, startDate, endDate) => ( - startDate && endDate +export const isWithinDateRange = (date, startDate, end) => { + const endDate = end || new Date(); + return startDate && endDate ? new Date(date).getTime() <= new Date(endDate).getTime() - && new Date(date).getTime() >= new Date(startDate).getTime() - : false -); + && new Date(date).getTime() >= new Date(startDate).getTime() + : false; +}; /** * Determine if a granule polygon falls within the specified bounds of diff --git a/web/js/modules/layers/actions.js b/web/js/modules/layers/actions.js index d08a743cde..97f0e8c1fe 100644 --- a/web/js/modules/layers/actions.js +++ b/web/js/modules/layers/actions.js @@ -1,6 +1,5 @@ import { findIndex as lodashFindIndex, - get as lodashGet, } from 'lodash'; import googleTagManager from 'googleTagManager'; import update from 'immutability-helper'; @@ -31,7 +30,6 @@ import { UPDATE_GRANULE_LAYER_GEOMETRY, RESET_GRANULE_LAYER_OPTIONS, CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP, - UPDATE_ON_PROJ_CHANGE, } from './constants'; import { updateRecentLayers } from '../product-picker/util'; import { getOverlayGroups, getLayersFromGroups } from './util'; @@ -142,33 +140,6 @@ export function addLayer(id) { }; } -/** - * Layers may have different start, end, and date ranges based on projection. - * Here we update them if necessary when the projection changes. - * - * @param {*} proj - * @returns - */ -export function updateDatesOnProjChange(proj) { - return (dispatch, getState) => { - const state = getState(); - const getUpdatedLayers = (activeString) => { - const activeLayers = getActiveLayersSelector(state, activeString); - return activeLayers.map((l) => { - l.startDate = lodashGet(l, `projections[${proj}].startDate`) || l.startDate; - l.endDate = lodashGet(l, `projections[${proj}].endDate`) || l.endDate; - l.dateRanges = lodashGet(l, `projections[${proj}].dateRanges`) || l.dateRanges; - return l; - }); - }; - dispatch({ - type: UPDATE_ON_PROJ_CHANGE, - layersA: getUpdatedLayers('active'), - layersB: getUpdatedLayers('activeB'), - }); - }; -} - export function reorderLayers(reorderedLayers) { return (dispatch, getState) => { const { compare } = getState(); @@ -274,6 +245,7 @@ export function toggleGroupCollapsed(groupName, collapsed) { }); }; } + export function setOpacity(id, opacity) { return (dispatch, getState) => { const { compare } = getState(); diff --git a/web/js/modules/layers/actions.test.js b/web/js/modules/layers/actions.test.js index b76f2013c5..65cb57d111 100644 --- a/web/js/modules/layers/actions.test.js +++ b/web/js/modules/layers/actions.test.js @@ -3,7 +3,7 @@ import thunk from 'redux-thunk'; import fixtures from '../../fixtures'; import { addLayer, getLayers } from './selectors'; import { - removeLayer, removeGroup, toggleOverlayGroups, updateDatesOnProjChange, + removeLayer, removeGroup, toggleOverlayGroups, } from './actions'; import * as LAYER_CONSTANTS from './constants'; @@ -111,19 +111,4 @@ describe('Layer actions', () => { }; expect(actionResponse).toEqual(expectedPayload); }); - - test('UPDATE_ON_PROJ_CHANGE updates layer dates based on projection', () => { - layers = addMockLayer('granule-cr', layers, 'geographic'); - store = mockStore(getState(layers)); - store.dispatch(updateDatesOnProjChange('arctic')); - const actionResponse = store.getActions()[0]; - const { startDate, endDate, dateRanges: [firstRange, secondRange] } = actionResponse.layersA[0]; - - expect(startDate).toEqual('2019-07-21T00:36:00Z'); - expect(endDate).toEqual('2019-09-24T22:30:00Z'); - expect(firstRange.startDate).toEqual('2019-07-21T00:36:00Z'); - expect(firstRange.endDate).toEqual('2019-07-21T00:54:00Z'); - expect(secondRange.startDate).toEqual('2019-07-21T02:18:00Z'); - expect(secondRange.endDate).toEqual('2019-07-21T02:36:00Z'); - }); }); diff --git a/web/js/modules/layers/constants.js b/web/js/modules/layers/constants.js index d86518bc0f..ccd5be6c2a 100644 --- a/web/js/modules/layers/constants.js +++ b/web/js/modules/layers/constants.js @@ -16,7 +16,6 @@ export const UPDATE_GRANULE_LAYER_OPTIONS = 'LAYERS/UPDATE_GRANULE_LAYER_OPTIONS export const UPDATE_GRANULE_LAYER_GEOMETRY = 'LAYERS/UPDATE_GRANULE_LAYER_GEOMETRY'; export const RESET_GRANULE_LAYER_OPTIONS = 'LAYERS/RESET_GRANULE_LAYER_OPTIONS'; export const CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP = 'LAYERS/CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP'; -export const UPDATE_ON_PROJ_CHANGE = 'LAYERS/UPDATE_ON_PROJ_CHANGE'; export const DEFAULT_NUM_GRANULES = 10; export const MIN_GRANULES = 1; diff --git a/web/js/modules/layers/reducers.js b/web/js/modules/layers/reducers.js index 9b4bb231bc..c8946c95dc 100644 --- a/web/js/modules/layers/reducers.js +++ b/web/js/modules/layers/reducers.js @@ -20,7 +20,6 @@ import { CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP, REORDER_OVERLAY_GROUPS, REMOVE_GROUP, - UPDATE_ON_PROJ_CHANGE, } from './constants'; import { SET_CUSTOM as SET_CUSTOM_PALETTE, @@ -103,20 +102,6 @@ export function layerReducer(state = initialState, action) { }, }); - case UPDATE_ON_PROJ_CHANGE: - return update(state, { - active: { - $merge: { - layers: action.layersA, - }, - }, - activeB: { - $merge: { - layers: action.layersB, - }, - }, - }); - case REMOVE_LAYER: case REMOVE_GROUP: return update(state, { diff --git a/web/js/modules/layers/selectors.js b/web/js/modules/layers/selectors.js index cdf02739b7..21fe789fb6 100644 --- a/web/js/modules/layers/selectors.js +++ b/web/js/modules/layers/selectors.js @@ -293,10 +293,6 @@ export function addLayer(id, spec = {}, layersParam, layerConfig, overlayLength, def.disabled = spec.disabled || undefined; def.count = spec.count || undefined; - def.startDate = lodashGet(def, `projections[${projection}].startDate`) || def.startDate; - def.endDate = lodashGet(def, `projections[${projection}].endDate`) || def.endDate; - def.dateRanges = lodashGet(def, `projections[${projection}].dateRanges`) || def.dateRanges; - if (!lodashIsUndefined(spec.visible)) { def.visible = spec.visible; } else if (!lodashIsUndefined(spec.hidden)) { diff --git a/web/js/modules/layers/util.js b/web/js/modules/layers/util.js index 3d42a95080..67df2b263c 100644 --- a/web/js/modules/layers/util.js +++ b/web/js/modules/layers/util.js @@ -1365,10 +1365,9 @@ export const hasNonClickableVectorLayer = (activeLayers, mapRes, projId, isMobil * @param {*} layers */ export function adjustStartDates(layers) { - const adjustDate = (days) => moment.utc() - .subtract(days, 'days') - .startOf('day') - .format('YYYY-MM-DD'); + const adjustDate = (days) => `${moment.utc() + .subtract(days * 24, 'hours') + .format('YYYY-MM-DDThh:mm:ss')}Z`; const applyDateAdjustment = (layer) => { const { availability, dateRanges } = layer; @@ -1380,6 +1379,7 @@ export function adjustStartDates(layers) { if (Array.isArray(dateRanges) && dateRanges.length) { const [firstDateRange] = dateRanges; firstDateRange.startDate = adjustDate(rollingWindow); + layer.startDate = adjustDate(rollingWindow); } else { console.warn(`GetCapabilities is missing the time value for ${layer.id}`); } diff --git a/web/js/modules/projection/actions.js b/web/js/modules/projection/actions.js index 0884afc7aa..d566110d8e 100644 --- a/web/js/modules/projection/actions.js +++ b/web/js/modules/projection/actions.js @@ -1,6 +1,5 @@ import { CHANGE_PROJECTION } from './constants'; import { onProjectionSwitch } from '../product-picker/actions'; -import { updateDatesOnProjChange } from '../layers/actions'; import { stop } from '../animation/actions'; export default function changeProjection(id) { @@ -11,7 +10,6 @@ export default function changeProjection(id) { if (!proj) { throw new Error(`Invalid projection: ${id}`); } - dispatch(updateDatesOnProjChange(id)); dispatch(onProjectionSwitch(id)); if (isPlaying) { dispatch(stop()); diff --git a/web/scss/features/sidebar.scss b/web/scss/features/sidebar.scss index d036a9b52b..bb00141853 100644 --- a/web/scss/features/sidebar.scss +++ b/web/scss/features/sidebar.scss @@ -540,7 +540,7 @@ footer .compare-toggle-button { } .layer-info-modal { - width: 500px; + width: 510px; .modal-body { overflow-y: scroll; From ebe4fb938fd37f1acc758c6052167c1a2cdc3462 Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 16 Nov 2022 14:45:21 -0500 Subject: [PATCH 03/42] Flood Tour Story --- .../metadata/stories/flood-product/step001.md | 1 + .../metadata/stories/flood-product/step002.md | 1 + .../metadata/stories/flood-product/step003.md | 1 + .../metadata/stories/flood-product/step004.md | 0 .../metadata/stories/flood-product/step005.md | 0 .../stories/default/flood-product.json | 96 +++++++++++++++++++ .../common/config/wv.json/storyOrder.json | 1 + 7 files changed, 100 insertions(+) create mode 100644 config/default/common/config/metadata/stories/flood-product/step001.md create mode 100644 config/default/common/config/metadata/stories/flood-product/step002.md create mode 100644 config/default/common/config/metadata/stories/flood-product/step003.md create mode 100644 config/default/common/config/metadata/stories/flood-product/step004.md create mode 100644 config/default/common/config/metadata/stories/flood-product/step005.md create mode 100644 config/default/common/config/wv.json/stories/default/flood-product.json diff --git a/config/default/common/config/metadata/stories/flood-product/step001.md b/config/default/common/config/metadata/stories/flood-product/step001.md new file mode 100644 index 0000000000..aff8da6882 --- /dev/null +++ b/config/default/common/config/metadata/stories/flood-product/step001.md @@ -0,0 +1 @@ +The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md new file mode 100644 index 0000000000..31466d01d8 --- /dev/null +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -0,0 +1 @@ +In Worldview, the Flood Product is available for 2 compositing periods: 2-day, and 3-day. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step003.md b/config/default/common/config/metadata/stories/flood-product/step003.md new file mode 100644 index 0000000000..c371e7ac4f --- /dev/null +++ b/config/default/common/config/metadata/stories/flood-product/step003.md @@ -0,0 +1 @@ +Heavy monsoon rains starting in June contributed to the rising floodwaters in Pakistan. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step004.md b/config/default/common/config/metadata/stories/flood-product/step004.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/config/default/common/config/metadata/stories/flood-product/step005.md b/config/default/common/config/metadata/stories/flood-product/step005.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/config/default/common/config/wv.json/stories/default/flood-product.json b/config/default/common/config/wv.json/stories/default/flood-product.json new file mode 100644 index 0000000000..72c458a367 --- /dev/null +++ b/config/default/common/config/wv.json/stories/default/flood-product.json @@ -0,0 +1,96 @@ +{ + "stories": { + "flood-product": { + "id": "flood-product", + "type": "default", + "title": "Assessing floodwaters with the MODIS Global Flood Product", + "description": "Using the Near Real-Time MODIS Global Flood Product to explore areas of flooding", + "backgroundImage": "", + "backgroundImageHover": "", + "readMoreLinks": [ + { + "title": "Earthdata - MODIS NRT Global Flood Product", + "link": "https://www.earthdata.nasa.gov/learn/find-data/near-real-time/modis-nrt-global-flood-product" + }, + { + "title": "Earthdata - Near Real-Time MODIS Global Flood Product Now Available from NASA’s LANCE", + "link": "https://www.earthdata.nasa.gov/learn/articles/lance-nrt-global-flood" + } + ], + "steps": [ + { + "id": "001", + "description": "step001.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=-160.85181369155183,-69.196652033098,152.2108767501309,88.8526811334104&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-15-T18%3A30%3A17Z" + }, + { + "id": "002", + "description": "step002.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=58.94267820873439,21.745361471854835,77.65836010597603,31.193951591112594&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&t=2022-09-15-T18%3A30%3A17Z" + }, + { + "id": "003", + "description": "step003.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=58.94267820873439,21.745361471854835,77.65836010597603,31.193951591112594&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&t=2022-09-15-T18%3A30%3A17Z" + }, + { + "id": "004", + "description": "step004.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=-99.46163064210312,27.522740072778575,-91.32410995301613,31.625768471880264&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m(opacity=0.52),VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(palette=cb_safe_1),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m(opacity=0.47),VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(palette=cb_safe_1),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=false&cv=50&tr=black_marble_night_lights&t=2021-02-07-T17%3A19%3A37Z&t1=2021-02-16-T14%3A18%3A55Z" + }, + { + "id": "005", + "description": "step005.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=113.74243427807457,20.16799730961522,163.0970915102187,45.05316417905118&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m(hidden,opacity=0.45),VIIRS_SNPP_DayNightBand_AtSensor_M15,VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg=true&tr=black_marble_night_lights&t=2021-09-30-T00%3A00%3A00Z" + }, + { + "id": "006", + "description": "step006.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=-103.26660280595232,55.141202405685604,-82.92902888784928,65.39563327511655&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m(hidden),VIIRS_SNPP_DayNightBand_AtSensor_M15,VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg=true&tr=black_marble_night_lights&t=2022-02-04-T00%3A08%3A14Z" + }, + { + "id": "007", + "description": "step007.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=-105.16366179488708,46.112889698260446,-99.1013087311693,49.1695955102866&l=VIIRS_SNPP_Thermal_Anomalies_375m_Night,Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,VIIRS_SNPP_DayNightBand_AtSensor_M15,MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&tr=black_marble_night_lights&t=2022-01-12-T00%3A37%3A21Z" + }, + { + "id": "008", + "description": "step008.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=-124.59515876575291,33.318832308507176,-113.23561774920613,38.260351723462016&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m(hidden),VIIRS_SNPP_Thermal_Anomalies_375m_Day(hidden),VIIRS_SNPP_Thermal_Anomalies_375m_Night,VIIRS_SNPP_DayNightBand_AtSensor_M15,VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(hidden),VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor&lg=true&t=2021-09-23-T00%3A00%3A00Z" + } + ] + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/storyOrder.json b/config/default/common/config/wv.json/storyOrder.json index 3a33670685..cca60d51c2 100644 --- a/config/default/common/config/wv.json/storyOrder.json +++ b/config/default/common/config/wv.json/storyOrder.json @@ -1,5 +1,6 @@ { "storyOrder": [ + "flood-product", "black_marble_night_lights", "geostationary", "fires_overview_2019", From e217739cf6c326134c7cd4137280db6b325fbe86 Mon Sep 17 00:00:00 2001 From: minniewong Date: Fri, 25 Nov 2022 15:44:22 -0500 Subject: [PATCH 04/42] Flood tour story updates --- .../stories/flood-product/pakistan-flood.png | Bin 0 -> 114792 bytes .../metadata/stories/flood-product/step002.md | 2 +- .../metadata/stories/flood-product/step003.md | 2 +- .../metadata/stories/flood-product/step004.md | 1 + .../metadata/stories/flood-product/step005.md | 1 + .../metadata/stories/flood-product/step006.md | 1 + .../metadata/stories/flood-product/step007.md | 1 + .../stories/default/flood-product.json | 27 ++++++------------ 8 files changed, 15 insertions(+), 20 deletions(-) create mode 100644 config/default/common/config/metadata/stories/flood-product/pakistan-flood.png create mode 100644 config/default/common/config/metadata/stories/flood-product/step006.md create mode 100644 config/default/common/config/metadata/stories/flood-product/step007.md diff --git a/config/default/common/config/metadata/stories/flood-product/pakistan-flood.png b/config/default/common/config/metadata/stories/flood-product/pakistan-flood.png new file mode 100644 index 0000000000000000000000000000000000000000..b89ecc432ad456e4cbd6d89690fe0afa34dd007e GIT binary patch literal 114792 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 I4trKi)I>|^d;swi2@%0sS+LzmB9&t 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 Qe*gdg07*qoM6N<$f^_A&X#fBK literal 0 HcmV?d00001 diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md index 31466d01d8..6432e528e5 100644 --- a/config/default/common/config/metadata/stories/flood-product/step002.md +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -1 +1 @@ -In Worldview, the Flood Product is available for 2 compositing periods: 2-day, and 3-day. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water. \ No newline at end of file +In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water and pixels in grey are areas of insufficient data (usually due to cloud). \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step003.md b/config/default/common/config/metadata/stories/flood-product/step003.md index c371e7ac4f..e8f60186d5 100644 --- a/config/default/common/config/metadata/stories/flood-product/step003.md +++ b/config/default/common/config/metadata/stories/flood-product/step003.md @@ -1 +1 @@ -Heavy monsoon rains starting in June contributed to the rising floodwaters in Pakistan. \ No newline at end of file +Heavy monsoon rains starting in June 2022 contributed to rising floodwaters in Pakistan. This false-color corrected reflectance image (Bands 7,2,1) from the MODIS instrument aboard the Terra satellite on 15 September 2022 illustrates the flood waters in dark blue. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step004.md b/config/default/common/config/metadata/stories/flood-product/step004.md index e69de29bb2..3d0fe8ecf8 100644 --- a/config/default/common/config/metadata/stories/flood-product/step004.md +++ b/config/default/common/config/metadata/stories/flood-product/step004.md @@ -0,0 +1 @@ +Here we compare imagery from June and September 2022. The left "A" side displays imagery from 25 June, and the right "B' side shows imagery from 20 September and how much of the area was covered by the dark blue floodwaters over the four month period. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step005.md b/config/default/common/config/metadata/stories/flood-product/step005.md index e69de29bb2..cee1defebb 100644 --- a/config/default/common/config/metadata/stories/flood-product/step005.md +++ b/config/default/common/config/metadata/stories/flood-product/step005.md @@ -0,0 +1 @@ +The 3-Day window Flood product on the left "A" side shows the floodwaters in red, swipe the center bar back and forth to compare the red floodwater pixels with the false-color image on the right "B" side. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step006.md b/config/default/common/config/metadata/stories/flood-product/step006.md new file mode 100644 index 0000000000..25f693651f --- /dev/null +++ b/config/default/common/config/metadata/stories/flood-product/step006.md @@ -0,0 +1 @@ +Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how cloud initially obscured much of the flooding. Cloud is represented by grey "insufficient data" pixels. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step007.md b/config/default/common/config/metadata/stories/flood-product/step007.md new file mode 100644 index 0000000000..b332fdc778 --- /dev/null +++ b/config/default/common/config/metadata/stories/flood-product/step007.md @@ -0,0 +1 @@ +Here we compare the flooded area with a population density layer. The Population Density layer is on the right "B" side and shows high population areas in yellow to whites, which correspond directly to the floodwaters overlaid in red and show how a lot of the flooding affected areas of high population density. \ No newline at end of file diff --git a/config/default/common/config/wv.json/stories/default/flood-product.json b/config/default/common/config/wv.json/stories/default/flood-product.json index 72c458a367..64c9d1b58f 100644 --- a/config/default/common/config/wv.json/stories/default/flood-product.json +++ b/config/default/common/config/wv.json/stories/default/flood-product.json @@ -3,9 +3,9 @@ "flood-product": { "id": "flood-product", "type": "default", - "title": "Assessing floodwaters with the MODIS Global Flood Product", - "description": "Using the Near Real-Time MODIS Global Flood Product to explore areas of flooding", - "backgroundImage": "", + "title": "Assessing Floodwaters", + "description": "Explore flooding using the Near Real-Time MODIS Global Flood Product.", + "backgroundImage": "pakistan-flood.png", "backgroundImageHover": "", "readMoreLinks": [ { @@ -34,7 +34,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.94267820873439,21.745361471854835,77.65836010597603,31.193951591112594&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&t=2022-09-15-T18%3A30%3A17Z" + "stepLink": "v=102.16593272929055,10.204527634697639,107.78896502357696,12.87479891987437&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day,MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-02-T00%3A00%3A00Z" }, { "id": "003", @@ -43,7 +43,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.94267820873439,21.745361471854835,77.65836010597603,31.193951591112594&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&t=2022-09-15-T18%3A30%3A17Z" + "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-09-15-T18%3A30%3A17Z" }, { "id": "004", @@ -52,7 +52,7 @@ "element": "", "action": "" }, - "stepLink": "v=-99.46163064210312,27.522740072778575,-91.32410995301613,31.625768471880264&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m(opacity=0.52),VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(palette=cb_safe_1),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m(opacity=0.47),VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(palette=cb_safe_1),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=false&cv=50&tr=black_marble_night_lights&t=2021-02-07-T17%3A19%3A37Z&t1=2021-02-16-T14%3A18%3A55Z" + "stepLink": "v=58.779178047891534,21.701433352920994,77.82186026681889,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=true&cv=52&t=2022-06-25-T18%3A30%3A17Z&t1=2022-09-20-T18%3A30%3A17Z" }, { "id": "005", @@ -61,7 +61,7 @@ "element": "", "action": "" }, - "stepLink": "v=113.74243427807457,20.16799730961522,163.0970915102187,45.05316417905118&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m(hidden,opacity=0.45),VIIRS_SNPP_DayNightBand_AtSensor_M15,VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg=true&tr=black_marble_night_lights&t=2021-09-30-T00%3A00%3A00Z" + "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=false&cv=51&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" }, { "id": "006", @@ -70,7 +70,7 @@ "element": "", "action": "" }, - "stepLink": "v=-103.26660280595232,55.141202405685604,-82.92902888784928,65.39563327511655&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m(hidden),VIIRS_SNPP_DayNightBand_AtSensor_M15,VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden)&lg=true&tr=black_marble_night_lights&t=2022-02-04-T00%3A08%3A14Z" + "stepLink": "v=61.71613960772586,23.044505479021936,75.515990714223,29.955377503269844&as=2022-08-01-T00%3A00%3A00Z&ae=2022-09-16-T00%3A00%3A00Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&ab=on&t=2022-08-01-T08%3A00%3A00Z" }, { "id": "007", @@ -79,16 +79,7 @@ "element": "", "action": "" }, - "stepLink": "v=-105.16366179488708,46.112889698260446,-99.1013087311693,49.1695955102866&l=VIIRS_SNPP_Thermal_Anomalies_375m_Night,Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,VIIRS_SNPP_DayNightBand_AtSensor_M15,MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&tr=black_marble_night_lights&t=2022-01-12-T00%3A37%3A21Z" - }, - { - "id": "008", - "description": "step008.html", - "transition": { - "element": "", - "action": "" - }, - "stepLink": "v=-124.59515876575291,33.318832308507176,-113.23561774920613,38.260351723462016&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m(hidden),VIIRS_SNPP_Thermal_Anomalies_375m_Day(hidden),VIIRS_SNPP_Thermal_Anomalies_375m_Night,VIIRS_SNPP_DayNightBand_AtSensor_M15,VIIRS_SNPP_DayNightBand_At_Sensor_Radiance(hidden),VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor&lg=true&t=2021-09-23-T00%3A00%3A00Z" + "stepLink": "v=61.8346249056256,23.044505479021936,75.39750541632326,29.955377503269844&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020(hidden,palette=cb_safe_2),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(disabled=0-2),MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020(palette=cb_safe_2),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=false&cv=48&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" } ] } From 90cf60c97af63adeca4501aac573607cbcad69dc Mon Sep 17 00:00:00 2001 From: minniewong Date: Mon, 28 Nov 2022 14:48:22 -0500 Subject: [PATCH 05/42] update user guide location --- .../layers/modis/combined/MODIS_Combined_Flood_1-Day.md | 2 +- .../layers/modis/combined/MODIS_Combined_Flood_2-Day.md | 2 +- .../layers/modis/combined/MODIS_Combined_Flood_3-Day.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_1-Day.md b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_1-Day.md index 0628c9b0db..0a1c996d99 100644 --- a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_1-Day.md +++ b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_1-Day.md @@ -15,7 +15,7 @@ Common situations in which the flood product may be unable to accurately identif #### Spatial Coverage -Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://earthdata.nasa.gov/files/MCDWD_UserGuide_RevB.pdf) for included tiles). +Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://www.earthdata.nasa.gov/s3fs-public/imported/MCDWD_UserGuide_RevB.pdf) for included tiles). #### Sensor/Image Resolution Nominal equatorial resolution is ~232 m per pixel, with resolution increasing toward the poles (~116 m at 60 degrees latitude). Note the higher apparent resolution towards the poles is simply an artifact of the lat/lon (geographic) projection used, and not intrinsic to the data. diff --git a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md index 37472cf238..b63f7c1e7b 100644 --- a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md +++ b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_2-Day.md @@ -19,7 +19,7 @@ Common situations in which the flood product may be unable to accurately identif - Springtime snow melt ponding on fields: such water can appear as pixellated flood across flat areas of agricultural fields. Although this is unusual water, it is often very shallow, and not moving, and thus typically not a flood in the normal sense. Checking the reflectance imagery will typically show such areas on the edge of larger areas of snow extent, or, looking back in time, will show them recently covered by snow. #### Spatial Coverage -Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://earthdata.nasa.gov/files/MCDWD_UserGuide_RevB.pdf) for included tiles). +Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://www.earthdata.nasa.gov/s3fs-public/imported/MCDWD_UserGuide_RevB.pdf) for included tiles). #### Sensor/Image Resolution Nominal equatorial resolution is ~232 m per pixel, with resolution increasing toward the poles (~116 m at 60 degrees latitude). Note the higher apparent resolution towards the poles is simply an artifact of the lat/lon (geographic) projection used, and not intrinsic to the data. diff --git a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md index 06e38b376c..8c4e37ee48 100644 --- a/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md +++ b/config/default/common/config/metadata/layers/modis/combined/MODIS_Combined_Flood_3-Day.md @@ -19,7 +19,7 @@ Common situations in which the flood product may be unable to accurately identif - Springtime snow melt ponding on fields: such water can appear as pixellated flood across flat areas of agricultural fields. Although this is unusual water, it is often very shallow, and not moving, and thus typically not a flood in the normal sense. Checking the reflectance imagery will typically show such areas on the edge of larger areas of snow extent, or, looking back in time, will show them recently covered by snow. #### Spatial Coverage -Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://earthdata.nasa.gov/files/MCDWD_UserGuide_RevB.pdf) for included tiles). +Non-polar global land areas (below 70 degrees latitude), comprising 223 10x10 degree tiles (see Figure 4 in [User Guide](https://www.earthdata.nasa.gov/s3fs-public/imported/MCDWD_UserGuide_RevB.pdf) for included tiles). #### Sensor/Image Resolution Nominal equatorial resolution is ~232 m per pixel, with resolution increasing toward the poles (~116 m at 60 degrees latitude). Note the higher apparent resolution towards the poles is simply an artifact of the lat/lon (geographic) projection used, and not intrinsic to the data. From 3dc1c5afeb4ba456b904a246c8f20b428a5122ee Mon Sep 17 00:00:00 2001 From: minniewong Date: Mon, 28 Nov 2022 14:50:48 -0500 Subject: [PATCH 06/42] grammar fixes --- .../common/config/metadata/stories/flood-product/step002.md | 2 +- .../common/config/metadata/stories/flood-product/step006.md | 2 +- .../common/config/metadata/stories/flood-product/step007.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md index 6432e528e5..63d84f04fb 100644 --- a/config/default/common/config/metadata/stories/flood-product/step002.md +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -1 +1 @@ -In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water and pixels in grey are areas of insufficient data (usually due to cloud). \ No newline at end of file +In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water and pixels in grey are areas of insufficient data (usually due to cloud cover). \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step006.md b/config/default/common/config/metadata/stories/flood-product/step006.md index 25f693651f..29dd2eadab 100644 --- a/config/default/common/config/metadata/stories/flood-product/step006.md +++ b/config/default/common/config/metadata/stories/flood-product/step006.md @@ -1 +1 @@ -Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how cloud initially obscured much of the flooding. Cloud is represented by grey "insufficient data" pixels. \ No newline at end of file +Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how clouds initially obscured much of the flooding. Clouds are represented by grey "insufficient data" pixels. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step007.md b/config/default/common/config/metadata/stories/flood-product/step007.md index b332fdc778..96c555b120 100644 --- a/config/default/common/config/metadata/stories/flood-product/step007.md +++ b/config/default/common/config/metadata/stories/flood-product/step007.md @@ -1 +1 @@ -Here we compare the flooded area with a population density layer. The Population Density layer is on the right "B" side and shows high population areas in yellow to whites, which correspond directly to the floodwaters overlaid in red and show how a lot of the flooding affected areas of high population density. \ No newline at end of file +Here we compare the flooded area with a population density layer. The Population Density layer is on the right "B" side and shows high population areas in yellow to white, which correspond directly to the floodwaters overlaid in red and show how a lot of the flooding affected areas of high population density. \ No newline at end of file From 1f85c3ca7e80bf5c959794399e6e547ead898ef4 Mon Sep 17 00:00:00 2001 From: minniewong Date: Mon, 28 Nov 2022 16:56:24 -0500 Subject: [PATCH 07/42] remove custom palette and update step 7 text --- .../common/config/metadata/stories/flood-product/step007.md | 2 +- .../common/config/wv.json/stories/default/flood-product.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default/common/config/metadata/stories/flood-product/step007.md b/config/default/common/config/metadata/stories/flood-product/step007.md index 96c555b120..4d7e7da26c 100644 --- a/config/default/common/config/metadata/stories/flood-product/step007.md +++ b/config/default/common/config/metadata/stories/flood-product/step007.md @@ -1 +1 @@ -Here we compare the flooded area with a population density layer. The Population Density layer is on the right "B" side and shows high population areas in yellow to white, which correspond directly to the floodwaters overlaid in red and show how a lot of the flooding affected areas of high population density. \ No newline at end of file +Here we compare the flooded area with a population density layer. The left "A" side shows the flooded areas in red and the right "B" side shows estimated population density for 2020. Move the center swipe bar left and right to see how the floodwaters correspond to many of the highly populated areas, shown in shades of red. \ No newline at end of file diff --git a/config/default/common/config/wv.json/stories/default/flood-product.json b/config/default/common/config/wv.json/stories/default/flood-product.json index 64c9d1b58f..bfdd0844e2 100644 --- a/config/default/common/config/wv.json/stories/default/flood-product.json +++ b/config/default/common/config/wv.json/stories/default/flood-product.json @@ -79,7 +79,7 @@ "element": "", "action": "" }, - "stepLink": "v=61.8346249056256,23.044505479021936,75.39750541632326,29.955377503269844&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020(hidden,palette=cb_safe_2),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(disabled=0-2),MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020(palette=cb_safe_2),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=false&cv=48&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" + "stepLink": "v=61.8346249056256,22.132606181066876,75.39750541632326,30.867276801224904&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,MODIS_Combined_Flood_3-Day(hidden,disabled=0-2),MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=true&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" } ] } From 1d8adfa061a166b1f3de00b87501f372ad8b5552 Mon Sep 17 00:00:00 2001 From: ZachTRice Date: Mon, 28 Nov 2022 08:52:07 -0500 Subject: [PATCH 08/42] Remove .cgi from share link --- web/js/containers/share.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/js/containers/share.js b/web/js/containers/share.js index 3b079a5abc..e6f7f54717 100644 --- a/web/js/containers/share.js +++ b/web/js/containers/share.js @@ -29,7 +29,7 @@ const getShortenRequestString = (mock, permalink) => { return 'mock/short_link.json'; } return ( - `service/link/shorten.cgi${ + `service/link/shorten${ mockStr }?url=${ encodeURIComponent(permalink)}` From a43fa2113ebc91eedd12787ffbb4f29559b741fd Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 30 Nov 2022 15:40:59 -0500 Subject: [PATCH 09/42] bushfire story step 4 update --- .../metadata/stories/australia_fires_2019_2020/step004.md | 2 +- .../wv.json/stories/wildfire/australia_fires_2019_2020.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default/common/config/metadata/stories/australia_fires_2019_2020/step004.md b/config/default/common/config/metadata/stories/australia_fires_2019_2020/step004.md index a998b1a95b..0de8c3c90f 100644 --- a/config/default/common/config/metadata/stories/australia_fires_2019_2020/step004.md +++ b/config/default/common/config/metadata/stories/australia_fires_2019_2020/step004.md @@ -1 +1 @@ -Dramatic burning also occurred on Kangaroo Island. View this animation of false color imagery comprised of Bands 7-2-1 from the Moderate Resolution Imaging Spectroradiometer (MODIS) instrument on board the Aqua satellite for 3 January 2020 and 12 January 2020. Almost a third of the island burned in that 9-day period. \ No newline at end of file +Dramatic burning also occurred on Kangaroo Island. Click on the left and right arrows to the left of the timeline to toggle between images from 3 January and 12 January 2020. These false color images are created from Bands 7-2-1 of the Moderate Resolution Imaging Spectroradiometer (MODIS) instrument aboard the Aqua satellite. The dark red areas of the 12 January image indicates that almost a third of the island burned in that 9-day period. \ No newline at end of file diff --git a/config/default/common/config/wv.json/stories/wildfire/australia_fires_2019_2020.json b/config/default/common/config/wv.json/stories/wildfire/australia_fires_2019_2020.json index b9ff35960f..296dcbf1ee 100644 --- a/config/default/common/config/wv.json/stories/wildfire/australia_fires_2019_2020.json +++ b/config/default/common/config/wv.json/stories/wildfire/australia_fires_2019_2020.json @@ -64,7 +64,7 @@ "element": "animation", "action": "play" }, - "stepLink": "v=135.3898843909766,-36.762868566628185,138.77386045480637,-35.106130285378185&t=2020-01-03-T00%3A00%3A00Z&ics=true&ici=3&icd=9&as=2020-01-03-T00%3A00%3A00Z&ae=2020-01-12-T00%3A00%3A00Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Terra_CorrectedReflectance_Bands721(hidden),VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1(hidden),MODIS_Aqua_CorrectedReflectance_Bands721,VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&al=true&av=0.5&ab=on" + "stepLink": "v=135.3898843909766,-36.857497884809625,138.77386045480637,-35.011500967196746&ics=true&ici=3&icd=9&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Terra_CorrectedReflectance_Bands721(hidden),VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1(hidden),MODIS_Aqua_CorrectedReflectance_Bands721,VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=false&t=2020-01-03-T00%3A00%3A00Z" }, { "description": "step005.html", From 47cb515e2cf18bf29df4af2c9d842ac10ea6d216 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Thu, 1 Dec 2022 16:37:08 -0500 Subject: [PATCH 10/42] updating index.html (#4033) --- web/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/index.html b/web/index.html index dbca11e07f..8fe6b651d6 100644 --- a/web/index.html +++ b/web/index.html @@ -61,7 +61,7 @@ - + From 56d4a415b5feb9b7066e29c2c8f185cdcd904b00 Mon Sep 17 00:00:00 2001 From: ryanweiler92 Date: Fri, 2 Dec 2022 10:13:39 -0500 Subject: [PATCH 11/42] update setToggledClassification layer action --- web/js/modules/palettes/actions.js | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/web/js/modules/palettes/actions.js b/web/js/modules/palettes/actions.js index 1ef8349051..bf4d10a977 100644 --- a/web/js/modules/palettes/actions.js +++ b/web/js/modules/palettes/actions.js @@ -1,4 +1,7 @@ -import { forOwn as lodashForOwn } from 'lodash'; +import { + forOwn as lodashForOwn, + findIndex as lodashFindIndex, +} from 'lodash'; import { requestAction } from '../core/actions'; import { REQUEST_PALETTE, @@ -174,14 +177,23 @@ export function setToggledClassification(layerId, classIndex, index, groupName) hasDisabled = true; } }); - dispatch({ - type: SET_DISABLED_CLASSIFICATION, - groupName, - activeString: groupName, - layerId, - palettes: newActivePalettesObj, - props: { disabled: hasDisabled }, - }); + // sometimes an active palette will be related to layers that we already removed during the + // tour process. need to check if the layer is active to prevent errors when dispatching + const getLayerIndex = () => { + const activeLayers = state.layers[groupName].layers; + return lodashFindIndex(activeLayers, { id: layerId }); + }; + const layerIndex = state.layers[groupName].layers[getLayerIndex()]; + if (layerIndex) { + dispatch({ + type: SET_DISABLED_CLASSIFICATION, + groupName, + activeString: groupName, + layerId, + palettes: newActivePalettesObj, + props: { disabled: hasDisabled }, + }); + } }; } export function refreshDisabledClassification(layerId, disabledArray, index, groupName) { From 5188057e4deba63177ed5e949a7e1389bc6a28f3 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Fri, 2 Dec 2022 10:25:31 -0500 Subject: [PATCH 12/42] WV-2503: Reimplementing WV logo on GIFs (#4034) * add forked canvg-browser with xmldom v 0.6 * add semicolon * add canvg function * merge canvg file & remove canvg package --- package-lock.json | 27 +- package.json | 2 + web/js/containers/gif.js | 22 +- web/js/modules/animation/util.js | 29 +- web/js/util/canvg.js | 3049 ++++++++++++++++++++++++++++++ 5 files changed, 3103 insertions(+), 26 deletions(-) create mode 100644 web/js/util/canvg.js diff --git a/package-lock.json b/package-lock.json index df41574fac..b9eefd1aff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,7 @@ "packages": { "": { "name": "worldview", - "version": "3.37.0", + "version": "3.38.0", "hasInstallScript": true, "license": "NASA-1.3", "dependencies": { @@ -66,8 +66,10 @@ "redux-thunk": "^2.3.0", "regenerator-runtime": "^0.13.3", "reselect": "^4.0.0", + "rgbcolor": "^0.0.4", "shp-write": "^0.3.2", "simplebar-react": "^2.1.0", + "stackblur": "^1.0.0", "supercluster": "7.0.0", "url-template": "^3.0.0", "what-input": "^5.2.7" @@ -18821,6 +18823,14 @@ "node": ">=0.10.0" } }, + "node_modules/rgbcolor": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-0.0.4.tgz", + "integrity": "sha512-fG8I3S9oe435NsIa3bAcavWhr0ioN+m5qRfjidB1vn5rU2D69Ain0N0aiTtXggZJnsV7Fo/poCI0NnkkhtcRgw==", + "engines": { + "node": ">= 0.8.15" + } + }, "node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -20659,6 +20669,11 @@ "node": ">=8" } }, + "node_modules/stackblur": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stackblur/-/stackblur-1.0.0.tgz", + "integrity": "sha512-K92JX8alrs0pTox5U2arVBqB8tJmak9dh9i4Xausy94TnnGMdLfTn7P2Dp/NOzlmxvEs7lDzeryo8YqOy0BHRQ==" + }, "node_modules/stackframe": { "version": "1.2.1", "dev": true, @@ -36201,6 +36216,11 @@ "version": "1.0.4", "dev": true }, + "rgbcolor": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-0.0.4.tgz", + "integrity": "sha512-fG8I3S9oe435NsIa3bAcavWhr0ioN+m5qRfjidB1vn5rU2D69Ain0N0aiTtXggZJnsV7Fo/poCI0NnkkhtcRgw==" + }, "rimraf": { "version": "3.0.2", "dev": true, @@ -37498,6 +37518,11 @@ } } }, + "stackblur": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stackblur/-/stackblur-1.0.0.tgz", + "integrity": "sha512-K92JX8alrs0pTox5U2arVBqB8tJmak9dh9i4Xausy94TnnGMdLfTn7P2Dp/NOzlmxvEs7lDzeryo8YqOy0BHRQ==" + }, "stackframe": { "version": "1.2.1", "dev": true diff --git a/package.json b/package.json index 2e0204f39f..327754ce23 100644 --- a/package.json +++ b/package.json @@ -215,8 +215,10 @@ "redux-thunk": "^2.3.0", "regenerator-runtime": "^0.13.3", "reselect": "^4.0.0", + "rgbcolor": "^0.0.4", "shp-write": "^0.3.2", "simplebar-react": "^2.1.0", + "stackblur": "^1.0.0", "supercluster": "7.0.0", "url-template": "^3.0.0", "what-input": "^5.2.7" diff --git a/web/js/containers/gif.js b/web/js/containers/gif.js index c2cf479771..3ffbba8286 100644 --- a/web/js/containers/gif.js +++ b/web/js/containers/gif.js @@ -22,7 +22,7 @@ import { import { TIME_SCALE_FROM_NUMBER } from '../modules/date/constants'; import GifResults from '../components/animation-widget/gif-post-creation'; import getImageArray from '../modules/animation/selectors'; -import { getStampProps, getNumberOfSteps } from '../modules/animation/util'; +import { getStampProps, svgToPng, getNumberOfSteps } from '../modules/animation/util'; import { changeCropBounds } from '../modules/animation/actions'; import { subdailyLayersActive } from '../modules/layers/selectors'; import { formatDisplayDate } from '../modules/date/util'; @@ -194,11 +194,11 @@ class GIF extends Component { gifWidth: width, gifHeight: height, images: imageArray, - // waterMarkXCoordinate: stampHeight * 0.01, // Margin based on GIF Height - // waterMarkYCoordinate: stampHeight * 0.01, // Margin based on GIF Height - // waterMarkHeight: stamp.height, - // waterMark: stampHeight > 20 ? stamp : null, - // waterMarkWidth: stamp.width, + waterMarkXCoordinate: stampHeight * 0.01, // Margin based on GIF Height + waterMarkYCoordinate: stampHeight * 0.01, // Margin based on GIF Height + waterMarkHeight: stamp.height, + waterMark: stampHeight > 20 ? stamp : null, + waterMarkWidth: stamp.width, fontSize: `${dateStamp.fontSize}px`, textXCoordinate: dateStamp.x, textYCoordinate: dateStamp.y, // date location based on Dimensions @@ -232,12 +232,12 @@ class GIF extends Component { height, ); - // const newImage = svgToPng( - // 'brand/images/wv-logo-w-shadow.svg', - // stampProps.stampHeight, - // ); + const newImage = svgToPng( + 'brand/images/wv-logo-w-shadow.svg', + stampProps.stampHeight, + ); - build(undefined, stampProps.dateStamp, stampProps.stampHeight); + build(newImage, stampProps.dateStamp, stampProps.stampHeight); this.setState({ isDownloading: true }); } diff --git a/web/js/modules/animation/util.js b/web/js/modules/animation/util.js index aff3a820a4..1cffca337f 100644 --- a/web/js/modules/animation/util.js +++ b/web/js/modules/animation/util.js @@ -1,6 +1,7 @@ import { round as lodashRound, get as lodashGet } from 'lodash'; import update from 'immutability-helper'; import moment from 'moment'; +import canvg from '../../util/canvg'; import util from '../../util/util'; /** @@ -95,21 +96,21 @@ export function getStampProps( return { stampHeight, dateStamp }; } -// export function svgToPng(svgURL, stampHeight) { -// const canvasEl = document.createElement('canvas'); -// const canvgOptions = { -// log: false, -// ignoreMouse: true, -// scaleHeight: stampHeight, -// }; -// canvg(canvasEl, svgURL, canvgOptions); -// const newImage = new Image(); -// newImage.src = canvasEl.toDataURL('image/png'); -// newImage.width = canvasEl.width; -// newImage.height = canvasEl.height; +export function svgToPng(svgURL, stampHeight) { + const canvasEl = document.createElement('canvas'); + const canvgOptions = { + log: false, + ignoreMouse: true, + scaleHeight: stampHeight, + }; + canvg(canvasEl, svgURL, canvgOptions); + const newImage = new Image(); + newImage.src = canvasEl.toDataURL('image/png'); + newImage.width = canvasEl.width; + newImage.height = canvasEl.height; -// return newImage; -// } + return newImage; +} export function mapLocationToAnimationState( parameters, diff --git a/web/js/util/canvg.js b/web/js/util/canvg.js new file mode 100644 index 0000000000..ca67cae5df --- /dev/null +++ b/web/js/util/canvg.js @@ -0,0 +1,3049 @@ +/* eslint-disable */ +import RGBColor from 'rgbcolor'; +import stackblur from 'stackblur'; + +/* +canvg(target, s) + empty parameters: replace all 'svg' elements on page with 'canvas' elements + target: canvas element or the id of a canvas element + s: svg string, url to svg file, or xml document + opts: optional hash of options + ignoreMouse: true => ignore mouse events + ignoreAnimation: true => ignore animations + ignoreDimensions: true => does not try to resize canvas + ignoreClear: true => does not clear canvas + offsetX: int => draws at a x offset + offsetY: int => draws at a y offset + scaleWidth: int => scales horizontally to width + scaleHeight: int => scales vertically to height + renderCallback: function => will call the function after the first render is completed + forceRedraw: function => will call the function on every frame, if it returns true, will redraw +*/ + +export default function canvg(target, s, opts) { + // no parameters + if (target == null && s == null && opts == null) { + const svgTags = document.querySelectorAll('svg'); + for (let i = 0; i < svgTags.length; i++) { + const svgTag = svgTags[i]; + const c = document.createElement('canvas'); + c.width = svgTag.clientWidth; + c.height = svgTag.clientHeight; + svgTag.parentNode.insertBefore(c, svgTag); + svgTag.parentNode.removeChild(svgTag); + const div = document.createElement('div'); + div.appendChild(svgTag); + canvg(c, div.innerHTML); + } + return; + } + + if (typeof target === 'string') { + target = document.getElementById(target); + } + + // store class on canvas + if (target.svg != null) target.svg.stop(); + const svg = build(opts || {}); + // on i.e. 8 for flash canvas, we can't assign the property so check for it + if (!(target.childNodes.length == 1 && target.childNodes[0].nodeName == 'OBJECT')) target.svg = svg; + + const ctx = target.getContext('2d'); + if (typeof s.documentElement !== 'undefined') { + // load from xml doc + svg.loadXmlDoc(ctx, s); + } else if (s.substr(0, 1) == '<') { + // load from xml string + svg.loadXml(ctx, s); + } else { + // load from url + svg.load(ctx, s); + } +} + +function getMatchesSelector() { + // see https://developer.mozilla.org/en-US/docs/Web/API/Element.matches + let matchesSelector; + if (typeof Element.prototype.matches !== 'undefined') { + matchesSelector = function(node, selector) { + return node.matches(selector); + }; + } else if (typeof Element.prototype.webkitMatchesSelector !== 'undefined') { + matchesSelector = function(node, selector) { + return node.webkitMatchesSelector(selector); + }; + } else if (typeof Element.prototype.mozMatchesSelector !== 'undefined') { + matchesSelector = function(node, selector) { + return node.mozMatchesSelector(selector); + }; + } else if (typeof Element.prototype.msMatchesSelector !== 'undefined') { + matchesSelector = function(node, selector) { + return node.msMatchesSelector(selector); + }; + } else if (typeof Element.prototype.oMatchesSelector !== 'undefined') { + matchesSelector = function(node, selector) { + return node.oMatchesSelector(selector); + }; + } else { + // requires Sizzle: https://github.com/jquery/sizzle/wiki/Sizzle-Documentation + // or jQuery: http://jquery.com/download/ + // or Zepto: http://zeptojs.com/# + // without it, this is a ReferenceError + + if (typeof jQuery === 'function' || typeof Zepto === 'function') { + matchesSelector = function (node, selector) { + return $(node).is(selector); + }; + } + + if (typeof matchesSelector === 'undefined') { + matchesSelector = Sizzle.matchesSelector; + } + } + + return matchesSelector; +} + +function getSelectorSpecificity(selector) { + const typeCount = [0, 0, 0]; + + // slightly modified version of https://github.com/keeganstreet/specificity/blob/master/specificity.js + const attributeRegex = /(\[[^\]]+\])/g; + const idRegex = /(#[^\s\+>~\.\[:]+)/g; + const classRegex = /(\.[^\s\+>~\.\[:]+)/g; + const pseudoElementRegex = /(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi; + const pseudoClassWithBracketsRegex = /(:[\w-]+\([^\)]*\))/gi; + const pseudoClassRegex = /(:[^\s\+>~\.\[:]+)/g; + const elementRegex = /([^\s\+>~\.\[:]+)/g; + + const findMatch = function(regex, type) { + const matches = selector.match(regex); + if (matches == null) { + return; + } + typeCount[type] += matches.length; + selector = selector.replace(regex, ' '); + }; + + selector = selector.replace(/:not\(([^\)]*)\)/g, ' $1 '); + selector = selector.replace(/{[^]*/gm, ' '); + findMatch(attributeRegex, 1); + findMatch(idRegex, 0); + findMatch(classRegex, 1); + findMatch(pseudoElementRegex, 2); + findMatch(pseudoClassWithBracketsRegex, 1); + findMatch(pseudoClassRegex, 1); + selector = selector.replace(/[\*\s\+>~]/g, ' '); + selector = selector.replace(/[#\.]/g, ' '); + findMatch(elementRegex, 2); + return typeCount.join(''); +} + +function build(opts) { + const svg = { opts }; + + const matchesSelector = getMatchesSelector(); + + if (typeof CanvasRenderingContext2D !== 'undefined') { + CanvasRenderingContext2D.prototype.drawSvg = function(s, dx, dy, dw, dh, opts) { + const cOpts = { + ignoreMouse: true, + ignoreAnimation: true, + ignoreDimensions: true, + ignoreClear: true, + offsetX: dx, + offsetY: dy, + scaleWidth: dw, + scaleHeight: dh, + }; + + for (const prop in opts) { + if (opts.hasOwnProperty(prop)) { + cOpts[prop] = opts[prop]; + } + } + canvg(this.canvas, s, cOpts); + }; + } + + svg.FRAMERATE = 30; + svg.MAX_VIRTUAL_PIXELS = 30000; + + svg.log = function(msg) {}; + if (svg.opts.log == true && typeof console !== 'undefined') { + svg.log = function(msg) { console.log(msg); }; + } + + // globals + svg.init = function(ctx) { + let uniqueId = 0; + svg.UniqueId = function () { uniqueId++; return `canvg${uniqueId}`; }; + svg.Definitions = {}; + svg.Styles = {}; + svg.StylesSpecificity = {}; + svg.Animations = []; + svg.Images = []; + svg.ctx = ctx; + svg.ViewPort = new function () { + this.viewPorts = []; + this.Clear = function() { this.viewPorts = []; }; + this.SetCurrent = function(width, height) { this.viewPorts.push({ width, height }); }; + this.RemoveCurrent = function() { this.viewPorts.pop(); }; + this.Current = function() { return this.viewPorts[this.viewPorts.length - 1]; }; + this.width = function() { return this.Current().width; }; + this.height = function() { return this.Current().height; }; + this.ComputeSize = function(d) { + if (d != null && typeof d === 'number') return d; + if (d == 'x') return this.width(); + if (d == 'y') return this.height(); + return Math.sqrt(Math.pow(this.width(), 2) + Math.pow(this.height(), 2)) / Math.sqrt(2); + }; + }(); + }; + svg.init(); + + // images loaded + svg.ImagesLoaded = function() { + for (let i = 0; i < svg.Images.length; i++) { + if (!svg.Images[i].loaded) return false; + } + return true; + }; + + // trim + svg.trim = function(s) { return s.replace(/^\s+|\s+$/g, ''); }; + + // compress spaces + svg.compressSpaces = function(s) { return s.replace(/[\s\r\t\n]+/gm, ' '); }; + + // ajax + svg.ajax = function(url) { + let AJAX; + if (window.XMLHttpRequest) { AJAX = new XMLHttpRequest(); } else { AJAX = new ActiveXObject('Microsoft.XMLHTTP'); } + if (AJAX) { + AJAX.open('GET', url, false); + AJAX.send(null); + return AJAX.responseText; + } + return null; + }; + + // parse xml + svg.parseXml = function(xml) { + if (typeof Windows !== 'undefined' && typeof Windows.Data !== 'undefined' && typeof Windows.Data.Xml !== 'undefined') { + var xmlDoc = new Windows.Data.Xml.Dom.XmlDocument(); + const settings = new Windows.Data.Xml.Dom.XmlLoadSettings(); + settings.prohibitDtd = false; + xmlDoc.loadXml(xml, settings); + return xmlDoc; + } + if (window.DOMParser) { + const parser = new DOMParser(); + return parser.parseFromString(xml, 'text/xml'); + } + + xml = xml.replace(/]*>/, ''); + var xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); + xmlDoc.async = 'false'; + xmlDoc.loadXML(xml); + return xmlDoc; + }; + + svg.Property = function(name, value) { + this.name = name; + this.value = value; + }; + svg.Property.prototype.getValue = function() { + return this.value; + }; + + svg.Property.prototype.hasValue = function() { + return this.value != null && this.value != ''; + }; + + // return the numerical value of the property + svg.Property.prototype.numValue = function() { + if (!this.hasValue()) return 0; + + let n = parseFloat(this.value); + if (`${this.value}`.match(/%$/)) { + n /= 100.0; + } + return n; + }; + + svg.Property.prototype.valueOrDefault = function(def) { + if (this.hasValue()) return this.value; + return def; + }; + + svg.Property.prototype.numValueOrDefault = function(def) { + if (this.hasValue()) return this.numValue(); + return def; + }; + + // color extensions + // augment the current color value with the opacity + svg.Property.prototype.addOpacity = function(opacityProp) { + let newValue = this.value; + if (opacityProp.value != null && opacityProp.value != '' && typeof this.value === 'string') { // can only add opacity to colors, not patterns + const color = new RGBColor(this.value); + if (color.ok) { + newValue = `rgba(${color.r}, ${color.g}, ${color.b}, ${opacityProp.numValue()})`; + } + } + return new svg.Property(this.name, newValue); + }; + + // definition extensions + // get the definition from the definitions table + svg.Property.prototype.getDefinition = function() { + let name = this.value.match(/#([^\)'"]+)/); + if (name) { name = name[1]; } + if (!name) { name = this.value; } + return svg.Definitions[name]; + }; + + svg.Property.prototype.isUrlDefinition = function() { + return this.value.indexOf('url(') == 0; + }; + + svg.Property.prototype.getFillStyleDefinition = function(e, opacityProp) { + let def = this.getDefinition(); + + // gradient + if (def != null && def.createGradient) { + return def.createGradient(svg.ctx, e, opacityProp); + } + + // pattern + if (def != null && def.createPattern) { + if (def.getHrefAttribute().hasValue()) { + const pt = def.attribute('patternTransform'); + def = def.getHrefAttribute().getDefinition(); + if (pt.hasValue()) { def.attribute('patternTransform', true).value = pt.value; } + } + return def.createPattern(svg.ctx, e); + } + + return null; + }; + + // length extensions + svg.Property.prototype.getDPI = function(viewPort) { + return 96.0; // TODO: compute? + }; + + svg.Property.prototype.getEM = function(viewPort) { + let em = 12; + + const fontSize = new svg.Property('fontSize', svg.Font.Parse(svg.ctx.font).fontSize); + if (fontSize.hasValue()) em = fontSize.toPixels(viewPort); + + return em; + }; + + svg.Property.prototype.getUnits = function() { + const s = `${this.value}`; + return s.replace(/[0-9\.\-]/g, ''); + }; + + // get the length as pixels + svg.Property.prototype.toPixels = function(viewPort, processPercent) { + if (!this.hasValue()) return 0; + const s = `${this.value}`; + if (s.match(/em$/)) return this.numValue() * this.getEM(viewPort); + if (s.match(/ex$/)) return this.numValue() * this.getEM(viewPort) / 2.0; + if (s.match(/px$/)) return this.numValue(); + if (s.match(/pt$/)) return this.numValue() * this.getDPI(viewPort) * (1.0 / 72.0); + if (s.match(/pc$/)) return this.numValue() * 15; + if (s.match(/cm$/)) return this.numValue() * this.getDPI(viewPort) / 2.54; + if (s.match(/mm$/)) return this.numValue() * this.getDPI(viewPort) / 25.4; + if (s.match(/in$/)) return this.numValue() * this.getDPI(viewPort); + if (s.match(/%$/)) return this.numValue() * svg.ViewPort.ComputeSize(viewPort); + const n = this.numValue(); + if (processPercent && n < 1.0) return n * svg.ViewPort.ComputeSize(viewPort); + return n; + }; + + // time extensions + // get the time as milliseconds + svg.Property.prototype.toMilliseconds = function() { + if (!this.hasValue()) return 0; + const s = `${this.value}`; + if (s.match(/s$/)) return this.numValue() * 1000; + if (s.match(/ms$/)) return this.numValue(); + return this.numValue(); + }; + + // angle extensions + // get the angle as radians + svg.Property.prototype.toRadians = function() { + if (!this.hasValue()) return 0; + const s = `${this.value}`; + if (s.match(/deg$/)) return this.numValue() * (Math.PI / 180.0); + if (s.match(/grad$/)) return this.numValue() * (Math.PI / 200.0); + if (s.match(/rad$/)) return this.numValue(); + return this.numValue() * (Math.PI / 180.0); + }; + + // text extensions + // get the text baseline + const textBaselineMapping = { + baseline: 'alphabetic', + 'before-edge': 'top', + 'text-before-edge': 'top', + middle: 'middle', + central: 'middle', + 'after-edge': 'bottom', + 'text-after-edge': 'bottom', + ideographic: 'ideographic', + alphabetic: 'alphabetic', + hanging: 'hanging', + mathematical: 'alphabetic', + }; + svg.Property.prototype.toTextBaseline = function () { + if (!this.hasValue()) return null; + return textBaselineMapping[this.value]; + }; + + // fonts + svg.Font = new function() { + this.Styles = 'normal|italic|oblique|inherit'; + this.Variants = 'normal|small-caps|inherit'; + this.Weights = 'normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit'; + + this.CreateFont = function(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) { + const f = inherit != null ? this.Parse(inherit) : this.CreateFont('', '', '', '', '', svg.ctx.font); + return { + fontFamily: fontFamily || f.fontFamily, + fontSize: fontSize || f.fontSize, + fontStyle: fontStyle || f.fontStyle, + fontWeight: fontWeight || f.fontWeight, + fontVariant: fontVariant || f.fontVariant, + toString () { return [this.fontStyle, this.fontVariant, this.fontWeight, this.fontSize, this.fontFamily].join(' '); }, + }; + }; + + const that = this; + this.Parse = function(s) { + const f = {}; + const d = svg.trim(svg.compressSpaces(s || '')).split(' '); + const set = { + fontSize: false, fontStyle: false, fontWeight: false, fontVariant: false, + }; + let ff = ''; + for (let i = 0; i < d.length; i++) { + if (!set.fontStyle && that.Styles.indexOf(d[i]) != -1) { if (d[i] != 'inherit') f.fontStyle = d[i]; set.fontStyle = true; } else if (!set.fontVariant && that.Variants.indexOf(d[i]) != -1) { if (d[i] != 'inherit') f.fontVariant = d[i]; set.fontStyle = set.fontVariant = true; } else if (!set.fontWeight && that.Weights.indexOf(d[i]) != -1) { if (d[i] != 'inherit') f.fontWeight = d[i]; set.fontStyle = set.fontVariant = set.fontWeight = true; } else if (!set.fontSize) { if (d[i] != 'inherit') f.fontSize = d[i].split('/')[0]; set.fontStyle = set.fontVariant = set.fontWeight = set.fontSize = true; } else if (d[i] != 'inherit') ff += d[i]; + } if (ff != '') f.fontFamily = ff; + return f; + }; + }(); + + // points and paths + svg.ToNumberArray = function(s) { + const a = svg.trim(svg.compressSpaces((s || '').replace(/,/g, ' '))).split(' '); + for (let i = 0; i < a.length; i++) { + a[i] = parseFloat(a[i]); + } + return a; + }; + svg.Point = function(x, y) { + this.x = x; + this.y = y; + }; + svg.Point.prototype.angleTo = function(p) { + return Math.atan2(p.y - this.y, p.x - this.x); + }; + + svg.Point.prototype.applyTransform = function(v) { + const xp = this.x * v[0] + this.y * v[2] + v[4]; + const yp = this.x * v[1] + this.y * v[3] + v[5]; + this.x = xp; + this.y = yp; + }; + + svg.CreatePoint = function(s) { + const a = svg.ToNumberArray(s); + return new svg.Point(a[0], a[1]); + }; + svg.CreatePath = function(s) { + const a = svg.ToNumberArray(s); + const path = []; + for (let i = 0; i < a.length; i += 2) { + path.push(new svg.Point(a[i], a[i + 1])); + } + return path; + }; + + // bounding box + svg.BoundingBox = function(x1, y1, x2, y2) { // pass in initial points if you want + this.x1 = Number.NaN; + this.y1 = Number.NaN; + this.x2 = Number.NaN; + this.y2 = Number.NaN; + + this.x = function() { return this.x1; }; + this.y = function() { return this.y1; }; + this.width = function() { return this.x2 - this.x1; }; + this.height = function() { return this.y2 - this.y1; }; + + this.addPoint = function(x, y) { + if (x != null) { + if (isNaN(this.x1) || isNaN(this.x2)) { + this.x1 = x; + this.x2 = x; + } + if (x < this.x1) this.x1 = x; + if (x > this.x2) this.x2 = x; + } + + if (y != null) { + if (isNaN(this.y1) || isNaN(this.y2)) { + this.y1 = y; + this.y2 = y; + } + if (y < this.y1) this.y1 = y; + if (y > this.y2) this.y2 = y; + } + }; + this.addX = function(x) { this.addPoint(x, null); }; + this.addY = function(y) { this.addPoint(null, y); }; + + this.addBoundingBox = function(bb) { + this.addPoint(bb.x1, bb.y1); + this.addPoint(bb.x2, bb.y2); + }; + + this.addQuadraticCurve = function(p0x, p0y, p1x, p1y, p2x, p2y) { + const cp1x = p0x + 2 / 3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0) + const cp1y = p0y + 2 / 3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0) + const cp2x = cp1x + 1 / 3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0) + const cp2y = cp1y + 1 / 3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0) + this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y); + }; + + this.addBezierCurve = function(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) { + // from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html + const p0 = [p0x, p0y]; const p1 = [p1x, p1y]; const p2 = [p2x, p2y]; const + p3 = [p3x, p3y]; + this.addPoint(p0[0], p0[1]); + this.addPoint(p3[0], p3[1]); + + for (var i = 0; i <= 1; i++) { + const f = function(t) { + return Math.pow(1 - t, 3) * p0[i] + + 3 * Math.pow(1 - t, 2) * t * p1[i] + + 3 * (1 - t) * Math.pow(t, 2) * p2[i] + + Math.pow(t, 3) * p3[i]; + }; + + const b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i]; + const a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i]; + const c = 3 * p1[i] - 3 * p0[i]; + + if (a == 0) { + if (b == 0) continue; + const t = -c / b; + if (t > 0 && t < 1) { + if (i == 0) this.addX(f(t)); + if (i == 1) this.addY(f(t)); + } + continue; + } + + const b2ac = Math.pow(b, 2) - 4 * c * a; + if (b2ac < 0) continue; + const t1 = (-b + Math.sqrt(b2ac)) / (2 * a); + if (t1 > 0 && t1 < 1) { + if (i == 0) this.addX(f(t1)); + if (i == 1) this.addY(f(t1)); + } + const t2 = (-b - Math.sqrt(b2ac)) / (2 * a); + if (t2 > 0 && t2 < 1) { + if (i == 0) this.addX(f(t2)); + if (i == 1) this.addY(f(t2)); + } + } + }; + + this.isPointInBox = function(x, y) { + return this.x1 <= x && x <= this.x2 && this.y1 <= y && y <= this.y2; + }; + + this.addPoint(x1, y1); + this.addPoint(x2, y2); + }; + + // transforms + svg.Transform = function(v) { + const that = this; + this.Type = {}; + + // translate + this.Type.translate = function(s) { + this.p = svg.CreatePoint(s); + this.apply = function(ctx) { + ctx.translate(this.p.x || 0.0, this.p.y || 0.0); + }; + this.unapply = function(ctx) { + ctx.translate(-1.0 * this.p.x || 0.0, -1.0 * this.p.y || 0.0); + }; + this.applyToPoint = function(p) { + p.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]); + }; + }; + + // rotate + this.Type.rotate = function(s) { + const a = svg.ToNumberArray(s); + this.angle = new svg.Property('angle', a[0]); + this.cx = a[1] || 0; + this.cy = a[2] || 0; + this.apply = function(ctx) { + ctx.translate(this.cx, this.cy); + ctx.rotate(this.angle.toRadians()); + ctx.translate(-this.cx, -this.cy); + }; + this.unapply = function(ctx) { + ctx.translate(this.cx, this.cy); + ctx.rotate(-1.0 * this.angle.toRadians()); + ctx.translate(-this.cx, -this.cy); + }; + this.applyToPoint = function(p) { + const a = this.angle.toRadians(); + p.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]); + p.applyTransform([Math.cos(a), Math.sin(a), -Math.sin(a), Math.cos(a), 0, 0]); + p.applyTransform([1, 0, 0, 1, -this.p.x || 0.0, -this.p.y || 0.0]); + }; + }; + + this.Type.scale = function(s) { + this.p = svg.CreatePoint(s); + this.apply = function(ctx) { + ctx.scale(this.p.x || 1.0, this.p.y || this.p.x || 1.0); + }; + this.unapply = function(ctx) { + ctx.scale(1.0 / this.p.x || 1.0, 1.0 / this.p.y || this.p.x || 1.0); + }; + this.applyToPoint = function(p) { + p.applyTransform([this.p.x || 0.0, 0, 0, this.p.y || 0.0, 0, 0]); + }; + }; + + this.Type.matrix = function(s) { + this.m = svg.ToNumberArray(s); + this.apply = function(ctx) { + ctx.transform(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5]); + }; + this.unapply = function(ctx) { + const a = this.m[0]; + const b = this.m[2]; + const c = this.m[4]; + const d = this.m[1]; + const e = this.m[3]; + const f = this.m[5]; + const g = 0.0; + const h = 0.0; + const i = 1.0; + const det = 1 / (a * (e * i - f * h) - b * (d * i - f * g) + c * (d * h - e * g)); + ctx.transform( + det * (e * i - f * h), + det * (f * g - d * i), + det * (c * h - b * i), + det * (a * i - c * g), + det * (b * f - c * e), + det * (c * d - a * f), + ); + }; + this.applyToPoint = function(p) { + p.applyTransform(this.m); + }; + }; + + this.Type.SkewBase = function(s) { + this.base = that.Type.matrix; + this.base(s); + this.angle = new svg.Property('angle', s); + }; + this.Type.SkewBase.prototype = new this.Type.matrix(); + + this.Type.skewX = function(s) { + this.base = that.Type.SkewBase; + this.base(s); + this.m = [1, 0, Math.tan(this.angle.toRadians()), 1, 0, 0]; + }; + this.Type.skewX.prototype = new this.Type.SkewBase(); + + this.Type.skewY = function(s) { + this.base = that.Type.SkewBase; + this.base(s); + this.m = [1, Math.tan(this.angle.toRadians()), 0, 1, 0, 0]; + }; + this.Type.skewY.prototype = new this.Type.SkewBase(); + + this.transforms = []; + + this.apply = function(ctx) { + for (let i = 0; i < this.transforms.length; i++) { + this.transforms[i].apply(ctx); + } + }; + + this.unapply = function(ctx) { + for (let i = this.transforms.length - 1; i >= 0; i--) { + this.transforms[i].unapply(ctx); + } + }; + + this.applyToPoint = function(p) { + for (let i = 0; i < this.transforms.length; i++) { + this.transforms[i].applyToPoint(p); + } + }; + + const data = svg.trim(svg.compressSpaces(v)).replace(/\)([a-zA-Z])/g, ') $1').replace(/\)(\s?,\s?)/g, ') ').split(/\s(?=[a-z])/); + for (let i = 0; i < data.length; i++) { + const type = svg.trim(data[i].split('(')[0]); + const s = data[i].split('(')[1].replace(')', ''); + const transformType = this.Type[type]; + if (typeof transformType !== 'undefined') { + const transform = new transformType(s); + transform.type = type; + this.transforms.push(transform); + } + } + }; + + // aspect ratio + svg.AspectRatio = function(ctx, aspectRatio, width, desiredWidth, height, desiredHeight, minX, minY, refX, refY) { + // aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute + aspectRatio = svg.compressSpaces(aspectRatio); + aspectRatio = aspectRatio.replace(/^defer\s/, ''); // ignore defer + const align = aspectRatio.split(' ')[0] || 'xMidYMid'; + const meetOrSlice = aspectRatio.split(' ')[1] || 'meet'; + + // calculate scale + const scaleX = width / desiredWidth; + const scaleY = height / desiredHeight; + const scaleMin = Math.min(scaleX, scaleY); + const scaleMax = Math.max(scaleX, scaleY); + if (meetOrSlice == 'meet') { desiredWidth *= scaleMin; desiredHeight *= scaleMin; } + if (meetOrSlice == 'slice') { desiredWidth *= scaleMax; desiredHeight *= scaleMax; } + + refX = new svg.Property('refX', refX); + refY = new svg.Property('refY', refY); + if (refX.hasValue() && refY.hasValue()) { + ctx.translate(-scaleMin * refX.toPixels('x'), -scaleMin * refY.toPixels('y')); + } else { + // align + if (align.match(/^xMid/) && ((meetOrSlice == 'meet' && scaleMin == scaleY) || (meetOrSlice == 'slice' && scaleMax == scaleY))) ctx.translate(width / 2.0 - desiredWidth / 2.0, 0); + if (align.match(/YMid$/) && ((meetOrSlice == 'meet' && scaleMin == scaleX) || (meetOrSlice == 'slice' && scaleMax == scaleX))) ctx.translate(0, height / 2.0 - desiredHeight / 2.0); + if (align.match(/^xMax/) && ((meetOrSlice == 'meet' && scaleMin == scaleY) || (meetOrSlice == 'slice' && scaleMax == scaleY))) ctx.translate(width - desiredWidth, 0); + if (align.match(/YMax$/) && ((meetOrSlice == 'meet' && scaleMin == scaleX) || (meetOrSlice == 'slice' && scaleMax == scaleX))) ctx.translate(0, height - desiredHeight); + } + + // scale + if (align == 'none') ctx.scale(scaleX, scaleY); + else if (meetOrSlice == 'meet') ctx.scale(scaleMin, scaleMin); + else if (meetOrSlice == 'slice') ctx.scale(scaleMax, scaleMax); + + // translate + ctx.translate(minX == null ? 0 : -minX, minY == null ? 0 : -minY); + }; + + // elements + svg.Element = {}; + + svg.EmptyProperty = new svg.Property('EMPTY', ''); + + svg.Element.ElementBase = function(node) { + this.attributes = {}; + this.styles = {}; + this.stylesSpecificity = {}; + this.children = []; + + // get or create attribute + this.attribute = function(name, createIfNotExists) { + let a = this.attributes[name]; + if (a != null) return a; + + if (createIfNotExists == true) { a = new svg.Property(name, ''); this.attributes[name] = a; } + return a || svg.EmptyProperty; + }; + + this.getHrefAttribute = function() { + for (const a in this.attributes) { + if (a == 'href' || a.match(/:href$/)) { + return this.attributes[a]; + } + } + return svg.EmptyProperty; + }; + + // get or create style, crawls up node tree + this.style = function(name, createIfNotExists, skipAncestors) { + let s = this.styles[name]; + if (s != null) return s; + + const a = this.attribute(name); + if (a != null && a.hasValue()) { + this.styles[name] = a; // move up to me to cache + return a; + } + + if (skipAncestors != true) { + const p = this.parent; + if (p != null) { + const ps = p.style(name); + if (ps != null && ps.hasValue()) { + return ps; + } + } + } + + if (createIfNotExists == true) { s = new svg.Property(name, ''); this.styles[name] = s; } + return s || svg.EmptyProperty; + }; + + // base render + this.render = function(ctx) { + // don't render display=none + if (this.style('display').value == 'none') return; + + // don't render visibility=hidden + if (this.style('visibility').value == 'hidden') return; + + ctx.save(); + if (this.style('mask').hasValue()) { // mask + const mask = this.style('mask').getDefinition(); + if (mask != null) mask.apply(ctx, this); + } else if (this.style('filter').hasValue()) { // filter + const filter = this.style('filter').getDefinition(); + if (filter != null) filter.apply(ctx, this); + } else { + this.setContext(ctx); + this.renderChildren(ctx); + this.clearContext(ctx); + } + ctx.restore(); + }; + + // base set context + this.setContext = function(ctx) { + // OVERRIDE ME! + }; + + // base clear context + this.clearContext = function(ctx) { + // OVERRIDE ME! + }; + + // base render children + this.renderChildren = function(ctx) { + for (let i = 0; i < this.children.length; i++) { + this.children[i].render(ctx); + } + }; + + this.addChild = function(childNode, create) { + let child = childNode; + if (create) child = svg.CreateElement(childNode); + child.parent = this; + if (child.type != 'title') { this.children.push(child); } + }; + + this.addStylesFromStyleDefinition = function () { + // add styles + for (const selector in svg.Styles) { + if (selector[0] != '@' && matchesSelector(node, selector)) { + const styles = svg.Styles[selector]; + const specificity = svg.StylesSpecificity[selector]; + if (styles != null) { + for (const name in styles) { + let existingSpecificity = this.stylesSpecificity[name]; + if (typeof existingSpecificity === 'undefined') { + existingSpecificity = '000'; + } + if (specificity > existingSpecificity) { + this.styles[name] = styles[name]; + this.stylesSpecificity[name] = specificity; + } + } + } + } + } + }; + + if (node != null && node.nodeType == 1) { // ELEMENT_NODE + // add attributes + for (var i = 0; i < node.attributes.length; i++) { + const attribute = node.attributes[i]; + this.attributes[attribute.nodeName] = new svg.Property(attribute.nodeName, attribute.value); + } + + this.addStylesFromStyleDefinition(); + + // add inline styles + if (this.attribute('style').hasValue()) { + const styles = this.attribute('style').value.split(';'); + for (var i = 0; i < styles.length; i++) { + if (svg.trim(styles[i]) != '') { + const style = styles[i].split(':'); + const name = svg.trim(style[0]); + const value = svg.trim(style[1]); + this.styles[name] = new svg.Property(name, value); + } + } + } + + // add id + if (this.attribute('id').hasValue()) { + if (svg.Definitions[this.attribute('id').value] == null) { + svg.Definitions[this.attribute('id').value] = this; + } + } + + // add children + for (var i = 0; i < node.childNodes.length; i++) { + const childNode = node.childNodes[i]; + if (childNode.nodeType == 1) this.addChild(childNode, true); // ELEMENT_NODE + if (this.captureTextNodes && (childNode.nodeType == 3 || childNode.nodeType == 4)) { + const text = childNode.value || childNode.text || childNode.textContent || ''; + if (svg.compressSpaces(text) != '') { + this.addChild(new svg.Element.tspan(childNode), false); // TEXT_NODE + } + } + } + } + }; + + svg.Element.RenderedElementBase = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.setContext = function(ctx) { + // fill + if (this.style('fill').isUrlDefinition()) { + var fs = this.style('fill').getFillStyleDefinition(this, this.style('fill-opacity')); + if (fs != null) ctx.fillStyle = fs; + } else if (this.style('fill').hasValue()) { + var fillStyle = this.style('fill'); + if (fillStyle.value == 'currentColor') fillStyle.value = this.style('color').value; + if (fillStyle.value != 'inherit') ctx.fillStyle = fillStyle.value == 'none' ? 'rgba(0,0,0,0)' : fillStyle.value; + } + if (this.style('fill-opacity').hasValue()) { + var fillStyle = new svg.Property('fill', ctx.fillStyle); + fillStyle = fillStyle.addOpacity(this.style('fill-opacity')); + ctx.fillStyle = fillStyle.value; + } + + // stroke + if (this.style('stroke').isUrlDefinition()) { + var fs = this.style('stroke').getFillStyleDefinition(this, this.style('stroke-opacity')); + if (fs != null) ctx.strokeStyle = fs; + } else if (this.style('stroke').hasValue()) { + var strokeStyle = this.style('stroke'); + if (strokeStyle.value == 'currentColor') strokeStyle.value = this.style('color').value; + if (strokeStyle.value != 'inherit') ctx.strokeStyle = strokeStyle.value == 'none' ? 'rgba(0,0,0,0)' : strokeStyle.value; + } + if (this.style('stroke-opacity').hasValue()) { + var strokeStyle = new svg.Property('stroke', ctx.strokeStyle); + strokeStyle = strokeStyle.addOpacity(this.style('stroke-opacity')); + ctx.strokeStyle = strokeStyle.value; + } + if (this.style('stroke-width').hasValue()) { + const newLineWidth = this.style('stroke-width').toPixels(); + ctx.lineWidth = newLineWidth == 0 ? 0.001 : newLineWidth; // browsers don't respect 0 + } + if (this.style('stroke-linecap').hasValue()) ctx.lineCap = this.style('stroke-linecap').value; + if (this.style('stroke-linejoin').hasValue()) ctx.lineJoin = this.style('stroke-linejoin').value; + if (this.style('stroke-miterlimit').hasValue()) ctx.miterLimit = this.style('stroke-miterlimit').value; + if (this.style('stroke-dasharray').hasValue() && this.style('stroke-dasharray').value != 'none') { + const gaps = svg.ToNumberArray(this.style('stroke-dasharray').value); + if (typeof ctx.setLineDash !== 'undefined') { ctx.setLineDash(gaps); } else if (typeof ctx.webkitLineDash !== 'undefined') { ctx.webkitLineDash = gaps; } else if (typeof ctx.mozDash !== 'undefined' && !(gaps.length == 1 && gaps[0] == 0)) { ctx.mozDash = gaps; } + + const offset = this.style('stroke-dashoffset').numValueOrDefault(1); + if (typeof ctx.lineDashOffset !== 'undefined') { ctx.lineDashOffset = offset; } else if (typeof ctx.webkitLineDashOffset !== 'undefined') { ctx.webkitLineDashOffset = offset; } else if (typeof ctx.mozDashOffset !== 'undefined') { ctx.mozDashOffset = offset; } + } + + // font + if (typeof ctx.font !== 'undefined') { + ctx.font = svg.Font.CreateFont( + this.style('font-style').value, + this.style('font-variant').value, + this.style('font-weight').value, + this.style('font-size').hasValue() ? `${this.style('font-size').toPixels()}px` : '', + this.style('font-family').value, + ).toString(); + } + + // transform + if (this.style('transform', false, true).hasValue()) { + const transform = new svg.Transform(this.style('transform', false, true).value); + transform.apply(ctx); + } + + // clip + if (this.style('clip-path', false, true).hasValue()) { + const clip = this.style('clip-path', false, true).getDefinition(); + if (clip != null) clip.apply(ctx); + } + + // opacity + if (this.style('opacity').hasValue()) { + ctx.globalAlpha = this.style('opacity').numValue(); + } + }; + }; + svg.Element.RenderedElementBase.prototype = new svg.Element.ElementBase(); + + svg.Element.PathElementBase = function(node) { + this.base = svg.Element.RenderedElementBase; + this.base(node); + + this.path = function(ctx) { + if (ctx != null) ctx.beginPath(); + return new svg.BoundingBox(); + }; + + this.renderChildren = function(ctx) { + this.path(ctx); + svg.Mouse.checkPath(this, ctx); + if (ctx.fillStyle != '') { + if (this.style('fill-rule').valueOrDefault('inherit') != 'inherit') { ctx.fill(this.style('fill-rule').value); } else { ctx.fill(); } + } + if (ctx.strokeStyle != '') ctx.stroke(); + + const markers = this.getMarkers(); + if (markers != null) { + if (this.style('marker-start').isUrlDefinition()) { + var marker = this.style('marker-start').getDefinition(); + marker.render(ctx, markers[0][0], markers[0][1]); + } + if (this.style('marker-mid').isUrlDefinition()) { + var marker = this.style('marker-mid').getDefinition(); + for (let i = 1; i < markers.length - 1; i++) { + marker.render(ctx, markers[i][0], markers[i][1]); + } + } + if (this.style('marker-end').isUrlDefinition()) { + var marker = this.style('marker-end').getDefinition(); + marker.render(ctx, markers[markers.length - 1][0], markers[markers.length - 1][1]); + } + } + }; + + this.getBoundingBox = function() { + return this.path(); + }; + + this.getMarkers = function() { + return null; + }; + }; + svg.Element.PathElementBase.prototype = new svg.Element.RenderedElementBase(); + + // svg element + svg.Element.svg = function(node) { + this.base = svg.Element.RenderedElementBase; + this.base(node); + + this.baseClearContext = this.clearContext; + this.clearContext = function(ctx) { + this.baseClearContext(ctx); + svg.ViewPort.RemoveCurrent(); + }; + + this.baseSetContext = this.setContext; + this.setContext = function(ctx) { + // initial values and defaults + ctx.strokeStyle = 'rgba(0,0,0,0)'; + ctx.lineCap = 'butt'; + ctx.lineJoin = 'miter'; + ctx.miterLimit = 4; + if (typeof ctx.font !== 'undefined' && typeof window.getComputedStyle !== 'undefined') { + ctx.font = window.getComputedStyle(ctx.canvas).getPropertyValue('font'); + } + + this.baseSetContext(ctx); + + // create new view port + if (!this.attribute('x').hasValue()) this.attribute('x', true).value = 0; + if (!this.attribute('y').hasValue()) this.attribute('y', true).value = 0; + ctx.translate(this.attribute('x').toPixels('x'), this.attribute('y').toPixels('y')); + + let width = svg.ViewPort.width(); + let height = svg.ViewPort.height(); + + if (!this.attribute('width').hasValue()) this.attribute('width', true).value = '100%'; + if (!this.attribute('height').hasValue()) this.attribute('height', true).value = '100%'; + if (typeof this.root === 'undefined') { + width = this.attribute('width').toPixels('x'); + height = this.attribute('height').toPixels('y'); + + let x = 0; + let y = 0; + if (this.attribute('refX').hasValue() && this.attribute('refY').hasValue()) { + x = -this.attribute('refX').toPixels('x'); + y = -this.attribute('refY').toPixels('y'); + } + + if (this.attribute('overflow').valueOrDefault('hidden') != 'visible') { + ctx.beginPath(); + ctx.moveTo(x, y); + ctx.lineTo(width, y); + ctx.lineTo(width, height); + ctx.lineTo(x, height); + ctx.closePath(); + ctx.clip(); + } + } + svg.ViewPort.SetCurrent(width, height); + + // viewbox + if (this.attribute('viewBox').hasValue()) { + const viewBox = svg.ToNumberArray(this.attribute('viewBox').value); + const minX = viewBox[0]; + const minY = viewBox[1]; + width = viewBox[2]; + height = viewBox[3]; + + svg.AspectRatio(ctx, + this.attribute('preserveAspectRatio').value, + svg.ViewPort.width(), + width, + svg.ViewPort.height(), + height, + minX, + minY, + this.attribute('refX').value, + this.attribute('refY').value); + + svg.ViewPort.RemoveCurrent(); + svg.ViewPort.SetCurrent(viewBox[2], viewBox[3]); + } + }; + }; + svg.Element.svg.prototype = new svg.Element.RenderedElementBase(); + + // rect element + svg.Element.rect = function(node) { + this.base = svg.Element.PathElementBase; + this.base(node); + + this.path = function(ctx) { + const x = this.attribute('x').toPixels('x'); + const y = this.attribute('y').toPixels('y'); + const width = this.attribute('width').toPixels('x'); + const height = this.attribute('height').toPixels('y'); + let rx = this.attribute('rx').toPixels('x'); + let ry = this.attribute('ry').toPixels('y'); + if (this.attribute('rx').hasValue() && !this.attribute('ry').hasValue()) ry = rx; + if (this.attribute('ry').hasValue() && !this.attribute('rx').hasValue()) rx = ry; + rx = Math.min(rx, width / 2.0); + ry = Math.min(ry, height / 2.0); + if (ctx != null) { + ctx.beginPath(); + ctx.moveTo(x + rx, y); + ctx.lineTo(x + width - rx, y); + ctx.quadraticCurveTo(x + width, y, x + width, y + ry); + ctx.lineTo(x + width, y + height - ry); + ctx.quadraticCurveTo(x + width, y + height, x + width - rx, y + height); + ctx.lineTo(x + rx, y + height); + ctx.quadraticCurveTo(x, y + height, x, y + height - ry); + ctx.lineTo(x, y + ry); + ctx.quadraticCurveTo(x, y, x + rx, y); + ctx.closePath(); + } + + return new svg.BoundingBox(x, y, x + width, y + height); + }; + }; + svg.Element.rect.prototype = new svg.Element.PathElementBase(); + + // circle element + svg.Element.circle = function(node) { + this.base = svg.Element.PathElementBase; + this.base(node); + + this.path = function(ctx) { + const cx = this.attribute('cx').toPixels('x'); + const cy = this.attribute('cy').toPixels('y'); + const r = this.attribute('r').toPixels(); + + if (ctx != null) { + ctx.beginPath(); + ctx.arc(cx, cy, r, 0, Math.PI * 2, true); + ctx.closePath(); + } + + return new svg.BoundingBox(cx - r, cy - r, cx + r, cy + r); + }; + }; + svg.Element.circle.prototype = new svg.Element.PathElementBase(); + + // ellipse element + svg.Element.ellipse = function(node) { + this.base = svg.Element.PathElementBase; + this.base(node); + + this.path = function(ctx) { + const KAPPA = 4 * ((Math.sqrt(2) - 1) / 3); + const rx = this.attribute('rx').toPixels('x'); + const ry = this.attribute('ry').toPixels('y'); + const cx = this.attribute('cx').toPixels('x'); + const cy = this.attribute('cy').toPixels('y'); + + if (ctx != null) { + ctx.beginPath(); + ctx.moveTo(cx, cy - ry); + ctx.bezierCurveTo(cx + (KAPPA * rx), cy - ry, cx + rx, cy - (KAPPA * ry), cx + rx, cy); + ctx.bezierCurveTo(cx + rx, cy + (KAPPA * ry), cx + (KAPPA * rx), cy + ry, cx, cy + ry); + ctx.bezierCurveTo(cx - (KAPPA * rx), cy + ry, cx - rx, cy + (KAPPA * ry), cx - rx, cy); + ctx.bezierCurveTo(cx - rx, cy - (KAPPA * ry), cx - (KAPPA * rx), cy - ry, cx, cy - ry); + ctx.closePath(); + } + + return new svg.BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry); + }; + }; + svg.Element.ellipse.prototype = new svg.Element.PathElementBase(); + + // line element + svg.Element.line = function(node) { + this.base = svg.Element.PathElementBase; + this.base(node); + + this.getPoints = function() { + return [ + new svg.Point(this.attribute('x1').toPixels('x'), this.attribute('y1').toPixels('y')), + new svg.Point(this.attribute('x2').toPixels('x'), this.attribute('y2').toPixels('y'))]; + }; + + this.path = function(ctx) { + const points = this.getPoints(); + + if (ctx != null) { + ctx.beginPath(); + ctx.moveTo(points[0].x, points[0].y); + ctx.lineTo(points[1].x, points[1].y); + } + + return new svg.BoundingBox(points[0].x, points[0].y, points[1].x, points[1].y); + }; + + this.getMarkers = function() { + const points = this.getPoints(); + const a = points[0].angleTo(points[1]); + return [[points[0], a], [points[1], a]]; + }; + }; + svg.Element.line.prototype = new svg.Element.PathElementBase(); + + // polyline element + svg.Element.polyline = function(node) { + this.base = svg.Element.PathElementBase; + this.base(node); + + this.points = svg.CreatePath(this.attribute('points').value); + this.path = function(ctx) { + const bb = new svg.BoundingBox(this.points[0].x, this.points[0].y); + if (ctx != null) { + ctx.beginPath(); + ctx.moveTo(this.points[0].x, this.points[0].y); + } + for (let i = 1; i < this.points.length; i++) { + bb.addPoint(this.points[i].x, this.points[i].y); + if (ctx != null) ctx.lineTo(this.points[i].x, this.points[i].y); + } + return bb; + }; + + this.getMarkers = function() { + const markers = []; + for (let i = 0; i < this.points.length - 1; i++) { + markers.push([this.points[i], this.points[i].angleTo(this.points[i + 1])]); + } + if (markers.length > 0) { + markers.push([this.points[this.points.length - 1], markers[markers.length - 1][1]]); + } + return markers; + }; + }; + svg.Element.polyline.prototype = new svg.Element.PathElementBase(); + + // polygon element + svg.Element.polygon = function(node) { + this.base = svg.Element.polyline; + this.base(node); + + this.basePath = this.path; + this.path = function(ctx) { + const bb = this.basePath(ctx); + if (ctx != null) { + ctx.lineTo(this.points[0].x, this.points[0].y); + ctx.closePath(); + } + return bb; + }; + }; + svg.Element.polygon.prototype = new svg.Element.polyline(); + + // path element + svg.Element.path = function(node) { + this.base = svg.Element.PathElementBase; + this.base(node); + + let d = this.attribute('d').value; + // TODO: convert to real lexer based on http://www.w3.org/TR/SVG11/paths.html#PathDataBNF + d = d.replace(/,/gm, ' '); // get rid of all commas + // As the end of a match can also be the start of the next match, we need to run this replace twice. + for (var i = 0; i < 2; i++) { d = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm, '$1 $2'); } // suffix commands with spaces + d = d.replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm, '$1 $2'); // prefix commands with spaces + d = d.replace(/([0-9])([+\-])/gm, '$1 $2'); // separate digits on +- signs + // Again, we need to run this twice to find all occurances + for (var i = 0; i < 2; i++) { d = d.replace(/(\.[0-9]*)(\.)/gm, '$1 $2'); } // separate digits when they start with a comma + d = d.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm, '$1 $3 $4 '); // shorthand elliptical arc path syntax + d = svg.compressSpaces(d); // compress multiple spaces + d = svg.trim(d); + this.PathParser = new function(d) { + this.tokens = d.split(' '); + + this.reset = function() { + this.i = -1; + this.command = ''; + this.previousCommand = ''; + this.start = new svg.Point(0, 0); + this.control = new svg.Point(0, 0); + this.current = new svg.Point(0, 0); + this.points = []; + this.angles = []; + }; + + this.isEnd = function() { + return this.i >= this.tokens.length - 1; + }; + + this.isCommandOrEnd = function() { + if (this.isEnd()) return true; + return this.tokens[this.i + 1].match(/^[A-Za-z]$/) != null; + }; + + this.isRelativeCommand = function() { + switch (this.command) { + case 'm': + case 'l': + case 'h': + case 'v': + case 'c': + case 's': + case 'q': + case 't': + case 'a': + case 'z': + return true; + break; + } + return false; + }; + + this.getToken = function() { + this.i++; + return this.tokens[this.i]; + }; + + this.getScalar = function() { + return parseFloat(this.getToken()); + }; + + this.nextCommand = function() { + this.previousCommand = this.command; + this.command = this.getToken(); + }; + + this.getPoint = function() { + const p = new svg.Point(this.getScalar(), this.getScalar()); + return this.makeAbsolute(p); + }; + + this.getAsControlPoint = function() { + const p = this.getPoint(); + this.control = p; + return p; + }; + + this.getAsCurrentPoint = function() { + const p = this.getPoint(); + this.current = p; + return p; + }; + + this.getReflectedControlPoint = function() { + if (this.previousCommand.toLowerCase() != 'c' + && this.previousCommand.toLowerCase() != 's' + && this.previousCommand.toLowerCase() != 'q' + && this.previousCommand.toLowerCase() != 't') { + return this.current; + } + + // reflect point + const p = new svg.Point(2 * this.current.x - this.control.x, 2 * this.current.y - this.control.y); + return p; + }; + + this.makeAbsolute = function(p) { + if (this.isRelativeCommand()) { + p.x += this.current.x; + p.y += this.current.y; + } + return p; + }; + + this.addMarker = function(p, from, priorTo) { + // if the last angle isn't filled in because we didn't have this point yet ... + if (priorTo != null && this.angles.length > 0 && this.angles[this.angles.length - 1] == null) { + this.angles[this.angles.length - 1] = this.points[this.points.length - 1].angleTo(priorTo); + } + this.addMarkerAngle(p, from == null ? null : from.angleTo(p)); + }; + + this.addMarkerAngle = function(p, a) { + this.points.push(p); + this.angles.push(a); + }; + + this.getMarkerPoints = function() { return this.points; }; + this.getMarkerAngles = function() { + for (let i = 0; i < this.angles.length; i++) { + if (this.angles[i] == null) { + for (let j = i + 1; j < this.angles.length; j++) { + if (this.angles[j] != null) { + this.angles[i] = this.angles[j]; + break; + } + } + } + } + return this.angles; + }; + }(d); + + this.path = function(ctx) { + const pp = this.PathParser; + pp.reset(); + + const bb = new svg.BoundingBox(); + if (ctx != null) ctx.beginPath(); + while (!pp.isEnd()) { + pp.nextCommand(); + switch (pp.command) { + case 'M': + case 'm': + var p = pp.getAsCurrentPoint(); + pp.addMarker(p); + bb.addPoint(p.x, p.y); + if (ctx != null) ctx.moveTo(p.x, p.y); + pp.start = pp.current; + while (!pp.isCommandOrEnd()) { + var p = pp.getAsCurrentPoint(); + pp.addMarker(p, pp.start); + bb.addPoint(p.x, p.y); + if (ctx != null) ctx.lineTo(p.x, p.y); + } + break; + case 'L': + case 'l': + while (!pp.isCommandOrEnd()) { + const c = pp.current; + var p = pp.getAsCurrentPoint(); + pp.addMarker(p, c); + bb.addPoint(p.x, p.y); + if (ctx != null) ctx.lineTo(p.x, p.y); + } + break; + case 'H': + case 'h': + while (!pp.isCommandOrEnd()) { + var newP = new svg.Point((pp.isRelativeCommand() ? pp.current.x : 0) + pp.getScalar(), pp.current.y); + pp.addMarker(newP, pp.current); + pp.current = newP; + bb.addPoint(pp.current.x, pp.current.y); + if (ctx != null) ctx.lineTo(pp.current.x, pp.current.y); + } + break; + case 'V': + case 'v': + while (!pp.isCommandOrEnd()) { + var newP = new svg.Point(pp.current.x, (pp.isRelativeCommand() ? pp.current.y : 0) + pp.getScalar()); + pp.addMarker(newP, pp.current); + pp.current = newP; + bb.addPoint(pp.current.x, pp.current.y); + if (ctx != null) ctx.lineTo(pp.current.x, pp.current.y); + } + break; + case 'C': + case 'c': + while (!pp.isCommandOrEnd()) { + var curr = pp.current; + var p1 = pp.getPoint(); + var cntrl = pp.getAsControlPoint(); + var cp = pp.getAsCurrentPoint(); + pp.addMarker(cp, cntrl, p1); + bb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y); + if (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y); + } + break; + case 'S': + case 's': + while (!pp.isCommandOrEnd()) { + var curr = pp.current; + var p1 = pp.getReflectedControlPoint(); + var cntrl = pp.getAsControlPoint(); + var cp = pp.getAsCurrentPoint(); + pp.addMarker(cp, cntrl, p1); + bb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y); + if (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y); + } + break; + case 'Q': + case 'q': + while (!pp.isCommandOrEnd()) { + var curr = pp.current; + var cntrl = pp.getAsControlPoint(); + var cp = pp.getAsCurrentPoint(); + pp.addMarker(cp, cntrl, cntrl); + bb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y); + if (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y); + } + break; + case 'T': + case 't': + while (!pp.isCommandOrEnd()) { + var curr = pp.current; + var cntrl = pp.getReflectedControlPoint(); + pp.control = cntrl; + var cp = pp.getAsCurrentPoint(); + pp.addMarker(cp, cntrl, cntrl); + bb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y); + if (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y); + } + break; + case 'A': + case 'a': + while (!pp.isCommandOrEnd()) { + var curr = pp.current; + let rx = pp.getScalar(); + let ry = pp.getScalar(); + const xAxisRotation = pp.getScalar() * (Math.PI / 180.0); + const largeArcFlag = pp.getScalar(); + const sweepFlag = pp.getScalar(); + var cp = pp.getAsCurrentPoint(); + + // Conversion from endpoint to center parameterization + // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes + // x1', y1' + const currp = new svg.Point( + Math.cos(xAxisRotation) * (curr.x - cp.x) / 2.0 + Math.sin(xAxisRotation) * (curr.y - cp.y) / 2.0, + -Math.sin(xAxisRotation) * (curr.x - cp.x) / 2.0 + Math.cos(xAxisRotation) * (curr.y - cp.y) / 2.0, + ); + // adjust radii + const l = Math.pow(currp.x, 2) / Math.pow(rx, 2) + Math.pow(currp.y, 2) / Math.pow(ry, 2); + if (l > 1) { + rx *= Math.sqrt(l); + ry *= Math.sqrt(l); + } + // cx', cy' + let s = (largeArcFlag == sweepFlag ? -1 : 1) * Math.sqrt( + ((Math.pow(rx, 2) * Math.pow(ry, 2)) - (Math.pow(rx, 2) * Math.pow(currp.y, 2)) - (Math.pow(ry, 2) * Math.pow(currp.x, 2))) + / (Math.pow(rx, 2) * Math.pow(currp.y, 2) + Math.pow(ry, 2) * Math.pow(currp.x, 2)), + ); + if (isNaN(s)) s = 0; + const cpp = new svg.Point(s * rx * currp.y / ry, s * -ry * currp.x / rx); + // cx, cy + const centp = new svg.Point( + (curr.x + cp.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y, + (curr.y + cp.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y, + ); + // vector magnitude + var m = function(v) { return Math.sqrt(Math.pow(v[0], 2) + Math.pow(v[1], 2)); }; + // ratio between two vectors + var r = function(u, v) { return (u[0] * v[0] + u[1] * v[1]) / (m(u) * m(v)); }; + // angle between two vectors + const a = function(u, v) { return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(r(u, v)); }; + // initial angle + const a1 = a([1, 0], [(currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry]); + // angle delta + const u = [(currp.x - cpp.x) / rx, (currp.y - cpp.y) / ry]; + const v = [(-currp.x - cpp.x) / rx, (-currp.y - cpp.y) / ry]; + let ad = a(u, v); + if (r(u, v) <= -1) ad = Math.PI; + if (r(u, v) >= 1) ad = 0; + + // for markers + const dir = 1 - sweepFlag ? 1.0 : -1.0; + const ah = a1 + dir * (ad / 2.0); + const halfWay = new svg.Point( + centp.x + rx * Math.cos(ah), + centp.y + ry * Math.sin(ah), + ); + pp.addMarkerAngle(halfWay, ah - dir * Math.PI / 2); + pp.addMarkerAngle(cp, ah - dir * Math.PI); + + bb.addPoint(cp.x, cp.y); // TODO: this is too naive, make it better + if (ctx != null) { + var r = rx > ry ? rx : ry; + const sx = rx > ry ? 1 : rx / ry; + const sy = rx > ry ? ry / rx : 1; + + ctx.translate(centp.x, centp.y); + ctx.rotate(xAxisRotation); + ctx.scale(sx, sy); + ctx.arc(0, 0, r, a1, a1 + ad, 1 - sweepFlag); + ctx.scale(1 / sx, 1 / sy); + ctx.rotate(-xAxisRotation); + ctx.translate(-centp.x, -centp.y); + } + } + break; + case 'Z': + case 'z': + if (ctx != null) ctx.closePath(); + pp.current = pp.start; + } + } + + return bb; + }; + + this.getMarkers = function() { + const points = this.PathParser.getMarkerPoints(); + const angles = this.PathParser.getMarkerAngles(); + + const markers = []; + for (let i = 0; i < points.length; i++) { + markers.push([points[i], angles[i]]); + } + return markers; + }; + }; + svg.Element.path.prototype = new svg.Element.PathElementBase(); + + // pattern element + svg.Element.pattern = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.createPattern = function(ctx, element) { + const width = this.attribute('width').toPixels('x', true); + const height = this.attribute('height').toPixels('y', true); + + // render me using a temporary svg element + const tempSvg = new svg.Element.svg(); + tempSvg.attributes.viewBox = new svg.Property('viewBox', this.attribute('viewBox').value); + tempSvg.attributes.width = new svg.Property('width', `${width}px`); + tempSvg.attributes.height = new svg.Property('height', `${height}px`); + tempSvg.attributes.transform = new svg.Property('transform', this.attribute('patternTransform').value); + tempSvg.children = this.children; + + const c = document.createElement('canvas'); + c.width = width; + c.height = height; + const cctx = c.getContext('2d'); + if (this.attribute('x').hasValue() && this.attribute('y').hasValue()) { + cctx.translate(this.attribute('x').toPixels('x', true), this.attribute('y').toPixels('y', true)); + } + // render 3x3 grid so when we transform there's no white space on edges + for (let x = -1; x <= 1; x++) { + for (let y = -1; y <= 1; y++) { + cctx.save(); + tempSvg.attributes.x = new svg.Property('x', x * c.width); + tempSvg.attributes.y = new svg.Property('y', y * c.height); + tempSvg.render(cctx); + cctx.restore(); + } + } + const pattern = ctx.createPattern(c, 'repeat'); + return pattern; + }; + }; + svg.Element.pattern.prototype = new svg.Element.ElementBase(); + + // marker element + svg.Element.marker = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.baseRender = this.render; + this.render = function(ctx, point, angle) { + ctx.translate(point.x, point.y); + if (this.attribute('orient').valueOrDefault('auto') == 'auto') ctx.rotate(angle); + if (this.attribute('markerUnits').valueOrDefault('strokeWidth') == 'strokeWidth') ctx.scale(ctx.lineWidth, ctx.lineWidth); + ctx.save(); + + // render me using a temporary svg element + const tempSvg = new svg.Element.svg(); + tempSvg.attributes.viewBox = new svg.Property('viewBox', this.attribute('viewBox').value); + tempSvg.attributes.refX = new svg.Property('refX', this.attribute('refX').value); + tempSvg.attributes.refY = new svg.Property('refY', this.attribute('refY').value); + tempSvg.attributes.width = new svg.Property('width', this.attribute('markerWidth').value); + tempSvg.attributes.height = new svg.Property('height', this.attribute('markerHeight').value); + tempSvg.attributes.fill = new svg.Property('fill', this.attribute('fill').valueOrDefault('black')); + tempSvg.attributes.stroke = new svg.Property('stroke', this.attribute('stroke').valueOrDefault('none')); + tempSvg.children = this.children; + tempSvg.render(ctx); + + ctx.restore(); + if (this.attribute('markerUnits').valueOrDefault('strokeWidth') == 'strokeWidth') ctx.scale(1 / ctx.lineWidth, 1 / ctx.lineWidth); + if (this.attribute('orient').valueOrDefault('auto') == 'auto') ctx.rotate(-angle); + ctx.translate(-point.x, -point.y); + }; + }; + svg.Element.marker.prototype = new svg.Element.ElementBase(); + + // definitions element + svg.Element.defs = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.render = function(ctx) { + // NOOP + }; + }; + svg.Element.defs.prototype = new svg.Element.ElementBase(); + + // base for gradients + svg.Element.GradientBase = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.stops = []; + for (let i = 0; i < this.children.length; i++) { + const child = this.children[i]; + if (child.type == 'stop') this.stops.push(child); + } + + this.getGradient = function() { + // OVERRIDE ME! + }; + + this.gradientUnits = function () { + return this.attribute('gradientUnits').valueOrDefault('objectBoundingBox'); + }; + + this.attributesToInherit = ['gradientUnits']; + + this.inheritStopContainer = function (stopsContainer) { + for (let i = 0; i < this.attributesToInherit.length; i++) { + const attributeToInherit = this.attributesToInherit[i]; + if (!this.attribute(attributeToInherit).hasValue() && stopsContainer.attribute(attributeToInherit).hasValue()) { + this.attribute(attributeToInherit, true).value = stopsContainer.attribute(attributeToInherit).value; + } + } + }; + + this.createGradient = function(ctx, element, parentOpacityProp) { + let stopsContainer = this; + if (this.getHrefAttribute().hasValue()) { + stopsContainer = this.getHrefAttribute().getDefinition(); + this.inheritStopContainer(stopsContainer); + } + + const addParentOpacity = function (color) { + if (parentOpacityProp.hasValue()) { + const p = new svg.Property('color', color); + return p.addOpacity(parentOpacityProp).value; + } + return color; + }; + + const g = this.getGradient(ctx, element); + if (g == null) return addParentOpacity(stopsContainer.stops[stopsContainer.stops.length - 1].color); + for (let i = 0; i < stopsContainer.stops.length; i++) { + g.addColorStop(stopsContainer.stops[i].offset, addParentOpacity(stopsContainer.stops[i].color)); + } + + if (this.attribute('gradientTransform').hasValue()) { + // render as transformed pattern on temporary canvas + const rootView = svg.ViewPort.viewPorts[0]; + + const rect = new svg.Element.rect(); + rect.attributes.x = new svg.Property('x', -svg.MAX_VIRTUAL_PIXELS / 3.0); + rect.attributes.y = new svg.Property('y', -svg.MAX_VIRTUAL_PIXELS / 3.0); + rect.attributes.width = new svg.Property('width', svg.MAX_VIRTUAL_PIXELS); + rect.attributes.height = new svg.Property('height', svg.MAX_VIRTUAL_PIXELS); + + const group = new svg.Element.g(); + group.attributes.transform = new svg.Property('transform', this.attribute('gradientTransform').value); + group.children = [rect]; + + const tempSvg = new svg.Element.svg(); + tempSvg.attributes.x = new svg.Property('x', 0); + tempSvg.attributes.y = new svg.Property('y', 0); + tempSvg.attributes.width = new svg.Property('width', rootView.width); + tempSvg.attributes.height = new svg.Property('height', rootView.height); + tempSvg.children = [group]; + + const c = document.createElement('canvas'); + c.width = rootView.width; + c.height = rootView.height; + const tempCtx = c.getContext('2d'); + tempCtx.fillStyle = g; + tempSvg.render(tempCtx); + return tempCtx.createPattern(c, 'no-repeat'); + } + + return g; + }; + }; + svg.Element.GradientBase.prototype = new svg.Element.ElementBase(); + + // linear gradient element + svg.Element.linearGradient = function(node) { + this.base = svg.Element.GradientBase; + this.base(node); + + this.attributesToInherit.push('x1'); + this.attributesToInherit.push('y1'); + this.attributesToInherit.push('x2'); + this.attributesToInherit.push('y2'); + + this.getGradient = function(ctx, element) { + const bb = this.gradientUnits() == 'objectBoundingBox' ? element.getBoundingBox() : null; + + if (!this.attribute('x1').hasValue() + && !this.attribute('y1').hasValue() + && !this.attribute('x2').hasValue() + && !this.attribute('y2').hasValue()) { + this.attribute('x1', true).value = 0; + this.attribute('y1', true).value = 0; + this.attribute('x2', true).value = 1; + this.attribute('y2', true).value = 0; + } + + const x1 = this.gradientUnits() == 'objectBoundingBox' + ? bb.x() + bb.width() * this.attribute('x1').numValue() + : this.attribute('x1').toPixels('x'); + const y1 = this.gradientUnits() == 'objectBoundingBox' + ? bb.y() + bb.height() * this.attribute('y1').numValue() + : this.attribute('y1').toPixels('y'); + const x2 = this.gradientUnits() == 'objectBoundingBox' + ? bb.x() + bb.width() * this.attribute('x2').numValue() + : this.attribute('x2').toPixels('x'); + const y2 = this.gradientUnits() == 'objectBoundingBox' + ? bb.y() + bb.height() * this.attribute('y2').numValue() + : this.attribute('y2').toPixels('y'); + + if (x1 == x2 && y1 == y2) return null; + return ctx.createLinearGradient(x1, y1, x2, y2); + }; + }; + svg.Element.linearGradient.prototype = new svg.Element.GradientBase(); + + // radial gradient element + svg.Element.radialGradient = function(node) { + this.base = svg.Element.GradientBase; + this.base(node); + + this.attributesToInherit.push('cx'); + this.attributesToInherit.push('cy'); + this.attributesToInherit.push('r'); + this.attributesToInherit.push('fx'); + this.attributesToInherit.push('fy'); + + this.getGradient = function(ctx, element) { + const bb = element.getBoundingBox(); + + if (!this.attribute('cx').hasValue()) this.attribute('cx', true).value = '50%'; + if (!this.attribute('cy').hasValue()) this.attribute('cy', true).value = '50%'; + if (!this.attribute('r').hasValue()) this.attribute('r', true).value = '50%'; + + const cx = this.gradientUnits() == 'objectBoundingBox' + ? bb.x() + bb.width() * this.attribute('cx').numValue() + : this.attribute('cx').toPixels('x'); + const cy = this.gradientUnits() == 'objectBoundingBox' + ? bb.y() + bb.height() * this.attribute('cy').numValue() + : this.attribute('cy').toPixels('y'); + + let fx = cx; + let fy = cy; + if (this.attribute('fx').hasValue()) { + fx = this.gradientUnits() == 'objectBoundingBox' + ? bb.x() + bb.width() * this.attribute('fx').numValue() + : this.attribute('fx').toPixels('x'); + } + if (this.attribute('fy').hasValue()) { + fy = this.gradientUnits() == 'objectBoundingBox' + ? bb.y() + bb.height() * this.attribute('fy').numValue() + : this.attribute('fy').toPixels('y'); + } + + const r = this.gradientUnits() == 'objectBoundingBox' + ? (bb.width() + bb.height()) / 2.0 * this.attribute('r').numValue() + : this.attribute('r').toPixels(); + + return ctx.createRadialGradient(fx, fy, 0, cx, cy, r); + }; + }; + svg.Element.radialGradient.prototype = new svg.Element.GradientBase(); + + // gradient stop element + svg.Element.stop = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.offset = this.attribute('offset').numValue(); + if (this.offset < 0) this.offset = 0; + if (this.offset > 1) this.offset = 1; + + let stopColor = this.style('stop-color', true); + if (stopColor.value == '') stopColor.value = '#000'; + if (this.style('stop-opacity').hasValue()) stopColor = stopColor.addOpacity(this.style('stop-opacity')); + this.color = stopColor.value; + }; + svg.Element.stop.prototype = new svg.Element.ElementBase(); + + // animation base element + svg.Element.AnimateBase = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + svg.Animations.push(this); + + this.duration = 0.0; + this.begin = this.attribute('begin').toMilliseconds(); + this.maxDuration = this.begin + this.attribute('dur').toMilliseconds(); + + this.getProperty = function() { + const attributeType = this.attribute('attributeType').value; + const attributeName = this.attribute('attributeName').value; + + if (attributeType == 'CSS') { + return this.parent.style(attributeName, true); + } + return this.parent.attribute(attributeName, true); + }; + + this.initialValue = null; + this.initialUnits = ''; + this.removed = false; + + this.calcValue = function() { + // OVERRIDE ME! + return ''; + }; + + this.update = function(delta) { + // set initial value + if (this.initialValue == null) { + this.initialValue = this.getProperty().value; + this.initialUnits = this.getProperty().getUnits(); + } + + // if we're past the end time + if (this.duration > this.maxDuration) { + // loop for indefinitely repeating animations + if (this.attribute('repeatCount').value == 'indefinite' + || this.attribute('repeatDur').value == 'indefinite') { + this.duration = 0.0; + } else if (this.attribute('fill').valueOrDefault('remove') == 'freeze' && !this.frozen) { + this.frozen = true; + this.parent.animationFrozen = true; + this.parent.animationFrozenValue = this.getProperty().value; + } else if (this.attribute('fill').valueOrDefault('remove') == 'remove' && !this.removed) { + this.removed = true; + this.getProperty().value = this.parent.animationFrozen ? this.parent.animationFrozenValue : this.initialValue; + return true; + } + return false; + } + this.duration += delta; + + // if we're past the begin time + let updated = false; + if (this.begin < this.duration) { + let newValue = this.calcValue(); // tween + + if (this.attribute('type').hasValue()) { + // for transform, etc. + const type = this.attribute('type').value; + newValue = `${type}(${newValue})`; + } + + this.getProperty().value = newValue; + updated = true; + } + + return updated; + }; + + this.from = this.attribute('from'); + this.to = this.attribute('to'); + this.values = this.attribute('values'); + if (this.values.hasValue()) this.values.value = this.values.value.split(';'); + + // fraction of duration we've covered + this.progress = function() { + const ret = { progress: (this.duration - this.begin) / (this.maxDuration - this.begin) }; + if (this.values.hasValue()) { + const p = ret.progress * (this.values.value.length - 1); + const lb = Math.floor(p); const + ub = Math.ceil(p); + ret.from = new svg.Property('from', parseFloat(this.values.value[lb])); + ret.to = new svg.Property('to', parseFloat(this.values.value[ub])); + ret.progress = (p - lb) / (ub - lb); + } else { + ret.from = this.from; + ret.to = this.to; + } + return ret; + }; + }; + svg.Element.AnimateBase.prototype = new svg.Element.ElementBase(); + + // animate element + svg.Element.animate = function(node) { + this.base = svg.Element.AnimateBase; + this.base(node); + + this.calcValue = function() { + const p = this.progress(); + + // tween value linearly + const newValue = p.from.numValue() + (p.to.numValue() - p.from.numValue()) * p.progress; + return newValue + this.initialUnits; + }; + }; + svg.Element.animate.prototype = new svg.Element.AnimateBase(); + + // animate color element + svg.Element.animateColor = function(node) { + this.base = svg.Element.AnimateBase; + this.base(node); + + this.calcValue = function() { + const p = this.progress(); + const from = new RGBColor(p.from.value); + const to = new RGBColor(p.to.value); + + if (from.ok && to.ok) { + // tween color linearly + const r = from.r + (to.r - from.r) * p.progress; + const g = from.g + (to.g - from.g) * p.progress; + const b = from.b + (to.b - from.b) * p.progress; + return `rgb(${parseInt(r, 10)},${parseInt(g, 10)},${parseInt(b, 10)})`; + } + return this.attribute('from').value; + }; + }; + svg.Element.animateColor.prototype = new svg.Element.AnimateBase(); + + // animate transform element + svg.Element.animateTransform = function(node) { + this.base = svg.Element.AnimateBase; + this.base(node); + + this.calcValue = function() { + const p = this.progress(); + + // tween value linearly + const from = svg.ToNumberArray(p.from.value); + const to = svg.ToNumberArray(p.to.value); + let newValue = ''; + for (let i = 0; i < from.length; i++) { + newValue += `${from[i] + (to[i] - from[i]) * p.progress} `; + } + return newValue; + }; + }; + svg.Element.animateTransform.prototype = new svg.Element.animate(); + + // font element + svg.Element.font = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.horizAdvX = this.attribute('horiz-adv-x').numValue(); + + this.isRTL = false; + this.isArabic = false; + this.fontFace = null; + this.missingGlyph = null; + this.glyphs = []; + for (let i = 0; i < this.children.length; i++) { + const child = this.children[i]; + if (child.type == 'font-face') { + this.fontFace = child; + if (child.style('font-family').hasValue()) { + svg.Definitions[child.style('font-family').value] = this; + } + } else if (child.type == 'missing-glyph') this.missingGlyph = child; + else if (child.type == 'glyph') { + if (child.arabicForm != '') { + this.isRTL = true; + this.isArabic = true; + if (typeof this.glyphs[child.unicode] === 'undefined') this.glyphs[child.unicode] = []; + this.glyphs[child.unicode][child.arabicForm] = child; + } else { + this.glyphs[child.unicode] = child; + } + } + } + }; + svg.Element.font.prototype = new svg.Element.ElementBase(); + + // font-face element + svg.Element.fontface = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.ascent = this.attribute('ascent').value; + this.descent = this.attribute('descent').value; + this.unitsPerEm = this.attribute('units-per-em').numValue(); + }; + svg.Element.fontface.prototype = new svg.Element.ElementBase(); + + // missing-glyph element + svg.Element.missingglyph = function(node) { + this.base = svg.Element.path; + this.base(node); + + this.horizAdvX = 0; + }; + svg.Element.missingglyph.prototype = new svg.Element.path(); + + // glyph element + svg.Element.glyph = function(node) { + this.base = svg.Element.path; + this.base(node); + + this.horizAdvX = this.attribute('horiz-adv-x').numValue(); + this.unicode = this.attribute('unicode').value; + this.arabicForm = this.attribute('arabic-form').value; + }; + svg.Element.glyph.prototype = new svg.Element.path(); + + // text element + svg.Element.text = function(node) { + this.captureTextNodes = true; + this.base = svg.Element.RenderedElementBase; + this.base(node); + + this.baseSetContext = this.setContext; + this.setContext = function(ctx) { + this.baseSetContext(ctx); + + let textBaseline = this.style('dominant-baseline').toTextBaseline(); + if (textBaseline == null) textBaseline = this.style('alignment-baseline').toTextBaseline(); + if (textBaseline != null) ctx.textBaseline = textBaseline; + }; + + this.getBoundingBox = function () { + const x = this.attribute('x').toPixels('x'); + const y = this.attribute('y').toPixels('y'); + const fontSize = this.parent.style('font-size').numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize); + return new svg.BoundingBox(x, y - fontSize, x + Math.floor(fontSize * 2.0 / 3.0) * this.children[0].getText().length, y); + }; + + this.renderChildren = function(ctx) { + this.x = this.attribute('x').toPixels('x'); + this.y = this.attribute('y').toPixels('y'); + if (this.attribute('dx').hasValue()) this.x += this.attribute('dx').toPixels('x'); + if (this.attribute('dy').hasValue()) this.y += this.attribute('dy').toPixels('y'); + this.x += this.getAnchorDelta(ctx, this, 0); + for (let i = 0; i < this.children.length; i++) { + this.renderChild(ctx, this, this, i); + } + }; + + this.getAnchorDelta = function (ctx, parent, startI) { + const textAnchor = this.style('text-anchor').valueOrDefault('start'); + if (textAnchor != 'start') { + let width = 0; + for (let i = startI; i < parent.children.length; i++) { + const child = parent.children[i]; + if (i > startI && child.attribute('x').hasValue()) break; // new group + width += child.measureTextRecursive(ctx); + } + return -1 * (textAnchor == 'end' ? width : width / 2.0); + } + return 0; + }; + + this.renderChild = function(ctx, textParent, parent, i) { + const child = parent.children[i]; + if (child.attribute('x').hasValue()) { + child.x = child.attribute('x').toPixels('x') + textParent.getAnchorDelta(ctx, parent, i); + if (child.attribute('dx').hasValue()) child.x += child.attribute('dx').toPixels('x'); + } else { + if (child.attribute('dx').hasValue()) textParent.x += child.attribute('dx').toPixels('x'); + child.x = textParent.x; + } + textParent.x = child.x + child.measureText(ctx); + + if (child.attribute('y').hasValue()) { + child.y = child.attribute('y').toPixels('y'); + if (child.attribute('dy').hasValue()) child.y += child.attribute('dy').toPixels('y'); + } else { + if (child.attribute('dy').hasValue()) textParent.y += child.attribute('dy').toPixels('y'); + child.y = textParent.y; + } + textParent.y = child.y; + + child.render(ctx); + + for (var i = 0; i < child.children.length; i++) { + textParent.renderChild(ctx, textParent, child, i); + } + }; + }; + svg.Element.text.prototype = new svg.Element.RenderedElementBase(); + + // text base + svg.Element.TextElementBase = function(node) { + this.base = svg.Element.RenderedElementBase; + this.base(node); + + this.getGlyph = function(font, text, i) { + const c = text[i]; + let glyph = null; + if (font.isArabic) { + let arabicForm = 'isolated'; + if ((i == 0 || text[i - 1] == ' ') && i < text.length - 2 && text[i + 1] != ' ') arabicForm = 'terminal'; + if (i > 0 && text[i - 1] != ' ' && i < text.length - 2 && text[i + 1] != ' ') arabicForm = 'medial'; + if (i > 0 && text[i - 1] != ' ' && (i == text.length - 1 || text[i + 1] == ' ')) arabicForm = 'initial'; + if (typeof font.glyphs[c] !== 'undefined') { + glyph = font.glyphs[c][arabicForm]; + if (glyph == null && font.glyphs[c].type == 'glyph') glyph = font.glyphs[c]; + } + } else { + glyph = font.glyphs[c]; + } + if (glyph == null) glyph = font.missingGlyph; + return glyph; + }; + + this.renderChildren = function(ctx) { + const customFont = this.parent.style('font-family').getDefinition(); + if (customFont != null) { + const fontSize = this.parent.style('font-size').numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize); + const fontStyle = this.parent.style('font-style').valueOrDefault(svg.Font.Parse(svg.ctx.font).fontStyle); + let text = this.getText(); + if (customFont.isRTL) text = text.split('').reverse().join(''); + + const dx = svg.ToNumberArray(this.parent.attribute('dx').value); + for (let i = 0; i < text.length; i++) { + const glyph = this.getGlyph(customFont, text, i); + const scale = fontSize / customFont.fontFace.unitsPerEm; + ctx.translate(this.x, this.y); + ctx.scale(scale, -scale); + const lw = ctx.lineWidth; + ctx.lineWidth = ctx.lineWidth * customFont.fontFace.unitsPerEm / fontSize; + if (fontStyle == 'italic') ctx.transform(1, 0, 0.4, 1, 0, 0); + glyph.render(ctx); + if (fontStyle == 'italic') ctx.transform(1, 0, -0.4, 1, 0, 0); + ctx.lineWidth = lw; + ctx.scale(1 / scale, -1 / scale); + ctx.translate(-this.x, -this.y); + + this.x += fontSize * (glyph.horizAdvX || customFont.horizAdvX) / customFont.fontFace.unitsPerEm; + if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) { + this.x += dx[i]; + } + } + return; + } + + if (ctx.fillStyle != '') ctx.fillText(svg.compressSpaces(this.getText()), this.x, this.y); + if (ctx.strokeStyle != '') ctx.strokeText(svg.compressSpaces(this.getText()), this.x, this.y); + }; + + this.getText = function() { + // OVERRIDE ME + }; + + this.measureTextRecursive = function(ctx) { + let width = this.measureText(ctx); + for (let i = 0; i < this.children.length; i++) { + width += this.children[i].measureTextRecursive(ctx); + } + return width; + }; + + this.measureText = function(ctx) { + const customFont = this.parent.style('font-family').getDefinition(); + if (customFont != null) { + const fontSize = this.parent.style('font-size').numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize); + let measure = 0; + let text = this.getText(); + if (customFont.isRTL) text = text.split('').reverse().join(''); + const dx = svg.ToNumberArray(this.parent.attribute('dx').value); + for (let i = 0; i < text.length; i++) { + const glyph = this.getGlyph(customFont, text, i); + measure += (glyph.horizAdvX || customFont.horizAdvX) * fontSize / customFont.fontFace.unitsPerEm; + if (typeof dx[i] !== 'undefined' && !isNaN(dx[i])) { + measure += dx[i]; + } + } + return measure; + } + + const textToMeasure = svg.compressSpaces(this.getText()); + if (!ctx.measureText) return textToMeasure.length * 10; + + ctx.save(); + this.setContext(ctx); + const { width } = ctx.measureText(textToMeasure); + ctx.restore(); + return width; + }; + }; + svg.Element.TextElementBase.prototype = new svg.Element.RenderedElementBase(); + + // tspan + svg.Element.tspan = function(node) { + this.captureTextNodes = true; + this.base = svg.Element.TextElementBase; + this.base(node); + + this.text = svg.compressSpaces(node.value || node.text || node.textContent || ''); + this.getText = function() { + // if this node has children, then they own the text + if (this.children.length > 0) { return ''; } + return this.text; + }; + }; + svg.Element.tspan.prototype = new svg.Element.TextElementBase(); + + // tref + svg.Element.tref = function(node) { + this.base = svg.Element.TextElementBase; + this.base(node); + + this.getText = function() { + const element = this.getHrefAttribute().getDefinition(); + if (element != null) return element.children[0].getText(); + }; + }; + svg.Element.tref.prototype = new svg.Element.TextElementBase(); + + // a element + svg.Element.a = function(node) { + this.base = svg.Element.TextElementBase; + this.base(node); + + this.hasText = node.childNodes.length > 0; + for (let i = 0; i < node.childNodes.length; i++) { + if (node.childNodes[i].nodeType != 3) this.hasText = false; + } + + // this might contain text + this.text = this.hasText ? node.childNodes[0].value : ''; + this.getText = function() { + return this.text; + }; + + this.baseRenderChildren = this.renderChildren; + this.renderChildren = function(ctx) { + if (this.hasText) { + // render as text element + this.baseRenderChildren(ctx); + const fontSize = new svg.Property('fontSize', svg.Font.Parse(svg.ctx.font).fontSize); + svg.Mouse.checkBoundingBox(this, new svg.BoundingBox(this.x, this.y - fontSize.toPixels('y'), this.x + this.measureText(ctx), this.y)); + } else if (this.children.length > 0) { + // render as temporary group + const g = new svg.Element.g(); + g.children = this.children; + g.parent = this; + g.render(ctx); + } + }; + + this.onclick = function() { + window.open(this.getHrefAttribute().value); + }; + + this.onmousemove = function() { + svg.ctx.canvas.style.cursor = 'pointer'; + }; + }; + svg.Element.a.prototype = new svg.Element.TextElementBase(); + + // image element + svg.Element.image = function(node) { + this.base = svg.Element.RenderedElementBase; + this.base(node); + + const href = this.getHrefAttribute().value; + if (href == '') { return; } + const isSvg = href.match(/\.svg$/); + + svg.Images.push(this); + this.loaded = false; + if (!isSvg) { + this.img = document.createElement('img'); + if (svg.opts.useCORS == true) { this.img.crossOrigin = 'Anonymous'; } + const self = this; + this.img.onload = function() { self.loaded = true; }; + this.img.onerror = function() { svg.log(`ERROR: image "${href}" not found`); self.loaded = true; }; + this.img.src = href; + } else { + this.img = svg.ajax(href); + this.loaded = true; + } + + this.renderChildren = function(ctx) { + const x = this.attribute('x').toPixels('x'); + const y = this.attribute('y').toPixels('y'); + + const width = this.attribute('width').toPixels('x'); + const height = this.attribute('height').toPixels('y'); + if (width == 0 || height == 0) return; + + ctx.save(); + if (isSvg) { + ctx.drawSvg(this.img, x, y, width, height); + } else { + ctx.translate(x, y); + svg.AspectRatio(ctx, + this.attribute('preserveAspectRatio').value, + width, + this.img.width, + height, + this.img.height, + 0, + 0); + ctx.drawImage(this.img, 0, 0); + } + ctx.restore(); + }; + + this.getBoundingBox = function() { + const x = this.attribute('x').toPixels('x'); + const y = this.attribute('y').toPixels('y'); + const width = this.attribute('width').toPixels('x'); + const height = this.attribute('height').toPixels('y'); + return new svg.BoundingBox(x, y, x + width, y + height); + }; + }; + svg.Element.image.prototype = new svg.Element.RenderedElementBase(); + + // group element + svg.Element.g = function(node) { + this.base = svg.Element.RenderedElementBase; + this.base(node); + + this.getBoundingBox = function() { + const bb = new svg.BoundingBox(); + for (let i = 0; i < this.children.length; i++) { + bb.addBoundingBox(this.children[i].getBoundingBox()); + } + return bb; + }; + }; + svg.Element.g.prototype = new svg.Element.RenderedElementBase(); + + // symbol element + svg.Element.symbol = function(node) { + this.base = svg.Element.RenderedElementBase; + this.base(node); + + this.render = function(ctx) { + // NO RENDER + }; + }; + svg.Element.symbol.prototype = new svg.Element.RenderedElementBase(); + + // style element + svg.Element.style = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + // text, or spaces then CDATA + let css = ''; + for (var i = 0; i < node.childNodes.length; i++) { + css += node.childNodes[i].data; + } + css = css.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, ''); // remove comments + css = svg.compressSpaces(css); // replace whitespace + const cssDefs = css.split('}'); + for (var i = 0; i < cssDefs.length; i++) { + if (svg.trim(cssDefs[i]) != '') { + const cssDef = cssDefs[i].split('{'); + const cssClasses = cssDef[0].split(','); + const cssProps = cssDef[1].split(';'); + for (let j = 0; j < cssClasses.length; j++) { + const cssClass = svg.trim(cssClasses[j]); + if (cssClass != '') { + const props = svg.Styles[cssClass] || {}; + for (let k = 0; k < cssProps.length; k++) { + const prop = cssProps[k].indexOf(':'); + const name = cssProps[k].substr(0, prop); + const value = cssProps[k].substr(prop + 1, cssProps[k].length - prop); + if (name != null && value != null) { + props[svg.trim(name)] = new svg.Property(svg.trim(name), svg.trim(value)); + } + } + svg.Styles[cssClass] = props; + svg.StylesSpecificity[cssClass] = getSelectorSpecificity(cssClass); + if (cssClass == '@font-face') { + const fontFamily = props['font-family'].value.replace(/"/g, ''); + const srcs = props.src.value.split(','); + for (let s = 0; s < srcs.length; s++) { + if (srcs[s].indexOf('format("svg")') > 0) { + const urlStart = srcs[s].indexOf('url'); + const urlEnd = srcs[s].indexOf(')', urlStart); + const url = srcs[s].substr(urlStart + 5, urlEnd - urlStart - 6); + const doc = svg.parseXml(svg.ajax(url)); + const fonts = doc.getElementsByTagName('font'); + for (let f = 0; f < fonts.length; f++) { + const font = svg.CreateElement(fonts[f]); + svg.Definitions[fontFamily] = font; + } + } + } + } + } + } + } + } + }; + svg.Element.style.prototype = new svg.Element.ElementBase(); + + // use element + svg.Element.use = function(node) { + this.base = svg.Element.RenderedElementBase; + this.base(node); + + this.baseSetContext = this.setContext; + this.setContext = function(ctx) { + this.baseSetContext(ctx); + if (this.attribute('x').hasValue()) ctx.translate(this.attribute('x').toPixels('x'), 0); + if (this.attribute('y').hasValue()) ctx.translate(0, this.attribute('y').toPixels('y')); + }; + + const element = this.getHrefAttribute().getDefinition(); + + this.path = function(ctx) { + if (element != null) element.path(ctx); + }; + + this.getBoundingBox = function() { + if (element != null) return element.getBoundingBox(); + }; + + this.renderChildren = function(ctx) { + if (element != null) { + let tempSvg = element; + if (element.type == 'symbol') { + // render me using a temporary svg element in symbol cases (http://www.w3.org/TR/SVG/struct.html#UseElement) + tempSvg = new svg.Element.svg(); + tempSvg.type = 'svg'; + tempSvg.attributes.viewBox = new svg.Property('viewBox', element.attribute('viewBox').value); + tempSvg.attributes.preserveAspectRatio = new svg.Property('preserveAspectRatio', element.attribute('preserveAspectRatio').value); + tempSvg.attributes.overflow = new svg.Property('overflow', element.attribute('overflow').value); + tempSvg.children = element.children; + } + if (tempSvg.type == 'svg') { + // if symbol or svg, inherit width/height from me + if (this.attribute('width').hasValue()) tempSvg.attributes.width = new svg.Property('width', this.attribute('width').value); + if (this.attribute('height').hasValue()) tempSvg.attributes.height = new svg.Property('height', this.attribute('height').value); + } + const oldParent = tempSvg.parent; + tempSvg.parent = null; + tempSvg.render(ctx); + tempSvg.parent = oldParent; + } + }; + }; + svg.Element.use.prototype = new svg.Element.RenderedElementBase(); + + // mask element + svg.Element.mask = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.apply = function(ctx, element) { + // render as temp svg + var x = this.attribute('x').toPixels('x'); + var y = this.attribute('y').toPixels('y'); + var width = this.attribute('width').toPixels('x'); + var height = this.attribute('height').toPixels('y'); + + if (width == 0 && height == 0) { + const bb = new svg.BoundingBox(); + for (let i = 0; i < this.children.length; i++) { + bb.addBoundingBox(this.children[i].getBoundingBox()); + } + var x = Math.floor(bb.x1); + var y = Math.floor(bb.y1); + var width = Math.floor(bb.width()); + var height = Math.floor(bb.height()); + } + + // temporarily remove mask to avoid recursion + const mask = element.attribute('mask').value; + element.attribute('mask').value = ''; + + const cMask = document.createElement('canvas'); + cMask.width = x + width; + cMask.height = y + height; + const maskCtx = cMask.getContext('2d'); + this.renderChildren(maskCtx); + + const c = document.createElement('canvas'); + c.width = x + width; + c.height = y + height; + const tempCtx = c.getContext('2d'); + element.render(tempCtx); + tempCtx.globalCompositeOperation = 'destination-in'; + tempCtx.fillStyle = maskCtx.createPattern(cMask, 'no-repeat'); + tempCtx.fillRect(0, 0, x + width, y + height); + + ctx.fillStyle = tempCtx.createPattern(c, 'no-repeat'); + ctx.fillRect(0, 0, x + width, y + height); + + // reassign mask + element.attribute('mask').value = mask; + }; + + this.render = function(ctx) { + // NO RENDER + }; + }; + svg.Element.mask.prototype = new svg.Element.ElementBase(); + + // clip element + svg.Element.clipPath = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.apply = function(ctx) { + const oldBeginPath = CanvasRenderingContext2D.prototype.beginPath; + CanvasRenderingContext2D.prototype.beginPath = function () { }; + + const oldClosePath = CanvasRenderingContext2D.prototype.closePath; + CanvasRenderingContext2D.prototype.closePath = function () { }; + + oldBeginPath.call(ctx); + for (let i = 0; i < this.children.length; i++) { + const child = this.children[i]; + if (typeof child.path !== 'undefined') { + let transform = null; + if (child.style('transform', false, true).hasValue()) { + transform = new svg.Transform(child.style('transform', false, true).value); + transform.apply(ctx); + } + child.path(ctx); + CanvasRenderingContext2D.prototype.closePath = oldClosePath; + if (transform) { transform.unapply(ctx); } + } + } + oldClosePath.call(ctx); + ctx.clip(); + + CanvasRenderingContext2D.prototype.beginPath = oldBeginPath; + CanvasRenderingContext2D.prototype.closePath = oldClosePath; + }; + + this.render = function(ctx) { + // NO RENDER + }; + }; + svg.Element.clipPath.prototype = new svg.Element.ElementBase(); + + // filters + svg.Element.filter = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.apply = function(ctx, element) { + // render as temp svg + const bb = element.getBoundingBox(); + const x = Math.floor(bb.x1); + const y = Math.floor(bb.y1); + const width = Math.floor(bb.width()); + const height = Math.floor(bb.height()); + + // temporarily remove filter to avoid recursion + const filter = element.style('filter').value; + element.style('filter').value = ''; + + let px = 0; let + py = 0; + for (var i = 0; i < this.children.length; i++) { + const efd = this.children[i].extraFilterDistance || 0; + px = Math.max(px, efd); + py = Math.max(py, efd); + } + + const c = document.createElement('canvas'); + c.width = width + 2 * px; + c.height = height + 2 * py; + const tempCtx = c.getContext('2d'); + tempCtx.translate(-x + px, -y + py); + element.render(tempCtx); + + // apply filters + for (var i = 0; i < this.children.length; i++) { + if (typeof this.children[i].apply === 'function') { + this.children[i].apply(tempCtx, 0, 0, width + 2 * px, height + 2 * py); + } + } + + // render on me + ctx.drawImage(c, 0, 0, width + 2 * px, height + 2 * py, x - px, y - py, width + 2 * px, height + 2 * py); + + // reassign filter + element.style('filter', true).value = filter; + }; + + this.render = function(ctx) { + // NO RENDER + }; + }; + svg.Element.filter.prototype = new svg.Element.ElementBase(); + + svg.Element.feMorphology = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.apply = function(ctx, x, y, width, height) { + // TODO: implement + }; + }; + svg.Element.feMorphology.prototype = new svg.Element.ElementBase(); + + svg.Element.feComposite = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.apply = function(ctx, x, y, width, height) { + // TODO: implement + }; + }; + svg.Element.feComposite.prototype = new svg.Element.ElementBase(); + + svg.Element.feColorMatrix = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + let matrix = svg.ToNumberArray(this.attribute('values').value); + switch (this.attribute('type').valueOrDefault('matrix')) { // http://www.w3.org/TR/SVG/filters.html#feColorMatrixElement + case 'saturate': + var s = matrix[0]; + matrix = [0.213 + 0.787 * s, 0.715 - 0.715 * s, 0.072 - 0.072 * s, 0, 0, + 0.213 - 0.213 * s, 0.715 + 0.285 * s, 0.072 - 0.072 * s, 0, 0, + 0.213 - 0.213 * s, 0.715 - 0.715 * s, 0.072 + 0.928 * s, 0, 0, + 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1]; + break; + case 'hueRotate': + var a = matrix[0] * Math.PI / 180.0; + var c = function (m1, m2, m3) { return m1 + Math.cos(a) * m2 + Math.sin(a) * m3; }; + matrix = [c(0.213, 0.787, -0.213), c(0.715, -0.715, -0.715), c(0.072, -0.072, 0.928), 0, 0, + c(0.213, -0.213, 0.143), c(0.715, 0.285, 0.140), c(0.072, -0.072, -0.283), 0, 0, + c(0.213, -0.213, -0.787), c(0.715, -0.715, 0.715), c(0.072, 0.928, 0.072), 0, 0, + 0, 0, 0, 1, 0, + 0, 0, 0, 0, 1]; + break; + case 'luminanceToAlpha': + matrix = [0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + 0.2125, 0.7154, 0.0721, 0, 0, + 0, 0, 0, 0, 1]; + break; + } + + function imGet(img, x, y, width, height, rgba) { + return img[y * width * 4 + x * 4 + rgba]; + } + + function imSet(img, x, y, width, height, rgba, val) { + img[y * width * 4 + x * 4 + rgba] = val; + } + + function m(i, v) { + const mi = matrix[i]; + return mi * (mi < 0 ? v - 255 : v); + } + + this.apply = function(ctx, x, y, width, height) { + // assuming x==0 && y==0 for now + const srcData = ctx.getImageData(0, 0, width, height); + for (var y = 0; y < height; y++) { + for (var x = 0; x < width; x++) { + const r = imGet(srcData.data, x, y, width, height, 0); + const g = imGet(srcData.data, x, y, width, height, 1); + const b = imGet(srcData.data, x, y, width, height, 2); + const a = imGet(srcData.data, x, y, width, height, 3); + imSet(srcData.data, x, y, width, height, 0, m(0, r) + m(1, g) + m(2, b) + m(3, a) + m(4, 1)); + imSet(srcData.data, x, y, width, height, 1, m(5, r) + m(6, g) + m(7, b) + m(8, a) + m(9, 1)); + imSet(srcData.data, x, y, width, height, 2, m(10, r) + m(11, g) + m(12, b) + m(13, a) + m(14, 1)); + imSet(srcData.data, x, y, width, height, 3, m(15, r) + m(16, g) + m(17, b) + m(18, a) + m(19, 1)); + } + } + ctx.clearRect(0, 0, width, height); + ctx.putImageData(srcData, 0, 0); + }; + }; + svg.Element.feColorMatrix.prototype = new svg.Element.ElementBase(); + + svg.Element.feGaussianBlur = function(node) { + this.base = svg.Element.ElementBase; + this.base(node); + + this.blurRadius = Math.floor(this.attribute('stdDeviation').numValue()); + this.extraFilterDistance = this.blurRadius; + + this.apply = function(ctx, x, y, width, height) { + if (typeof stackblur.canvasRGBA === 'undefined') { + svg.log('ERROR: StackBlur.js must be included for blur to work'); + return; + } + + // StackBlur requires canvas be on document + ctx.canvas.id = svg.UniqueId(); + ctx.canvas.style.display = 'none'; + document.body.appendChild(ctx.canvas); + stackblur.canvasRGBA(ctx.canvas.id, x, y, width, height, this.blurRadius); + document.body.removeChild(ctx.canvas); + }; + }; + svg.Element.feGaussianBlur.prototype = new svg.Element.ElementBase(); + + // title element, do nothing + svg.Element.title = function(node) { + }; + svg.Element.title.prototype = new svg.Element.ElementBase(); + + // desc element, do nothing + svg.Element.desc = function(node) { + }; + svg.Element.desc.prototype = new svg.Element.ElementBase(); + + svg.Element.MISSING = function(node) { + svg.log(`ERROR: Element '${node.nodeName}' not yet implemented.`); + }; + svg.Element.MISSING.prototype = new svg.Element.ElementBase(); + + // element factory + svg.CreateElement = function(node) { + let className = node.nodeName.replace(/^[^:]+:/, ''); // remove namespace + className = className.replace(/\-/g, ''); // remove dashes + let e = null; + if (typeof svg.Element[className] !== 'undefined') { + e = new svg.Element[className](node); + } else { + e = new svg.Element.MISSING(node); + } + + e.type = node.nodeName; + return e; + }; + + // load from url + svg.load = function(ctx, url) { + svg.loadXml(ctx, svg.ajax(url)); + }; + + // load from xml + svg.loadXml = function(ctx, xml) { + svg.loadXmlDoc(ctx, svg.parseXml(xml)); + }; + + svg.loadXmlDoc = function(ctx, dom) { + svg.init(ctx); + + const mapXY = function(p) { + let e = ctx.canvas; + while (e) { + p.x -= e.offsetLeft; + p.y -= e.offsetTop; + e = e.offsetParent; + } + if (window.scrollX) p.x += window.scrollX; + if (window.scrollY) p.y += window.scrollY; + return p; + }; + + // bind mouse + if (svg.opts.ignoreMouse != true) { + ctx.canvas.onclick = function(e) { + const p = mapXY(new svg.Point(e != null ? e.clientX : event.clientX, e != null ? e.clientY : event.clientY)); + svg.Mouse.onclick(p.x, p.y); + }; + ctx.canvas.onmousemove = function(e) { + const p = mapXY(new svg.Point(e != null ? e.clientX : event.clientX, e != null ? e.clientY : event.clientY)); + svg.Mouse.onmousemove(p.x, p.y); + }; + } + + const e = svg.CreateElement(dom.documentElement); + e.root = true; + e.addStylesFromStyleDefinition(); + + // render loop + let isFirstRender = true; + const draw = function() { + svg.ViewPort.Clear(); + if (ctx.canvas.parentNode) svg.ViewPort.SetCurrent(ctx.canvas.parentNode.clientWidth, ctx.canvas.parentNode.clientHeight); + + if (svg.opts.ignoreDimensions != true) { + // set canvas size + if (e.style('width').hasValue()) { + ctx.canvas.width = e.style('width').toPixels('x'); + ctx.canvas.style.width = `${ctx.canvas.width}px`; + } + if (e.style('height').hasValue()) { + ctx.canvas.height = e.style('height').toPixels('y'); + ctx.canvas.style.height = `${ctx.canvas.height}px`; + } + } + let cWidth = ctx.canvas.clientWidth || ctx.canvas.width; + let cHeight = ctx.canvas.clientHeight || ctx.canvas.height; + if (svg.opts.ignoreDimensions == true && e.style('width').hasValue() && e.style('height').hasValue()) { + cWidth = e.style('width').toPixels('x'); + cHeight = e.style('height').toPixels('y'); + } + svg.ViewPort.SetCurrent(cWidth, cHeight); + + if (svg.opts.offsetX != null) e.attribute('x', true).value = svg.opts.offsetX; + if (svg.opts.offsetY != null) e.attribute('y', true).value = svg.opts.offsetY; + if (svg.opts.scaleWidth != null || svg.opts.scaleHeight != null) { + let xRatio = null; let yRatio = null; const + viewBox = svg.ToNumberArray(e.attribute('viewBox').value); + + if (svg.opts.scaleWidth != null) { + if (e.attribute('width').hasValue()) xRatio = e.attribute('width').toPixels('x') / svg.opts.scaleWidth; + else if (!isNaN(viewBox[2])) xRatio = viewBox[2] / svg.opts.scaleWidth; + } + + if (svg.opts.scaleHeight != null) { + if (e.attribute('height').hasValue()) yRatio = e.attribute('height').toPixels('y') / svg.opts.scaleHeight; + else if (!isNaN(viewBox[3])) yRatio = viewBox[3] / svg.opts.scaleHeight; + } + + if (xRatio == null) { xRatio = yRatio; } + if (yRatio == null) { yRatio = xRatio; } + + e.attribute('width', true).value = svg.opts.scaleWidth; + e.attribute('height', true).value = svg.opts.scaleHeight; + e.style('transform', true, true).value += ` scale(${1.0 / xRatio},${1.0 / yRatio})`; + } + + // clear and render + if (svg.opts.ignoreClear != true) { + ctx.clearRect(0, 0, cWidth, cHeight); + } + e.render(ctx); + if (isFirstRender) { + isFirstRender = false; + if (typeof svg.opts.renderCallback === 'function') svg.opts.renderCallback(dom); + } + }; + + let waitingForImages = true; + if (svg.ImagesLoaded()) { + waitingForImages = false; + draw(); + } + svg.intervalID = setInterval(() => { + let needUpdate = false; + + if (waitingForImages && svg.ImagesLoaded()) { + waitingForImages = false; + needUpdate = true; + } + + // need update from mouse events? + if (svg.opts.ignoreMouse != true) { + needUpdate |= svg.Mouse.hasEvents(); + } + + // need update from animations? + if (svg.opts.ignoreAnimation != true) { + for (let i = 0; i < svg.Animations.length; i++) { + needUpdate |= svg.Animations[i].update(1000 / svg.FRAMERATE); + } + } + + // need update from redraw? + if (typeof svg.opts.forceRedraw === 'function') { + if (svg.opts.forceRedraw() == true) needUpdate = true; + } + + // render if needed + if (needUpdate) { + draw(); + svg.Mouse.runEvents(); // run and clear our events + } + }, 1000 / svg.FRAMERATE); + }; + + svg.stop = function() { + if (svg.intervalID) { + clearInterval(svg.intervalID); + } + }; + + svg.Mouse = new function() { + this.events = []; + this.hasEvents = function() { return this.events.length != 0; }; + + this.onclick = function(x, y) { + this.events.push({ + type: 'onclick', + x, + y, + run(e) { if (e.onclick) e.onclick(); }, + }); + }; + + this.onmousemove = function(x, y) { + this.events.push({ + type: 'onmousemove', + x, + y, + run(e) { if (e.onmousemove) e.onmousemove(); }, + }); + }; + + this.eventElements = []; + + this.checkPath = function(element, ctx) { + for (let i = 0; i < this.events.length; i++) { + const e = this.events[i]; + if (ctx.isPointInPath && ctx.isPointInPath(e.x, e.y)) this.eventElements[i] = element; + } + }; + + this.checkBoundingBox = function(element, bb) { + for (let i = 0; i < this.events.length; i++) { + const e = this.events[i]; + if (bb.isPointInBox(e.x, e.y)) this.eventElements[i] = element; + } + }; + + this.runEvents = function() { + svg.ctx.canvas.style.cursor = ''; + + for (let i = 0; i < this.events.length; i++) { + const e = this.events[i]; + let element = this.eventElements[i]; + while (element) { + e.run(element); + element = element.parent; + } + } + + // done running, clear + this.events = []; + this.eventElements = []; + }; + }(); + + return svg; +} + From a2b2d85c21847bdde170617ff1b572d35739287c Mon Sep 17 00:00:00 2001 From: minniewong Date: Mon, 5 Dec 2022 15:20:31 -0500 Subject: [PATCH 13/42] Added new step and text updates --- .../metadata/stories/flood-product/step001.md | 2 +- .../metadata/stories/flood-product/step002.md | 2 +- .../metadata/stories/flood-product/step003.md | 2 +- .../metadata/stories/flood-product/step004.md | 2 +- .../metadata/stories/flood-product/step005.md | 2 +- .../metadata/stories/flood-product/step006.md | 2 +- .../metadata/stories/flood-product/step007.md | 2 +- .../metadata/stories/flood-product/step008.md | 1 + .../wv.json/stories/default/flood-product.json | 17 +++++++++++++---- 9 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 config/default/common/config/metadata/stories/flood-product/step008.md diff --git a/config/default/common/config/metadata/stories/flood-product/step001.md b/config/default/common/config/metadata/stories/flood-product/step001.md index aff8da6882..f6249c8b8b 100644 --- a/config/default/common/config/metadata/stories/flood-product/step001.md +++ b/config/default/common/config/metadata/stories/flood-product/step001.md @@ -1 +1 @@ -The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. \ No newline at end of file +The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of optically observed flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md index 63d84f04fb..25b6119679 100644 --- a/config/default/common/config/metadata/stories/flood-product/step002.md +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -1 +1 @@ -In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water and pixels in grey are areas of insufficient data (usually due to cloud cover). \ No newline at end of file +In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water (detected in the composite), and pixels in grey are areas of insufficient data (usually due to cloud cover). \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step003.md b/config/default/common/config/metadata/stories/flood-product/step003.md index e8f60186d5..21cab3484d 100644 --- a/config/default/common/config/metadata/stories/flood-product/step003.md +++ b/config/default/common/config/metadata/stories/flood-product/step003.md @@ -1 +1 @@ -Heavy monsoon rains starting in June 2022 contributed to rising floodwaters in Pakistan. This false-color corrected reflectance image (Bands 7,2,1) from the MODIS instrument aboard the Terra satellite on 15 September 2022 illustrates the flood waters in dark blue. \ No newline at end of file +Here we have disabled the grey "Insufficient Data" pixels to have a better view of the flood and water pixels. To enable or disable each of the three categories, click on the "Layer Options" icon on the right side of the layer. Alternatively, you can also adjust the opacity of the layer so you can more easily compare the flood layer with the false-color image underneath. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step004.md b/config/default/common/config/metadata/stories/flood-product/step004.md index 3d0fe8ecf8..e8f60186d5 100644 --- a/config/default/common/config/metadata/stories/flood-product/step004.md +++ b/config/default/common/config/metadata/stories/flood-product/step004.md @@ -1 +1 @@ -Here we compare imagery from June and September 2022. The left "A" side displays imagery from 25 June, and the right "B' side shows imagery from 20 September and how much of the area was covered by the dark blue floodwaters over the four month period. \ No newline at end of file +Heavy monsoon rains starting in June 2022 contributed to rising floodwaters in Pakistan. This false-color corrected reflectance image (Bands 7,2,1) from the MODIS instrument aboard the Terra satellite on 15 September 2022 illustrates the flood waters in dark blue. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step005.md b/config/default/common/config/metadata/stories/flood-product/step005.md index cee1defebb..8763b40f26 100644 --- a/config/default/common/config/metadata/stories/flood-product/step005.md +++ b/config/default/common/config/metadata/stories/flood-product/step005.md @@ -1 +1 @@ -The 3-Day window Flood product on the left "A" side shows the floodwaters in red, swipe the center bar back and forth to compare the red floodwater pixels with the false-color image on the right "B" side. \ No newline at end of file +The 3-Day window Flood product on the left "A" side shows the floodwaters in red, and normal water in cyan. Swipe the center bar back and forth to compare the flood detections to the false-color image on the right "B" side. Zoom in to investigate further. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step006.md b/config/default/common/config/metadata/stories/flood-product/step006.md index 29dd2eadab..8763b40f26 100644 --- a/config/default/common/config/metadata/stories/flood-product/step006.md +++ b/config/default/common/config/metadata/stories/flood-product/step006.md @@ -1 +1 @@ -Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how clouds initially obscured much of the flooding. Clouds are represented by grey "insufficient data" pixels. \ No newline at end of file +The 3-Day window Flood product on the left "A" side shows the floodwaters in red, and normal water in cyan. Swipe the center bar back and forth to compare the flood detections to the false-color image on the right "B" side. Zoom in to investigate further. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step007.md b/config/default/common/config/metadata/stories/flood-product/step007.md index 4d7e7da26c..29dd2eadab 100644 --- a/config/default/common/config/metadata/stories/flood-product/step007.md +++ b/config/default/common/config/metadata/stories/flood-product/step007.md @@ -1 +1 @@ -Here we compare the flooded area with a population density layer. The left "A" side shows the flooded areas in red and the right "B" side shows estimated population density for 2020. Move the center swipe bar left and right to see how the floodwaters correspond to many of the highly populated areas, shown in shades of red. \ No newline at end of file +Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how clouds initially obscured much of the flooding. Clouds are represented by grey "insufficient data" pixels. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step008.md b/config/default/common/config/metadata/stories/flood-product/step008.md new file mode 100644 index 0000000000..4d7e7da26c --- /dev/null +++ b/config/default/common/config/metadata/stories/flood-product/step008.md @@ -0,0 +1 @@ +Here we compare the flooded area with a population density layer. The left "A" side shows the flooded areas in red and the right "B" side shows estimated population density for 2020. Move the center swipe bar left and right to see how the floodwaters correspond to many of the highly populated areas, shown in shades of red. \ No newline at end of file diff --git a/config/default/common/config/wv.json/stories/default/flood-product.json b/config/default/common/config/wv.json/stories/default/flood-product.json index bfdd0844e2..7aed6c63cb 100644 --- a/config/default/common/config/wv.json/stories/default/flood-product.json +++ b/config/default/common/config/wv.json/stories/default/flood-product.json @@ -43,7 +43,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-09-15-T18%3A30%3A17Z" + "stepLink": "v=102.16593272929055,10.10728729936275,107.78896502357696,12.97203925520926&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(disabled=2),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-02-T00%3A00%3A00Z" }, { "id": "004", @@ -52,7 +52,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.779178047891534,21.701433352920994,77.82186026681889,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=true&cv=52&t=2022-06-25-T18%3A30%3A17Z&t1=2022-09-20-T18%3A30%3A17Z" + "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-09-15-T18%3A30%3A17Z" }, { "id": "005", @@ -61,7 +61,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=false&cv=51&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" + "stepLink": "v=58.779178047891534,21.701433352920994,77.82186026681889,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=true&cv=52&t=2022-06-25-T18%3A30%3A17Z&t1=2022-09-20-T18%3A30%3A17Z" }, { "id": "006", @@ -70,7 +70,7 @@ "element": "", "action": "" }, - "stepLink": "v=61.71613960772586,23.044505479021936,75.515990714223,29.955377503269844&as=2022-08-01-T00%3A00%3A00Z&ae=2022-09-16-T00%3A00%3A00Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&ab=on&t=2022-08-01-T08%3A00%3A00Z" + "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=false&cv=51&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" }, { "id": "007", @@ -79,6 +79,15 @@ "element": "", "action": "" }, + "stepLink": "v=61.71613960772586,23.044505479021936,75.515990714223,29.955377503269844&as=2022-08-01-T00%3A00%3A00Z&ae=2022-09-16-T00%3A00%3A00Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&ab=on&t=2022-08-01-T08%3A00%3A00Z" + }, + { + "id": "008", + "description": "step008.html", + "transition": { + "element": "", + "action": "" + }, "stepLink": "v=61.8346249056256,22.132606181066876,75.39750541632326,30.867276801224904&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,MODIS_Combined_Flood_3-Day(hidden,disabled=0-2),MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=true&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" } ] From 19695dc1f3c0aa503bbcd989edcb671557e15dc3 Mon Sep 17 00:00:00 2001 From: minniewong Date: Mon, 5 Dec 2022 15:29:26 -0500 Subject: [PATCH 14/42] Update step005.md --- .../common/config/metadata/stories/flood-product/step005.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default/common/config/metadata/stories/flood-product/step005.md b/config/default/common/config/metadata/stories/flood-product/step005.md index 8763b40f26..4132e3db26 100644 --- a/config/default/common/config/metadata/stories/flood-product/step005.md +++ b/config/default/common/config/metadata/stories/flood-product/step005.md @@ -1 +1 @@ -The 3-Day window Flood product on the left "A" side shows the floodwaters in red, and normal water in cyan. Swipe the center bar back and forth to compare the flood detections to the false-color image on the right "B" side. Zoom in to investigate further. \ No newline at end of file +Here we compare imagery from June and September 2022. The left "A" side displays imagery from 25 June, and the right "B' side shows imagery from 20 September. Much more water is clearly present in September, due to flooding (as well as seasonally greener vegetation). \ No newline at end of file From 0b15feccef1ba6d7ea65b80ce0b87b658e187bf4 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Mon, 5 Dec 2022 17:12:55 -0500 Subject: [PATCH 15/42] updating with changes from wv-2497-granule-count branch (#4036) --- .../layer/settings/granule-count-slider.js | 103 +++++++++++------- .../layer/settings/granule-date-list.js | 7 +- .../layer/settings/layer-settings.js | 4 +- web/js/modules/layers/actions.js | 24 ++-- web/js/modules/layers/reducers.js | 1 + web/js/modules/layers/selectors.js | 11 ++ 6 files changed, 96 insertions(+), 54 deletions(-) diff --git a/web/js/components/layer/settings/granule-count-slider.js b/web/js/components/layer/settings/granule-count-slider.js index d58e348cc0..48a074243d 100644 --- a/web/js/components/layer/settings/granule-count-slider.js +++ b/web/js/components/layer/settings/granule-count-slider.js @@ -1,50 +1,59 @@ -import React from 'react'; +import React, { useState } from 'react'; import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; import Slider from 'rc-slider'; import lodashDebounce from 'lodash/debounce'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { UncontrolledTooltip } from 'reactstrap'; import { DEFAULT_NUM_GRANULES, MIN_GRANULES, MAX_GRANULES } from '../../../modules/layers/constants'; -class GranuleCountSlider extends React.Component { - constructor(props) { - super(props); - this.state = { - value: props.count, - }; - this.onChange = this.onChange.bind(this); - this.debounceOnchange = lodashDebounce(this.onChange, 300); - } - - onChange(val) { - const { - def, - updateGranuleLayerOptions, - granuleDates, - } = this.props; - updateGranuleLayerOptions(granuleDates, def.id, val); - } - - render() { - const { count } = this.props; - const { value } = this.state; - return ( -
+const GranuleCountSlider = (props) => { + const { + count, + def, + granuleDates, + granulePlatform, + updateGranuleLayerOptions, + } = props; + + const [granuleCount, setGranuleCount] = useState(count); + + const onChange = (val) => { + updateGranuleLayerOptions(granuleDates, def, val); + }; + const debounceOnchange = lodashDebounce(onChange, 300); + + const satelliteInfo = `Updating granule count for all granules layers associated with the ${granulePlatform} satellite.`; + + return ( +
+

Granule Count

- { - this.setState({ value: val }); - this.debounceOnchange(val); - }} - /> -
- {value} -
+ + + {satelliteInfo} + +
+ + { + setGranuleCount(val); + debounceOnchange(val); + }} + /> +
+ {granuleCount}
- ); - } -} +
+ ); +}; + GranuleCountSlider.defaultProps = { count: DEFAULT_NUM_GRANULES, }; @@ -52,7 +61,19 @@ GranuleCountSlider.propTypes = { granuleDates: PropTypes.array, def: PropTypes.object, count: PropTypes.number, + granulePlatform: PropTypes.string, updateGranuleLayerOptions: PropTypes.func, }; -export default GranuleCountSlider; +const mapStateToProps = (state) => { + const { layers } = state; + const { granulePlatform } = layers.active; + + return { + granulePlatform, + }; +}; + +export default connect( + mapStateToProps, +)(GranuleCountSlider); diff --git a/web/js/components/layer/settings/granule-date-list.js b/web/js/components/layer/settings/granule-date-list.js index 8fe8204a20..ba93e92416 100644 --- a/web/js/components/layer/settings/granule-date-list.js +++ b/web/js/components/layer/settings/granule-date-list.js @@ -82,7 +82,7 @@ class GranuleDateList extends PureComponent { result.source.index, result.destination.index, ); - updateGranuleLayerOptions(reorderedItems, def.id, granuleCount); + updateGranuleLayerOptions(reorderedItems, def, granuleCount); this.setState({ lastMovedItem: result.draggableId, // granule date }); @@ -90,13 +90,14 @@ class GranuleDateList extends PureComponent { // move granule item to top of list moveUp = (e, sourceIndex, granuleDate) => { + console.log('uhh'); e.preventDefault(); const { updateGranuleLayerOptions, granuleCount, def } = this.props; const reorderedItems = this.reorderItems( sourceIndex, sourceIndex - 1, ); - updateGranuleLayerOptions(reorderedItems, def.id, granuleCount); + updateGranuleLayerOptions(reorderedItems, def, granuleCount); this.setState({ lastMovedItem: granuleDate, }); @@ -110,7 +111,7 @@ class GranuleDateList extends PureComponent { sourceIndex, sourceIndex + 1, ); - updateGranuleLayerOptions(reorderedItems, def.id, granuleCount); + updateGranuleLayerOptions(reorderedItems, def, granuleCount); this.setState({ lastMovedItem: granuleDate, }); diff --git a/web/js/components/layer/settings/layer-settings.js b/web/js/components/layer/settings/layer-settings.js index 98e2584bfc..317edc51ec 100644 --- a/web/js/components/layer/settings/layer-settings.js +++ b/web/js/components/layer/settings/layer-settings.js @@ -438,8 +438,8 @@ const mapDispatchToProps = (dispatch) => ({ setOpacity: (id, opacity) => { dispatch(setOpacity(id, opacity)); }, - updateGranuleLayerOptions: (dates, id, count) => { - dispatch(updateGranuleLayerOptions(dates, id, count)); + updateGranuleLayerOptions: (dates, def, count) => { + dispatch(updateGranuleLayerOptions(dates, def, count)); }, resetGranuleLayerDates: (id) => { dispatch(resetGranuleLayerDates(id)); diff --git a/web/js/modules/layers/actions.js b/web/js/modules/layers/actions.js index 97f0e8c1fe..82743003da 100644 --- a/web/js/modules/layers/actions.js +++ b/web/js/modules/layers/actions.js @@ -10,6 +10,7 @@ import { activateLayersForEventCategory as activateLayersForEventCategorySelector, findEventLayers, getGranuleLayer, + getGranuleLayersOfActivePlatform, getActiveGranuleLayers, } from './selectors'; import { @@ -343,16 +344,23 @@ function addGranuleLayerDates(layer, granuleFootprints, granulePlatform) { }; } -export function updateGranuleLayerOptions(dates, id, count) { +export function updateGranuleLayerOptions(dates, def, count) { return (dispatch, getState) => { - const { compare: { activeString } } = getState(); + const state = getState(); + const { activeString } = state.compare; - dispatch({ - type: UPDATE_GRANULE_LAYER_OPTIONS, - id, - activeKey: activeString, - dates, - count, + const granulePlatform = def.subtitle; + const activeGranuleLayers = getActiveGranuleLayers(state); + const platformLayers = getGranuleLayersOfActivePlatform(granulePlatform, activeGranuleLayers); + + platformLayers.forEach((layer) => { + dispatch({ + type: UPDATE_GRANULE_LAYER_OPTIONS, + id: layer, + activeKey: activeString, + dates, + count, + }); }); }; } diff --git a/web/js/modules/layers/reducers.js b/web/js/modules/layers/reducers.js index c8946c95dc..2dd03ea5a0 100644 --- a/web/js/modules/layers/reducers.js +++ b/web/js/modules/layers/reducers.js @@ -274,6 +274,7 @@ export function layerReducer(state = initialState, action) { dates, count, granuleFootprints, + granulePlatform, }, }, }, diff --git a/web/js/modules/layers/selectors.js b/web/js/modules/layers/selectors.js index 21fe789fb6..ea526739a7 100644 --- a/web/js/modules/layers/selectors.js +++ b/web/js/modules/layers/selectors.js @@ -90,6 +90,17 @@ export const getGranulePlatform = (state, activeString) => { return granulePlatform; }; +export const getGranuleLayersOfActivePlatform = (platform, activeLayers) => { + const activeLayersArray = Object.entries(activeLayers); + const platformLayers = []; + activeLayersArray.forEach(([key, value]) => { + if (value.granulePlatform === platform) { + platformLayers.push(key); + } + }); + return platformLayers; +}; + /** * Return an array of overlay groups for the currently active compare state * that are available for the currently active projection From ad3197829c553f9f6fb75abad9be1700285ffcff Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 7 Dec 2022 10:19:23 -0500 Subject: [PATCH 16/42] minor text updates --- .../common/config/metadata/stories/flood-product/step001.md | 2 +- .../common/config/metadata/stories/flood-product/step002.md | 2 +- .../common/config/metadata/stories/flood-product/step003.md | 2 +- .../metadata/stories/hurricane_maria_september_2017/step003.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/default/common/config/metadata/stories/flood-product/step001.md b/config/default/common/config/metadata/stories/flood-product/step001.md index f6249c8b8b..cfb965c829 100644 --- a/config/default/common/config/metadata/stories/flood-product/step001.md +++ b/config/default/common/config/metadata/stories/flood-product/step001.md @@ -1 +1 @@ -The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of optically observed flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. \ No newline at end of file +The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of optically observed flooding (the product cannot detect water under persistent cloud cover). It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md index 25b6119679..2792a174c6 100644 --- a/config/default/common/config/metadata/stories/flood-product/step002.md +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -1 +1 @@ -In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water (detected in the composite), and pixels in grey are areas of insufficient data (usually due to cloud cover). \ No newline at end of file +In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water (detected in the composite), and pixels in grey are areas of insufficient data over the composite period (usually due to cloud cover). \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step003.md b/config/default/common/config/metadata/stories/flood-product/step003.md index 21cab3484d..529b408ccc 100644 --- a/config/default/common/config/metadata/stories/flood-product/step003.md +++ b/config/default/common/config/metadata/stories/flood-product/step003.md @@ -1 +1 @@ -Here we have disabled the grey "Insufficient Data" pixels to have a better view of the flood and water pixels. To enable or disable each of the three categories, click on the "Layer Options" icon on the right side of the layer. Alternatively, you can also adjust the opacity of the layer so you can more easily compare the flood layer with the false-color image underneath. \ No newline at end of file +Here we have disabled the grey "Insufficient Data" pixels to have a better view of the flood and water pixels. To enable or disable each of the three categories, click on the "View Options" icon on the right side of the layer. Alternatively, you can also adjust the opacity of the layer so you can more easily compare the flood layer with the false-color image underneath. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hurricane_maria_september_2017/step003.md b/config/default/common/config/metadata/stories/hurricane_maria_september_2017/step003.md index a5d31c3aeb..d9de6d2a42 100644 --- a/config/default/common/config/metadata/stories/hurricane_maria_september_2017/step003.md +++ b/config/default/common/config/metadata/stories/hurricane_maria_september_2017/step003.md @@ -1 +1 @@ -Here we've added the Precipitation Rate layer to show the rain rates associated with the storm. You can change the opacity of this layer so that you can still see the imagery underneath. You can also change the color palette by clicking on the "Layer Options" icon. +Here we've added the Precipitation Rate layer to show the rain rates associated with the storm. You can change the opacity of this layer so that you can still see the imagery underneath. You can also change the color palette by clicking on the "View Options" icon. From 2791cf9c37ffcfd05e44896f6f5eb3df86b88675 Mon Sep 17 00:00:00 2001 From: minniewong Date: Wed, 7 Dec 2022 14:16:03 -0500 Subject: [PATCH 17/42] final text updates --- .../common/config/metadata/stories/flood-product/step002.md | 2 +- .../common/config/metadata/stories/flood-product/step007.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md index 2792a174c6..7d2db5cf0e 100644 --- a/config/default/common/config/metadata/stories/flood-product/step002.md +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -1 +1 @@ -In Worldview, the Flood Product is available for 2 compositing periods: 2-Day Window, and 3-Day Window. For each composite, water detections for all observations (Terra and Aqua) over the compositing period (2, or 3 days) are accumulated, and if the total exceeds the required threshold (2, and 3 observations, respectively), the pixel is marked as water (red). Pixels in blue are exisitng surface water (detected in the composite), and pixels in grey are areas of insufficient data over the composite period (usually due to cloud cover). \ No newline at end of file +The Flood Product is generated for two compositing periods (2-Day and 3-Day), to help minimize the impact of clouds: surface obscuration and cloud-shadow false-positives (shadows often "look" like water to the algorithm). For each composite, if the total number of water detections (from all Terra and Aqua observations) exceed the required threshold (2, and 3 observations, respectively), the pixel is marked as surface water (cyan). If it also occurs where water is not expected, it is marked as flood (red). Grey pixels indicate insufficient clear data over the composite period (typically due to cloud cover). \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step007.md b/config/default/common/config/metadata/stories/flood-product/step007.md index 29dd2eadab..b2458c2eb2 100644 --- a/config/default/common/config/metadata/stories/flood-product/step007.md +++ b/config/default/common/config/metadata/stories/flood-product/step007.md @@ -1 +1 @@ -Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how clouds initially obscured much of the flooding. Clouds are represented by grey "insufficient data" pixels. \ No newline at end of file +Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how clouds initially obscured much of the flooding. Excessive clouds are represented by grey "insufficient data" pixels. \ No newline at end of file From 0cde8819f741932d789b11019e0ae50e252f609b Mon Sep 17 00:00:00 2001 From: minniewong Date: Thu, 8 Dec 2022 10:25:45 -0500 Subject: [PATCH 18/42] added new tour step and fixed text --- .../metadata/stories/flood-product/step001.md | 2 +- .../metadata/stories/flood-product/step002.md | 2 +- .../metadata/stories/flood-product/step003.md | 2 +- .../metadata/stories/flood-product/step004.md | 2 +- .../metadata/stories/flood-product/step005.md | 2 +- .../metadata/stories/flood-product/step006.md | 2 +- .../metadata/stories/flood-product/step007.md | 2 +- .../metadata/stories/flood-product/step008.md | 2 +- .../metadata/stories/flood-product/step009.md | 1 + .../wv.json/stories/default/flood-product.json | 17 +++++++++++++---- 10 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 config/default/common/config/metadata/stories/flood-product/step009.md diff --git a/config/default/common/config/metadata/stories/flood-product/step001.md b/config/default/common/config/metadata/stories/flood-product/step001.md index cfb965c829..4dd9b582d4 100644 --- a/config/default/common/config/metadata/stories/flood-product/step001.md +++ b/config/default/common/config/metadata/stories/flood-product/step001.md @@ -1 +1 @@ -The MODIS Near Real-Time (NRT) Global Flood Product (MCDWD) provides a daily global map of optically observed flooding (the product cannot detect water under persistent cloud cover). It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. \ No newline at end of file +The MODIS Near Real-Time (NRT) Global Flood Product ([MCDWD](https://www.earthdata.nasa.gov/learn/find-data/near-real-time/modis-nrt-global-flood-product)) provides a daily global map of optically observed flooding. It is derived from the NRT MODIS Surface Reflectance (MOD09) datasets from both the Terra and Aqua satellites. Note that this product cannot detect water under persistent cloud cover. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md index 7d2db5cf0e..67c81379ab 100644 --- a/config/default/common/config/metadata/stories/flood-product/step002.md +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -1 +1 @@ -The Flood Product is generated for two compositing periods (2-Day and 3-Day), to help minimize the impact of clouds: surface obscuration and cloud-shadow false-positives (shadows often "look" like water to the algorithm). For each composite, if the total number of water detections (from all Terra and Aqua observations) exceed the required threshold (2, and 3 observations, respectively), the pixel is marked as surface water (cyan). If it also occurs where water is not expected, it is marked as flood (red). Grey pixels indicate insufficient clear data over the composite period (typically due to cloud cover). \ No newline at end of file +The Flood Product is generated for two compositing periods (2-Day and 3-Day), to help minimize the impact of clouds: surface obscuration and cloud-shadow false-positives as shadows often "look" like water to the algorithm. For each composite, if the total number of water detections from all Terra and Aqua observations exceed the required threshold (2, and 3 observations, respectively), the pixel is marked as surface water (cyan). If it also occurs where water is not expected, it is marked as flood (red). Grey pixels indicate insufficient clear data over the compositing period which is typically due to cloud cover. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step003.md b/config/default/common/config/metadata/stories/flood-product/step003.md index 529b408ccc..940a382233 100644 --- a/config/default/common/config/metadata/stories/flood-product/step003.md +++ b/config/default/common/config/metadata/stories/flood-product/step003.md @@ -1 +1 @@ -Here we have disabled the grey "Insufficient Data" pixels to have a better view of the flood and water pixels. To enable or disable each of the three categories, click on the "View Options" icon on the right side of the layer. Alternatively, you can also adjust the opacity of the layer so you can more easily compare the flood layer with the false-color image underneath. \ No newline at end of file +Here we have disabled the grey "insufficient data" pixels to have a better view of the flood and water pixels. To enable or disable each of the three categories, click on the "View Options" icon on the right side of the layer. Alternatively, you can also adjust the opacity of the layer so you can more easily compare the flood layer with the false-color image underneath. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step004.md b/config/default/common/config/metadata/stories/flood-product/step004.md index e8f60186d5..15b402a3b0 100644 --- a/config/default/common/config/metadata/stories/flood-product/step004.md +++ b/config/default/common/config/metadata/stories/flood-product/step004.md @@ -1 +1 @@ -Heavy monsoon rains starting in June 2022 contributed to rising floodwaters in Pakistan. This false-color corrected reflectance image (Bands 7,2,1) from the MODIS instrument aboard the Terra satellite on 15 September 2022 illustrates the flood waters in dark blue. \ No newline at end of file +The best composite for a given flood event will depend on the available data (and its cloudiness) during the event, which can be evaluated directly in Worldview. In this example, the 3-day product on the right "B" side, shows lots of data gaps in an ephemeral lake, including a linear cutoff of its eastern portion, but the 2-day, on the left "A" side, shows a more realistic picture. The Terra and Aqua imagery provide an explanation: along with clouds, there is a swath gap impacting both Terra and Aqua at this location, for this date. Turn on and off the Aqua Corrected Reflectance layer to also see how the swath gap aligns with the sharp linear cutoff on the 3-day image. diff --git a/config/default/common/config/metadata/stories/flood-product/step005.md b/config/default/common/config/metadata/stories/flood-product/step005.md index 4132e3db26..e8f60186d5 100644 --- a/config/default/common/config/metadata/stories/flood-product/step005.md +++ b/config/default/common/config/metadata/stories/flood-product/step005.md @@ -1 +1 @@ -Here we compare imagery from June and September 2022. The left "A" side displays imagery from 25 June, and the right "B' side shows imagery from 20 September. Much more water is clearly present in September, due to flooding (as well as seasonally greener vegetation). \ No newline at end of file +Heavy monsoon rains starting in June 2022 contributed to rising floodwaters in Pakistan. This false-color corrected reflectance image (Bands 7,2,1) from the MODIS instrument aboard the Terra satellite on 15 September 2022 illustrates the flood waters in dark blue. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step006.md b/config/default/common/config/metadata/stories/flood-product/step006.md index 8763b40f26..d718a2fdc2 100644 --- a/config/default/common/config/metadata/stories/flood-product/step006.md +++ b/config/default/common/config/metadata/stories/flood-product/step006.md @@ -1 +1 @@ -The 3-Day window Flood product on the left "A" side shows the floodwaters in red, and normal water in cyan. Swipe the center bar back and forth to compare the flood detections to the false-color image on the right "B" side. Zoom in to investigate further. \ No newline at end of file +Here we compare imagery from June and September 2022. The left "A" side displays imagery from 25 June, and the right "B' side shows imagery from 20 September. Due to flooding, much more water is clearly present in September, as well as seasonally greener vegetation. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step007.md b/config/default/common/config/metadata/stories/flood-product/step007.md index b2458c2eb2..8763b40f26 100644 --- a/config/default/common/config/metadata/stories/flood-product/step007.md +++ b/config/default/common/config/metadata/stories/flood-product/step007.md @@ -1 +1 @@ -Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how clouds initially obscured much of the flooding. Excessive clouds are represented by grey "insufficient data" pixels. \ No newline at end of file +The 3-Day window Flood product on the left "A" side shows the floodwaters in red, and normal water in cyan. Swipe the center bar back and forth to compare the flood detections to the false-color image on the right "B" side. Zoom in to investigate further. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step008.md b/config/default/common/config/metadata/stories/flood-product/step008.md index 4d7e7da26c..b2458c2eb2 100644 --- a/config/default/common/config/metadata/stories/flood-product/step008.md +++ b/config/default/common/config/metadata/stories/flood-product/step008.md @@ -1 +1 @@ -Here we compare the flooded area with a population density layer. The left "A" side shows the flooded areas in red and the right "B" side shows estimated population density for 2020. Move the center swipe bar left and right to see how the floodwaters correspond to many of the highly populated areas, shown in shades of red. \ No newline at end of file +Clouds have a great impact on being able to see the floodwaters. Press "Play" to watch this animation from 1 August to 16 September 2022 showing how clouds initially obscured much of the flooding. Excessive clouds are represented by grey "insufficient data" pixels. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step009.md b/config/default/common/config/metadata/stories/flood-product/step009.md new file mode 100644 index 0000000000..57a6f0659b --- /dev/null +++ b/config/default/common/config/metadata/stories/flood-product/step009.md @@ -0,0 +1 @@ +Let's compare the flooded area with a population density layer. The left "A" side shows the flooded areas in red and the right "B" side shows estimated population density for 2020. Move the center swipe bar left and right to see how the floodwaters correspond to many of the highly populated areas, shown in shades of red. \ No newline at end of file diff --git a/config/default/common/config/wv.json/stories/default/flood-product.json b/config/default/common/config/wv.json/stories/default/flood-product.json index 7aed6c63cb..13a3ded89b 100644 --- a/config/default/common/config/wv.json/stories/default/flood-product.json +++ b/config/default/common/config/wv.json/stories/default/flood-product.json @@ -52,7 +52,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-09-15-T18%3A30%3A17Z" + "stepLink": "v=68.25873404045207,22.57063779283085,72.25050789407688,24.570979824390598&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(hidden),MODIS_Combined_Flood_2-Day(disabled=2),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(disabled=2),MODIS_Combined_Flood_2-Day(hidden),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=true&cv=45&t=2022-09-07-T12%3A12%3A05Z&t1=2022-09-07-T12%3A12%3A05Z" }, { "id": "005", @@ -61,7 +61,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.779178047891534,21.701433352920994,77.82186026681889,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=true&cv=52&t=2022-06-25-T18%3A30%3A17Z&t1=2022-09-20-T18%3A30%3A17Z" + "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-09-15-T18%3A30%3A17Z" }, { "id": "006", @@ -70,7 +70,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=false&cv=51&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" + "stepLink": "v=58.779178047891534,21.701433352920994,77.82186026681889,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=true&cv=52&t=2022-06-25-T18%3A30%3A17Z&t1=2022-09-20-T18%3A30%3A17Z" }, { "id": "007", @@ -79,7 +79,7 @@ "element": "", "action": "" }, - "stepLink": "v=61.71613960772586,23.044505479021936,75.515990714223,29.955377503269844&as=2022-08-01-T00%3A00%3A00Z&ae=2022-09-16-T00%3A00%3A00Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&ab=on&t=2022-08-01-T08%3A00%3A00Z" + "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=false&cv=51&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" }, { "id": "008", @@ -88,6 +88,15 @@ "element": "", "action": "" }, + "stepLink": "v=61.71613960772586,23.044505479021936,75.515990714223,29.955377503269844&as=2022-08-01-T00%3A00%3A00Z&ae=2022-09-16-T00%3A00%3A00Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&ab=on&t=2022-08-01-T08%3A00%3A00Z" + }, + { + "id": "009", + "description": "step009.html", + "transition": { + "element": "", + "action": "" + }, "stepLink": "v=61.8346249056256,22.132606181066876,75.39750541632326,30.867276801224904&l=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m,Reference_Features_15m,Coastlines_15m,MODIS_Combined_Flood_3-Day(hidden,disabled=0-2),MODIS_Combined_Flood_2-Day(hidden),GPW_Population_Density_2020,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=true&t=2022-09-20-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" } ] From 102d6ea0fccbe3b075b30beef6ed57ebbe51bc84 Mon Sep 17 00:00:00 2001 From: minniewong Date: Fri, 9 Dec 2022 15:17:42 -0500 Subject: [PATCH 19/42] more step updates --- .../config/metadata/stories/flood-product/step002.md | 2 +- .../config/metadata/stories/flood-product/step003.md | 2 +- .../config/metadata/stories/flood-product/step004.md | 2 +- .../config/metadata/stories/flood-product/step007.md | 2 +- .../config/wv.json/stories/default/flood-product.json | 10 +++++----- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/config/default/common/config/metadata/stories/flood-product/step002.md b/config/default/common/config/metadata/stories/flood-product/step002.md index 67c81379ab..5bb6e0e943 100644 --- a/config/default/common/config/metadata/stories/flood-product/step002.md +++ b/config/default/common/config/metadata/stories/flood-product/step002.md @@ -1 +1 @@ -The Flood Product is generated for two compositing periods (2-Day and 3-Day), to help minimize the impact of clouds: surface obscuration and cloud-shadow false-positives as shadows often "look" like water to the algorithm. For each composite, if the total number of water detections from all Terra and Aqua observations exceed the required threshold (2, and 3 observations, respectively), the pixel is marked as surface water (cyan). If it also occurs where water is not expected, it is marked as flood (red). Grey pixels indicate insufficient clear data over the compositing period which is typically due to cloud cover. \ No newline at end of file +The Flood Product is generated for two compositing periods (2-Day and 3-Day) to help minimize the impact of clouds. Clouds both block the view, leading to false-negatives; and their shadows often look like water, leading to false-positives. Compositing over multiple days (2 or 3) and requiring more than one water detection helps minimize these issues. The 2-Day product requires a minimum of two water detections over available observations over 2 days, and the 3-Day requires 3 detections over 3 days. Water matching our reference water layer (MOD44W) is marked as surface water (cyan), and water not matching that is marked as flood (red). Grey pixels indicate insufficient clear data over the compositing period which is typically due to cloud cover. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step003.md b/config/default/common/config/metadata/stories/flood-product/step003.md index 940a382233..a676c8864e 100644 --- a/config/default/common/config/metadata/stories/flood-product/step003.md +++ b/config/default/common/config/metadata/stories/flood-product/step003.md @@ -1 +1 @@ -Here we have disabled the grey "insufficient data" pixels to have a better view of the flood and water pixels. To enable or disable each of the three categories, click on the "View Options" icon on the right side of the layer. Alternatively, you can also adjust the opacity of the layer so you can more easily compare the flood layer with the false-color image underneath. \ No newline at end of file +Choosing the best composite for a given flood event will depend on the available data and its cloudiness during the event. This can be evaluated directly in Worldview along with corresponding imagery. In this example, the 3-Day product on the right "B" side, shows lots of data gaps in an ephemeral lake located in the center of the map, including a linear cutoff of its eastern portion, but the 2-Day product on the left "A" side shows a more realistic picture. The Terra and Aqua imagery provide an explanation: along with clouds, there is a swath gap impacting both Terra and Aqua at this location for this date. Turn on and off the Aqua Corrected Reflectance layer to also see how the swath gap aligns with the sharp linear cutoff on the 3-Day image. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step004.md b/config/default/common/config/metadata/stories/flood-product/step004.md index 15b402a3b0..940a382233 100644 --- a/config/default/common/config/metadata/stories/flood-product/step004.md +++ b/config/default/common/config/metadata/stories/flood-product/step004.md @@ -1 +1 @@ -The best composite for a given flood event will depend on the available data (and its cloudiness) during the event, which can be evaluated directly in Worldview. In this example, the 3-day product on the right "B" side, shows lots of data gaps in an ephemeral lake, including a linear cutoff of its eastern portion, but the 2-day, on the left "A" side, shows a more realistic picture. The Terra and Aqua imagery provide an explanation: along with clouds, there is a swath gap impacting both Terra and Aqua at this location, for this date. Turn on and off the Aqua Corrected Reflectance layer to also see how the swath gap aligns with the sharp linear cutoff on the 3-day image. +Here we have disabled the grey "insufficient data" pixels to have a better view of the flood and water pixels. To enable or disable each of the three categories, click on the "View Options" icon on the right side of the layer. Alternatively, you can also adjust the opacity of the layer so you can more easily compare the flood layer with the false-color image underneath. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/flood-product/step007.md b/config/default/common/config/metadata/stories/flood-product/step007.md index 8763b40f26..adaa32fd13 100644 --- a/config/default/common/config/metadata/stories/flood-product/step007.md +++ b/config/default/common/config/metadata/stories/flood-product/step007.md @@ -1 +1 @@ -The 3-Day window Flood product on the left "A" side shows the floodwaters in red, and normal water in cyan. Swipe the center bar back and forth to compare the flood detections to the false-color image on the right "B" side. Zoom in to investigate further. \ No newline at end of file +The 3-Day Flood Product on the left "A" side shows the floodwaters in red, and normal water in cyan. Swipe the center bar back and forth to compare the flood detections to the false-color image on the right "B" side. Zoom in to investigate further. \ No newline at end of file diff --git a/config/default/common/config/wv.json/stories/default/flood-product.json b/config/default/common/config/wv.json/stories/default/flood-product.json index 13a3ded89b..3bd9234c6f 100644 --- a/config/default/common/config/wv.json/stories/default/flood-product.json +++ b/config/default/common/config/wv.json/stories/default/flood-product.json @@ -25,7 +25,7 @@ "element": "", "action": "" }, - "stepLink": "v=-160.85181369155183,-69.196652033098,152.2108767501309,88.8526811334104&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-15-T18%3A30%3A17Z" + "stepLink": "v=-160.85181369155183,-69.196652033098,152.2108767501309,88.8526811334104&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day,MODIS_Combined_Flood_2-Day(hidden),Land_Water_Map,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-15-T00%3A00%3A00Z" }, { "id": "002", @@ -43,7 +43,7 @@ "element": "", "action": "" }, - "stepLink": "v=102.16593272929055,10.10728729936275,107.78896502357696,12.97203925520926&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(disabled=2),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-02-T00%3A00%3A00Z" + "stepLink": "v=68.25873404045207,22.57063779283085,72.25050789407688,24.570979824390598&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(hidden),MODIS_Combined_Flood_2-Day(disabled=2),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(disabled=2),MODIS_Combined_Flood_2-Day(hidden),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=true&cv=45&t=2022-09-07-T00%3A00%3A00Z&t1=2022-09-07-T00%3A00%3A00Z" }, { "id": "004", @@ -52,7 +52,7 @@ "element": "", "action": "" }, - "stepLink": "v=68.25873404045207,22.57063779283085,72.25050789407688,24.570979824390598&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(hidden),MODIS_Combined_Flood_2-Day(disabled=2),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=true&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_3-Day(disabled=2),MODIS_Combined_Flood_2-Day(hidden),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg1=true&ca=true&cv=45&t=2022-09-07-T12%3A12%3A05Z&t1=2022-09-07-T12%3A12%3A05Z" + "stepLink": "v=102.16593272929055,10.10728729936275,107.78896502357696,12.97203925520926&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(disabled=2),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-02-T00%3A00%3A00Z" }, { "id": "005", @@ -61,7 +61,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-09-15-T18%3A30%3A17Z" + "stepLink": "v=58.94267820873439,21.701433352920994,77.65836010597603,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Combined_Flood_3-Day(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-09-15-T00%3A00%3A00Z" }, { "id": "006", @@ -70,7 +70,7 @@ "element": "", "action": "" }, - "stepLink": "v=58.779178047891534,21.701433352920994,77.82186026681889,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=true&cv=52&t=2022-06-25-T18%3A30%3A17Z&t1=2022-09-20-T18%3A30%3A17Z" + "stepLink": "v=58.779178047891534,21.701433352920994,77.82186026681889,31.237879710046435&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&l1=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,MODIS_Combined_Flood_2-Day(hidden),MODIS_Combined_Flood_3-Day(hidden),MODIS_Terra_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_Bands721,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=true&ca=true&cv=52&t=2022-06-25-T00%3A00%3A00Z&t1=2022-09-20-T00%3A00%3A00Z" }, { "id": "007", From 075dc235780b55cd6eb9292f8c68b5523b710f8f Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Fri, 9 Dec 2022 15:56:43 -0500 Subject: [PATCH 20/42] updating chromedriver (#4046) --- package-lock.json | 122 +++++++++++++++++----------------------------- package.json | 2 +- 2 files changed, 46 insertions(+), 78 deletions(-) diff --git a/package-lock.json b/package-lock.json index b9eefd1aff..4231c0e664 100644 --- a/package-lock.json +++ b/package-lock.json @@ -87,7 +87,7 @@ "browserstack-capabilities": "^0.7.0", "browserstack-local": "^1.4.4", "cheerio": "^1.0.0-rc.2", - "chromedriver": "^106.0.1", + "chromedriver": "^108.0.0", "clean-webpack-plugin": "^4.0.0", "cross-env": "^7.0.2", "css-hot-loader": "^1.4.1", @@ -3822,6 +3822,8 @@ "version": "3.1.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -4367,18 +4369,21 @@ } }, "node_modules/axios": { - "version": "0.27.2", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", + "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", "dev": true, - "license": "MIT", "dependencies": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/axios/node_modules/form-data": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, - "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5651,16 +5656,15 @@ } }, "node_modules/chromedriver": { - "version": "106.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-106.0.1.tgz", - "integrity": "sha512-thaBvbDEPgGocSp4/SBIajQz3G7UQfUqCOHZBp9TVhRJv7c91eZrUGcjeJUaNF4p9CfSjCYNYzs4EVVryqmddA==", + "version": "108.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-108.0.0.tgz", + "integrity": "sha512-/kb0rb0dlC4RfXh2BOT7RV87K6d+It3VV5YXebLzO5a8t2knNffiTE23XPJQCH+l1xmgoW8/sOX/NB9irskvOQ==", "dev": true, "hasInstallScript": true, "dependencies": { "@testim/chrome-version": "^1.1.3", - "axios": "^0.27.2", + "axios": "^1.1.3", "compare-versions": "^5.0.1", - "del": "^6.1.1", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^1.1.0", @@ -5670,7 +5674,7 @@ "chromedriver": "bin/chromedriver" }, "engines": { - "node": ">=10" + "node": ">=14" } }, "node_modules/chromedriver/node_modules/agent-base": { @@ -5819,6 +5823,8 @@ "version": "2.2.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=6" } @@ -7340,28 +7346,6 @@ "node": ">=0.10.0" } }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "dev": true, @@ -9453,7 +9437,9 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.14.9", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "dev": true, "funding": [ { @@ -9461,7 +9447,6 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -11282,15 +11267,6 @@ "node": ">=6" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "1.1.0", "dev": true, @@ -16098,6 +16074,8 @@ "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -26025,6 +26003,8 @@ "aggregate-error": { "version": "3.1.0", "dev": true, + "optional": true, + "peer": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -26392,15 +26372,20 @@ "dev": true }, "axios": { - "version": "0.27.2", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", + "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", "dev": true, "requires": { - "follow-redirects": "^1.14.9", - "form-data": "^4.0.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" }, "dependencies": { "form-data": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, "requires": { "asynckit": "^0.4.0", @@ -27294,15 +27279,14 @@ "version": "1.0.3" }, "chromedriver": { - "version": "106.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-106.0.1.tgz", - "integrity": "sha512-thaBvbDEPgGocSp4/SBIajQz3G7UQfUqCOHZBp9TVhRJv7c91eZrUGcjeJUaNF4p9CfSjCYNYzs4EVVryqmddA==", + "version": "108.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-108.0.0.tgz", + "integrity": "sha512-/kb0rb0dlC4RfXh2BOT7RV87K6d+It3VV5YXebLzO5a8t2knNffiTE23XPJQCH+l1xmgoW8/sOX/NB9irskvOQ==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.3", - "axios": "^0.27.2", + "axios": "^1.1.3", "compare-versions": "^5.0.1", - "del": "^6.1.1", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^1.1.0", @@ -27417,7 +27401,9 @@ }, "clean-stack": { "version": "2.2.0", - "dev": true + "dev": true, + "optional": true, + "peer": true }, "clean-webpack-plugin": { "version": "4.0.0", @@ -28463,22 +28449,6 @@ "isobject": "^3.0.1" } }, - "del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - } - }, "delayed-stream": { "version": "1.0.0", "dev": true @@ -29910,7 +29880,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.9", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "dev": true }, "for-in": { @@ -31102,12 +31074,6 @@ } } }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, "is-plain-obj": { "version": "1.1.0", "dev": true @@ -34421,6 +34387,8 @@ "p-map": { "version": "4.0.0", "dev": true, + "optional": true, + "peer": true, "requires": { "aggregate-error": "^3.0.0" } diff --git a/package.json b/package.json index 327754ce23..a394275ec4 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "browserstack-capabilities": "^0.7.0", "browserstack-local": "^1.4.4", "cheerio": "^1.0.0-rc.2", - "chromedriver": "^106.0.1", + "chromedriver": "^108.0.0", "clean-webpack-plugin": "^4.0.0", "cross-env": "^7.0.2", "css-hot-loader": "^1.4.1", From b3c6336d5ea249707d170adc09a7de39355b3c96 Mon Sep 17 00:00:00 2001 From: minniewong Date: Mon, 5 Dec 2022 17:09:06 -0500 Subject: [PATCH 21/42] Removed 4 GPM/GMI Rain and Snow layers --- .../config/metadata/layers/gpm/GMI_Rain_Rate_Asc.md | 7 ------- .../config/metadata/layers/gpm/GMI_Rain_Rate_Dsc.md | 7 ------- .../config/metadata/layers/gpm/GMI_Snow_Rate_Asc.md | 8 -------- .../config/metadata/layers/gpm/GMI_Snow_Rate_Dsc.md | 7 ------- config/default/common/config/wv.json/layerOrder.json | 4 ---- .../config/wv.json/layers/gpm/GMI_Rain_Rate_Asc.json | 11 ----------- .../config/wv.json/layers/gpm/GMI_Rain_Rate_Dsc.json | 11 ----------- .../config/wv.json/layers/gpm/GMI_Snow_Rate_Asc.json | 11 ----------- .../config/wv.json/layers/gpm/GMI_Snow_Rate_Dsc.json | 11 ----------- .../measurements/Featured - Precipitation.json | 4 ---- .../wv.json/measurements/Precipitation Rate.json | 4 ---- .../config/wv.json/stories/default/geostationary.json | 2 +- 12 files changed, 1 insertion(+), 86 deletions(-) delete mode 100644 config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Asc.md delete mode 100644 config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Dsc.md delete mode 100644 config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Asc.md delete mode 100644 config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Dsc.md delete mode 100644 config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Asc.json delete mode 100644 config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Dsc.json delete mode 100644 config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Asc.json delete mode 100644 config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Dsc.json diff --git a/config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Asc.md b/config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Asc.md deleted file mode 100644 index 6fdad17264..0000000000 --- a/config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Asc.md +++ /dev/null @@ -1,7 +0,0 @@ -The Global Precipitation Measurement (GPM) Microwave Imager (GMI) Rain Rate (Ascending) layer provides the rate at with rain reaches the Earth's surface in millimeters per hour (mm/hr). The Rain Rate layer provides snapshots of individual storms, including tropical cyclones and flood-producing systems. - -The GPM Microwave Imager (GMI) has a total of 13 channels, each observing the Earth at a different frequency (10-183 GHz) or at a different polarization (vertical or horizontal). Each channel measures the natural emission from the Earth's surface, atmospheric gases, and precipitation. GMI sees through the tops of clouds to observe how much and where precipitation occurs. The lower frequency GMI channels respond more directly to rain, while the higher frequency GMI channels respond to the higher-altitude ice precipitation that is often associated with vigorous rain rates near the Earth's surface. - -GMI is an instrument on the satellite known as the Global Precipitation Measurement (GPM) Core Observatory. The parent data product for the Rain Rate layer is the 2AGPROFGMI data product, which is also known as "Level 2A Goddard Profiling algorithm" or as "GPM_2AGPROFGPMGMI". The imagery resolution is 2 km and sensor resolution is approximately 4 km at the equator, and the rain estimates are reported on footprints that are approximately 6 km across. The temporal resolution is daily. - -References: GPM_2AGPROFGPMGMI[ doi:10.5067/GPM/GMI/GPM/GPROF/2A/05](https://doi.org/10.5067/GPM/GMI/GPM/GPROF/2A/05) diff --git a/config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Dsc.md b/config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Dsc.md deleted file mode 100644 index b029e6958d..0000000000 --- a/config/default/common/config/metadata/layers/gpm/GMI_Rain_Rate_Dsc.md +++ /dev/null @@ -1,7 +0,0 @@ -The Global Precipitation Measurement (GPM) Microwave Imager (GMI) Rain Rate (Descending) layer provides the rate at with rain reaches the Earth's surface in millimeters per hour (mm/hr). The Rain Rate layer provides snapshots of individual storms, including tropical cyclones and flood-producing systems. - -The GPM Microwave Imager (GMI) has a total of 13 channels, each observing the Earth at a different frequency (10-183 GHz) or at a different polarization (vertical or horizontal). Each channel measures the natural emission from the Earth's surface, atmospheric gases, and precipitation. GMI sees through the tops of clouds to observe how much and where precipitation occurs. The lower frequency GMI channels respond more directly to rain, while the higher frequency GMI channels respond to the higher-altitude ice precipitation that is often associated with vigorous rain rates near the Earth's surface. - -GMI is an instrument on the satellite known as the Global Precipitation Measurement (GPM) Core Observatory. The parent data product for the Rain Rate layer is the 2AGPROFGMI data product, which is also known as "Level 2A Goddard Profiling algorithm" or as "GPM_2AGPROFGPMGMI". The imagery resolution is 2 km and sensor resolution is approximately 4 km at the equator, and the rain estimates are reported on footprints that are approximately 6 km across. The temporal resolution is daily. - -References: GPM_2AGPROFGPMGMI[ doi:10.5067/GPM/GMI/GPM/GPROF/2A/05](https://doi.org/10.5067/GPM/GMI/GPM/GPROF/2A/05) diff --git a/config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Asc.md b/config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Asc.md deleted file mode 100644 index 90f2b53f2b..0000000000 --- a/config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Asc.md +++ /dev/null @@ -1,8 +0,0 @@ -The Global Precipitation Measurement (GPM) Microwave Imager (GMI) Snow Rate (Ascending) layer provides the rate at with frozen precipitation reaches the Earth's surface in millimeters per hour (mm/hr). The Snow Rate layer provides snapshots of individual storms. - -The GPM Microwave Imager (GMI) has a total of 13 channels, each observing the Earth at a different frequency (10-183 GHz) or at a different polarization (vertical or horizontal). Each channel measures the natural emission from the Earth's surface, atmospheric gases, and precipitation. The GPM Microwave Imager sees through the tops of clouds to observe how much and where precipitation occurs. The highest frequency channels on GMI are designed to detect falling snow and ice. - -GMI is an instrument on the satellite known as the Global Precipitation Measurement (GPM) Core Observatory. The parent data product for the Snow Rate layer is the 2AGPROFGMI data product, which is also known as "Level 2A Goddard Profiling algorithm" or as "GPM_2AGPROFGPMGMI." The imagery resolution is 2 km and sensor resolution is approximately 4 km at the equator, and the rain estimates are reported on footprints that are approximately 6 km across. The temporal resolution is daily. - -References: GPM_2AGPROFGPMGMI[ doi:10.5067/GPM/GMI/GPM/GPROF/2A/05](https://doi.org/10.5067/GPM/GMI/GPM/GPROF/2A/05) - diff --git a/config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Dsc.md b/config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Dsc.md deleted file mode 100644 index 799d725836..0000000000 --- a/config/default/common/config/metadata/layers/gpm/GMI_Snow_Rate_Dsc.md +++ /dev/null @@ -1,7 +0,0 @@ -The Global Precipitation Measurement (GPM) Microwave Imager (GMI) Snow Rate (Descending) layer provides the rate at with frozen precipitation reaches the Earth's surface in millimeters per hour (mm/hr). The Snow Rate layer provides snapshots of individual storms. - -The GPM Microwave Imager (GMI) has a total of 13 channels, each observing the Earth at a different frequency (10-183 GHz) or at a different polarization (vertical or horizontal). Each channel measures the natural emission from the Earth's surface, atmospheric gases, and precipitation. The GPM Microwave Imager sees through the tops of clouds to observe how much and where precipitation occurs. The highest frequency channels on GMI are designed to detect falling snow and ice. - -GMI is an instrument on the satellite known as the Global Precipitation Measurement (GPM) Core Observatory. The parent data product for the Snow Rate layer is the 2AGPROFGMI data product, which is also known as "Level 2A Goddard Profiling algorithm" or as "GPM_2AGPROFGPMGMI." The imagery resolution is 2 km and sensor resolution is approximately 4 km at the equator, and the rain estimates are reported on footprints that are approximately 6 km across. The temporal resolution is daily. - -References: GPM_2AGPROFGPMGMI[ doi:10.5067/GPM/GMI/GPM/GPROF/2A/05](https://doi.org/10.5067/GPM/GMI/GPM/GPROF/2A/05) diff --git a/config/default/common/config/wv.json/layerOrder.json b/config/default/common/config/wv.json/layerOrder.json index ce31c20aa7..1e266edba6 100644 --- a/config/default/common/config/wv.json/layerOrder.json +++ b/config/default/common/config/wv.json/layerOrder.json @@ -343,10 +343,6 @@ "GMI_Brightness_Temp_Dsc", "GMI_Precipitation_Rate_Asc", "GMI_Precipitation_Rate_Dsc", - "GMI_Rain_Rate_Asc", - "GMI_Rain_Rate_Dsc", - "GMI_Snow_Rate_Asc", - "GMI_Snow_Rate_Dsc", "AMSRU2_Cloud_Liquid_Water_Day", "AMSRU2_Cloud_Liquid_Water_Night", "AMSRU2_Columnar_Water_Vapor_Day", diff --git a/config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Asc.json b/config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Asc.json deleted file mode 100644 index 2c4a8ff83e..0000000000 --- a/config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Asc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "layers": { - "GMI_Rain_Rate_Asc": { - "id": "GMI_Rain_Rate_Asc", - "description": "gpm/GMI_Rain_Rate_Asc", - "tags": "precipitation", - "group": "overlays", - "layergroup": "Precipitation Rate" - } - } -} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Dsc.json b/config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Dsc.json deleted file mode 100644 index a5d0da2cee..0000000000 --- a/config/default/common/config/wv.json/layers/gpm/GMI_Rain_Rate_Dsc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "layers": { - "GMI_Rain_Rate_Dsc": { - "id": "GMI_Rain_Rate_Dsc", - "description": "gpm/GMI_Rain_Rate_Dsc", - "tags": "precipitation", - "group": "overlays", - "layergroup": "Precipitation Rate" - } - } -} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Asc.json b/config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Asc.json deleted file mode 100644 index 20d71b7c8b..0000000000 --- a/config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Asc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "layers": { - "GMI_Snow_Rate_Asc": { - "id": "GMI_Snow_Rate_Asc", - "description": "gpm/GMI_Snow_Rate_Asc", - "tags": "precipitation", - "group": "overlays", - "layergroup": "Precipitation Rate" - } - } -} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Dsc.json b/config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Dsc.json deleted file mode 100644 index 4db112587d..0000000000 --- a/config/default/common/config/wv.json/layers/gpm/GMI_Snow_Rate_Dsc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "layers": { - "GMI_Snow_Rate_Dsc": { - "id": "GMI_Snow_Rate_Dsc", - "description": "gpm/GMI_Snow_Rate_Dsc", - "tags": "precipitation", - "group": "overlays", - "layergroup": "Precipitation Rate" - } - } -} \ No newline at end of file diff --git a/config/default/common/config/wv.json/measurements/Featured - Precipitation.json b/config/default/common/config/wv.json/measurements/Featured - Precipitation.json index 36d5b1ef94..5b376cee89 100644 --- a/config/default/common/config/wv.json/measurements/Featured - Precipitation.json +++ b/config/default/common/config/wv.json/measurements/Featured - Precipitation.json @@ -22,10 +22,6 @@ "settings": [ "GMI_Precipitation_Rate_Asc", "GMI_Precipitation_Rate_Dsc", - "GMI_Rain_Rate_Asc", - "GMI_Rain_Rate_Dsc", - "GMI_Snow_Rate_Asc", - "GMI_Snow_Rate_Dsc", "OrbitTracks_GPM_Ascending", "OrbitTracks_GPM_Descending" ] diff --git a/config/default/common/config/wv.json/measurements/Precipitation Rate.json b/config/default/common/config/wv.json/measurements/Precipitation Rate.json index b80b3a16fe..06ea6d6357 100644 --- a/config/default/common/config/wv.json/measurements/Precipitation Rate.json +++ b/config/default/common/config/wv.json/measurements/Precipitation Rate.json @@ -22,10 +22,6 @@ "settings": [ "GMI_Precipitation_Rate_Asc", "GMI_Precipitation_Rate_Dsc", - "GMI_Rain_Rate_Asc", - "GMI_Rain_Rate_Dsc", - "GMI_Snow_Rate_Asc", - "GMI_Snow_Rate_Dsc", "OrbitTracks_GPM_Ascending", "OrbitTracks_GPM_Descending" ] diff --git a/config/default/common/config/wv.json/stories/default/geostationary.json b/config/default/common/config/wv.json/stories/default/geostationary.json index 2fb18dfd42..ded0959e21 100644 --- a/config/default/common/config/wv.json/stories/default/geostationary.json +++ b/config/default/common/config/wv.json/stories/default/geostationary.json @@ -25,7 +25,7 @@ "element": "", "action": "" }, - "stepLink": "v=-251.31057583345864,-94.81270915817784,131.23333740825313,84.85398267894074&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,GMI_Rain_Rate_Asc,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2021-09-30-T00%3A0%3A00Z" + "stepLink": "v=-251.31057583345864,-94.81270915817784,131.23333740825313,84.85398267894074&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m,GMI_Brightness_Temp_Asc,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor,MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2021-09-30-T00%3A0%3A00Z" }, { "id": "002", From bcd30f4c2f96cbffabd35fe39f7d005c621770aa Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Mon, 12 Dec 2022 09:40:28 -0500 Subject: [PATCH 22/42] WV-2520 Removing Granule Fill (no granule layers) (#4042) * removing granule fill * updating chrome driver --- web/js/map/granule/util.js | 45 +++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/web/js/map/granule/util.js b/web/js/map/granule/util.js index e17bdd5264..1285f9a38d 100644 --- a/web/js/map/granule/util.js +++ b/web/js/map/granule/util.js @@ -372,30 +372,26 @@ export const granuleFootprint = (map) => { useSpatialIndex: false, }); - const getVectorLayer = (text, showFill) => { - const fill = showFill ? new OlStyleFill({ color: 'rgb(0, 123, 255, 0.25)' }) : null; - return new OlVectorLayer({ - className: 'granule-map-footprint', - source: vectorSource, - style: [ - new OlStyle({ - fill, - stroke: new OlStyleStroke({ - color: 'rgb(0, 123, 255, 0.65)', - width: 3, - }), - text: new OlText({ - textAlign: 'center', - text, - font: '18px monospace', - fill: new OlStyleFill({ color: 'white' }), - stroke: new OlStyleStroke({ color: 'black', width: 2 }), - overflow: true, - }), + const getVectorLayer = (text) => new OlVectorLayer({ + className: 'granule-map-footprint', + source: vectorSource, + style: [ + new OlStyle({ + stroke: new OlStyleStroke({ + color: 'rgb(0, 123, 255, 0.65)', + width: 3, }), - ], - }); - }; + text: new OlText({ + textAlign: 'center', + text, + font: '18px monospace', + fill: new OlStyleFill({ color: 'white' }), + stroke: new OlStyleStroke({ color: 'black', width: 2 }), + overflow: true, + }), + }), + ], + }); const removeFootprint = () => { currentGranule = {}; @@ -406,8 +402,7 @@ export const granuleFootprint = (map) => { const drawFootprint = (points, date) => { const geometry = new OlGeomPolygon([points]); const featureFootprint = new OlFeature({ geometry }); - const showFill = map.getView().getZoom() < 3; - const newVectorLayer = getVectorLayer(date, showFill); + const newVectorLayer = getVectorLayer(date); vectorSource.addFeature(featureFootprint); vectorLayer = newVectorLayer; map.addLayer(vectorLayer); From a43ed57c30569c76561104e83072694cfbda3c91 Mon Sep 17 00:00:00 2001 From: ZachTRice Date: Fri, 9 Dec 2022 12:39:13 -0500 Subject: [PATCH 23/42] Fix npm audit warnings --- package-lock.json | 125 ++++++++--------------- package.json | 1 - web/js/components/map/ol-measure-tool.js | 1 - web/js/components/measure-tool/util.js | 14 --- 4 files changed, 40 insertions(+), 101 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4231c0e664..fdf2f66010 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,6 @@ "regenerator-runtime": "^0.13.3", "reselect": "^4.0.0", "rgbcolor": "^0.0.4", - "shp-write": "^0.3.2", "simplebar-react": "^2.1.0", "stackblur": "^1.0.0", "supercluster": "7.0.0", @@ -6590,9 +6589,10 @@ } }, "node_modules/css-hot-loader/node_modules/loader-utils": { - "version": "1.4.0", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -6644,9 +6644,10 @@ } }, "node_modules/css-loader/node_modules/loader-utils": { - "version": "1.4.0", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -7091,13 +7092,6 @@ "version": "1.30.1", "license": "MIT" }, - "node_modules/dbf": { - "version": "0.1.4", - "license": "BSD-2-Clause", - "dependencies": { - "jdataview": "~2.5.0" - } - }, "node_modules/debug": { "version": "4.3.4", "dev": true, @@ -7148,9 +7142,10 @@ "license": "MIT" }, "node_modules/decode-uri-component": { - "version": "0.2.0", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10" } @@ -11632,9 +11627,6 @@ "node": ">=8" } }, - "node_modules/jdataview": { - "version": "2.5.0" - }, "node_modules/jest": { "version": "26.6.3", "dev": true, @@ -13351,16 +13343,17 @@ } }, "node_modules/jszip": { - "version": "2.5.0", - "license": "MIT or GPLv3", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, "dependencies": { - "pako": "~0.2.5" + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" } }, - "node_modules/jszip/node_modules/pako": { - "version": "0.2.9", - "license": "MIT" - }, "node_modules/kdbush": { "version": "3.0.0", "license": "ISC" @@ -13501,9 +13494,10 @@ } }, "node_modules/loader-utils": { - "version": "2.0.2", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -19498,18 +19492,6 @@ "node": ">= 10.15.0" } }, - "node_modules/selenium-webdriver/node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dev": true, - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, "node_modules/selenium-webdriver/node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -20012,14 +19994,6 @@ "decamelize": "^1.2.0" } }, - "node_modules/shp-write": { - "version": "0.3.2", - "license": "BSD-2-Clause", - "dependencies": { - "dbf": "0.1.4", - "jszip": "2.5.0" - } - }, "node_modules/side-channel": { "version": "1.0.4", "license": "MIT", @@ -27947,7 +27921,9 @@ } }, "loader-utils": { - "version": "1.4.0", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -27984,7 +27960,9 @@ } }, "loader-utils": { - "version": "1.4.0", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -28281,12 +28259,6 @@ "date-fns": { "version": "1.30.1" }, - "dbf": { - "version": "0.1.4", - "requires": { - "jdataview": "~2.5.0" - } - }, "debug": { "version": "4.3.4", "dev": true, @@ -28317,7 +28289,9 @@ "dev": true }, "decode-uri-component": { - "version": "0.2.0", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true }, "decompress-response": { @@ -31311,9 +31285,6 @@ } } }, - "jdataview": { - "version": "2.5.0" - }, "jest": { "version": "26.6.3", "dev": true, @@ -32443,14 +32414,15 @@ } }, "jszip": { - "version": "2.5.0", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dev": true, "requires": { - "pako": "~0.2.5" - }, - "dependencies": { - "pako": { - "version": "0.2.9" - } + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" } }, "kdbush": { @@ -32554,7 +32526,9 @@ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" }, "loader-utils": { - "version": "2.0.2", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -36666,18 +36640,6 @@ "ws": ">=8.7.0" }, "dependencies": { - "jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -37033,13 +36995,6 @@ } } }, - "shp-write": { - "version": "0.3.2", - "requires": { - "dbf": "0.1.4", - "jszip": "2.5.0" - } - }, "side-channel": { "version": "1.0.4", "requires": { diff --git a/package.json b/package.json index a394275ec4..ba2f44038a 100644 --- a/package.json +++ b/package.json @@ -216,7 +216,6 @@ "regenerator-runtime": "^0.13.3", "reselect": "^4.0.0", "rgbcolor": "^0.0.4", - "shp-write": "^0.3.2", "simplebar-react": "^2.1.0", "stackblur": "^1.0.0", "supercluster": "7.0.0", diff --git a/web/js/components/map/ol-measure-tool.js b/web/js/components/map/ol-measure-tool.js index 7e793e6241..d5daa696ed 100644 --- a/web/js/components/map/ol-measure-tool.js +++ b/web/js/components/map/ol-measure-tool.js @@ -102,7 +102,6 @@ function OlMeasureTool (props) { }, [projections]); useEffect(() => { - // const dlShapeFiles = () => downloadShapefiles(allMeasurements[crs], crs); const dlGeoJSON = () => downloadGeoJSON(allMeasurements[crs], crs); if (map && map.rendered) { diff --git a/web/js/components/measure-tool/util.js b/web/js/components/measure-tool/util.js index d8a4ce90d4..ebc251fa75 100644 --- a/web/js/components/measure-tool/util.js +++ b/web/js/components/measure-tool/util.js @@ -3,7 +3,6 @@ import { Polygon as OlGeomPolygon, } from 'ol/geom'; import geographiclib from 'geographiclib'; -import shpWrite from 'shp-write'; import FileSaver from 'file-saver'; import { CRS } from '../../modules/map/constants'; @@ -153,19 +152,6 @@ function getFeatureJSON(measurements, crs) { }; } -export function downloadShapefiles(measurements, crs) { - // Set names for feature types and zipped folder - const options = { - folder: 'worldviewMeasurements', - types: { - polygon: 'areaMeasurements', - polyline: 'distanceMeasurements', - }, - }; - const json = getFeatureJSON(measurements, crs); - shpWrite.download(json, options); -} - export function downloadGeoJSON(measurements, crs) { const data = JSON.stringify(getFeatureJSON(measurements, crs), undefined, 2); const fileName = 'worldviewMeasurements.json'; From c4a4211a90b10cc455e0c4bfb13312e0ebee9018 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Tue, 13 Dec 2022 11:46:05 -0500 Subject: [PATCH 24/42] implementing mobile animation widget updates (#4038) --- web/js/containers/animation-widget.js | 104 ++++++++++++++------------ web/scss/features/anim-widget.scss | 33 +++++++- 2 files changed, 84 insertions(+), 53 deletions(-) diff --git a/web/js/containers/animation-widget.js b/web/js/containers/animation-widget.js index 18d0e0946f..5f4065d1f9 100644 --- a/web/js/containers/animation-widget.js +++ b/web/js/containers/animation-widget.js @@ -420,60 +420,66 @@ class AnimationWidget extends React.Component { id="wv-animation-widget" className={`wv-animation-widget${subDailyMode ? ' subdaily' : ''}`} > -
- -
- - Loop - - -
- -
- -
+
+
+ +
+ + Loop + + +
-
-
- this.setState({ speed: num })} - handle={RangeHandle} - onAfterChange={() => { onSlide(speed); }} - disabled={isPlaying} +
+ - {sliderLabel}
-
-
- Start Date - -
+
+
+ this.setState({ speed: num })} + handle={RangeHandle} + onAfterChange={() => { onSlide(speed); }} + disabled={isPlaying} + /> + {sliderLabel} +
+
-
- End Date - +
+
+ Start Date + +
+
+ +
+
+ End Date + +
+
diff --git a/web/scss/features/anim-widget.scss b/web/scss/features/anim-widget.scss index 5690e45b5c..5ef07264ea 100644 --- a/web/scss/features/anim-widget.scss +++ b/web/scss/features/anim-widget.scss @@ -417,6 +417,7 @@ a .wv-animation-widget-icon { height: 100%; box-sizing: border-box; bottom: 0; + background-color: $wv-solid-black; & .mobile-animation-header { padding: 0 20px 0 10px; @@ -483,9 +484,16 @@ a .wv-animation-widget-icon { margin-top: 10px; } + & .mobile-animation-flex-container { + display: flex; + justify-content: center; + height: 85%; + margin: 0; + } + & .mobile-animation-widget-container { margin: 0; - width: 98%; + width: 80%; height: 80%; display: grid; grid-template-columns: repeat(2, 1fr); @@ -495,7 +503,6 @@ a .wv-animation-widget-icon { #slider-case-row { grid-column: 1 / -1; width: 100%; - margin-top: 1rem; & .wv-slider-label { text-align: center; @@ -516,12 +523,26 @@ a .wv-animation-widget-icon { & .mobile-animation-block-row { text-align: center; font-size: 18px; + width: 100%; & .mobile-date-picker-select-btn { position: relative; background-color: $wv-dark-blue; bottom: -10%; width: 95%; + display: flex; + justify-content: center; + align-items: center; + + & .mobile-date-picker-select-btn-text { + display: flex; + justify-content: center; + align-items: center; + } + + & span { + font-size: 23px; + } } } @@ -557,8 +578,12 @@ a .wv-animation-widget-icon { #mobile-animation-widget-mobile-phone-landscape { & .wv-animation-widget { - & .rc-slider { - width: 400px; + & #slider-case-row { + margin-top: 1rem; + + & .rc-slider { + width: 400px; + } } } } From 24386a379c3bc33961637556e782f82f40f9bd49 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Tue, 13 Dec 2022 12:35:44 -0500 Subject: [PATCH 25/42] WV-2468: Updating Modal Dialogs with X Button (#4052) * updating some of the exit buttons * update chromedriver * Update mobile sidebar x button center justification * update mobile animation e2e test --- e2e/features/animation/mobile-animation-test.js | 2 +- web/js/components/sidebar/nav/nav-case.js | 7 ++++--- web/js/containers/animation-widget.js | 10 ++++++++-- web/scss/features/anim-widget.scss | 2 +- web/scss/features/sidebar-panel.scss | 3 +++ 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/e2e/features/animation/mobile-animation-test.js b/e2e/features/animation/mobile-animation-test.js index ebb831f4d5..3765a9b0dd 100644 --- a/e2e/features/animation/mobile-animation-test.js +++ b/e2e/features/animation/mobile-animation-test.js @@ -20,7 +20,7 @@ module.exports = { }, 'Minimizing mobile animation widget opens collapsed animation widget': (c) => { - c.useCss().click('.wv-minimize'); + c.useCss().click('#mobile-animation-close'); c.waitForElementVisible('#collapsed-animate-widget-phone-portrait', TIME_LIMIT); }, diff --git a/web/js/components/sidebar/nav/nav-case.js b/web/js/components/sidebar/nav/nav-case.js index 026e8ff4ea..ad416d4e25 100644 --- a/web/js/components/sidebar/nav/nav-case.js +++ b/web/js/components/sidebar/nav/nav-case.js @@ -72,10 +72,11 @@ function NavCase (props) { width: '45px', } : null; const collapseIconMobile = isMobile ? { - height: '40px', - width: '40px', + height: '30px', + width: '30px', color: '#fff', } : null; + const fontAwesomeStyle = isMobile ? 'times' : 'caret-up'; return (
{isVectorLayer && isVisible ? renderVectorIcon() : null} @@ -417,7 +437,7 @@ const makeMapStateToProps = () => { compareState, } = ownProps; const { - screenSize, palettes, config, embed, map, compare, proj, ui, settings, animation, + screenSize, palettes, config, embed, map, compare, proj, ui, settings, animation, layers, date, } = state; const isMobile = screenSize.isMobileDevice; const { isDistractionFreeModeActive } = ui; @@ -436,10 +456,14 @@ const makeMapStateToProps = () => { const tracksForLayer = getActiveLayers(state).filter( (activeLayer) => (layer.orbitTracks || []).some((track) => activeLayer.id === track), ); + const activeDate = compare.activeString === 'active' ? date.selected : date.selectedB; + const convertedDate = activeDate.toISOString().split('T')[0]; + const collections = getCollections(layers, convertedDate, layer); const measurementDescriptionPath = getDescriptionPath(state, ownProps); return { compare, + collections, tracksForLayer, measurementDescriptionPath, globalTemperatureUnit, @@ -545,6 +569,7 @@ LayerRow.propTypes = { isMobile: PropTypes.bool, isVisible: PropTypes.bool, layer: PropTypes.object, + collections: PropTypes.object, compareState: PropTypes.string, measurementDescriptionPath: PropTypes.string, names: PropTypes.object, diff --git a/web/js/map/layerbuilder.js b/web/js/map/layerbuilder.js index 65dc8e0c8e..d8b17703a5 100644 --- a/web/js/map/layerbuilder.js +++ b/web/js/map/layerbuilder.js @@ -5,8 +5,8 @@ import OlSourceWMTS from 'ol/source/WMTS'; import OlSourceTileWMS from 'ol/source/TileWMS'; import OlLayerGroup from 'ol/layer/Group'; import OlLayerTile from 'ol/layer/Tile'; +import TileState from 'ol/TileState'; import OlTileGridTileGrid from 'ol/tilegrid/TileGrid'; - import MVT from 'ol/format/MVT'; import LayerVectorTile from 'ol/layer/VectorTile'; import SourceVectorTile from 'ol/source/VectorTile'; @@ -14,12 +14,15 @@ import lodashCloneDeep from 'lodash/cloneDeep'; import lodashMerge from 'lodash/merge'; import lodashEach from 'lodash/each'; import lodashGet from 'lodash/get'; + import util from '../util/util'; import lookupFactory from '../ol/lookupimagetile'; import granuleLayerBuilder from './granule/granule-layer-builder'; import { getGranuleTileLayerExtent } from './granule/util'; import { createVectorUrl, getGeographicResolutionWMS, mergeBreakpointLayerAttributes } from './util'; import { datesInDateRanges, prevDateInDateRange } from '../modules/layers/util'; +import { updateLayerDateCollection, updateLayerCollection } from '../modules/layers/actions'; +import { getCollections } from '../modules/layers/selectors'; import { getSelectedDate } from '../modules/date/selectors'; import { isActive as isPaletteActive, @@ -39,11 +42,9 @@ import { LEFT_WING_EXTENT, RIGHT_WING_EXTENT, LEFT_WING_ORIGIN, RIGHT_WING_ORIGIN, CENTER_MAP_ORIGIN, } from '../modules/map/constants'; - export default function mapLayerBuilder(config, cache, store) { const { getGranuleLayer } = granuleLayerBuilder(cache, store, createLayerWMTS); - /** * Return a layer, or layergroup, created with the supplied function * @param {*} createLayerFunc @@ -86,6 +87,61 @@ export default function mapLayerBuilder(config, cache, store) { }; }; + const updateStoreCollectionDates = (id, version, type, date) => { + store.dispatch(updateLayerDateCollection({ + id, + date, + collection: { + version, + type, + }, + })); + }; + + const updateStoreCollections = (id) => { + store.dispatch(updateLayerCollection(id)); + }; + + /** + * We define our own tile loading function in order to capture custom header values + * + * @param {*} tile + * @param {*} src + */ + const tileLoadFunction = (layer, layerDate) => async function(tile, src) { + const date = layerDate.toISOString().split('T')[0]; + let actualId; + + const updateCollections = (headers) => { + actualId = headers.get('layer-identifier-actual'); + if (!actualId) return; + const state = store.getState(); + const { layers } = state; + const collectionCheck = getCollections(layers, date, layer); + // check if the collection & dates already exist for layer so we don't dispatch actions + if (!collectionCheck) { + updateStoreCollections(layer.id); + const parts = actualId.split('_'); + const version = parts[parts.length - 2]; + const type = parts[parts.length - 1]; + updateStoreCollectionDates(layer.id, version, type, date); + } + }; + + try { + const response = await fetch(src); + const data = await response.blob(); + updateCollections(response.headers); + if (data !== undefined) { + tile.getImage().src = URL.createObjectURL(data); + } else { + tile.setState(TileState.ERROR); + } + } catch (e) { + tile.setState(TileState.ERROR); + } + }; + /** * Create a new OpenLayers Layer * @param {object} def @@ -419,6 +475,7 @@ export default function mapLayerBuilder(config, cache, store) { tileGrid: new OlTileGridWMTS(tileGridOptions), wrapX: false, style: typeof style === 'undefined' ? 'default' : style, + tileLoadFunction: tileLoadFunction(def, layerDate), }; if (isPaletteActive(id, options.group, state)) { const lookup = getPaletteLookup(id, options.group, state); diff --git a/web/js/modules/layers/actions.js b/web/js/modules/layers/actions.js index 82743003da..5ebf628da1 100644 --- a/web/js/modules/layers/actions.js +++ b/web/js/modules/layers/actions.js @@ -31,6 +31,8 @@ import { UPDATE_GRANULE_LAYER_GEOMETRY, RESET_GRANULE_LAYER_OPTIONS, CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP, + UPDATE_LAYER_COLLECTION, + UPDATE_LAYER_DATE_COLLECTION, } from './constants'; import { updateRecentLayers } from '../product-picker/util'; import { getOverlayGroups, getLayersFromGroups } from './util'; @@ -391,3 +393,24 @@ export function changeGranuleSatelliteInstrumentGroup(id, granulePlatform) { }); }; } + +export function updateLayerCollection(id) { + return (dispatch, getState) => { + const { layers } = getState(); + + const collections = layers.collections[id]; + if (!collections) { + dispatch({ + type: UPDATE_LAYER_COLLECTION, + id, + }); + } + }; +} + +export function updateLayerDateCollection(layerInfo) { + return { + type: UPDATE_LAYER_DATE_COLLECTION, + ...layerInfo, + }; +} diff --git a/web/js/modules/layers/constants.js b/web/js/modules/layers/constants.js index ccd5be6c2a..c8caff9032 100644 --- a/web/js/modules/layers/constants.js +++ b/web/js/modules/layers/constants.js @@ -16,7 +16,8 @@ export const UPDATE_GRANULE_LAYER_OPTIONS = 'LAYERS/UPDATE_GRANULE_LAYER_OPTIONS export const UPDATE_GRANULE_LAYER_GEOMETRY = 'LAYERS/UPDATE_GRANULE_LAYER_GEOMETRY'; export const RESET_GRANULE_LAYER_OPTIONS = 'LAYERS/RESET_GRANULE_LAYER_OPTIONS'; export const CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP = 'LAYERS/CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP'; - +export const UPDATE_LAYER_COLLECTION = 'LAYERS/UPDATE_LAYER_COLLECTION'; +export const UPDATE_LAYER_DATE_COLLECTION = 'LAYERS/UPDATE_LAYER_DATE_COLLECTION'; export const DEFAULT_NUM_GRANULES = 10; export const MIN_GRANULES = 1; export const MAX_GRANULES = 30; diff --git a/web/js/modules/layers/reducers.js b/web/js/modules/layers/reducers.js index 2dd03ea5a0..7e0bc83ac5 100644 --- a/web/js/modules/layers/reducers.js +++ b/web/js/modules/layers/reducers.js @@ -20,6 +20,8 @@ import { CHANGE_GRANULE_SATELLITE_INSTRUMENT_GROUP, REORDER_OVERLAY_GROUPS, REMOVE_GROUP, + UPDATE_LAYER_COLLECTION, + UPDATE_LAYER_DATE_COLLECTION, } from './constants'; import { SET_CUSTOM as SET_CUSTOM_PALETTE, @@ -51,6 +53,7 @@ const groupState = { export const initialState = { active: { ...groupState }, activeB: { ...groupState }, + collections: {}, layerConfig: {}, startingLayers: [], granuleFootprints: {}, @@ -339,6 +342,34 @@ export function layerReducer(state = initialState, action) { }, }); + case UPDATE_LAYER_COLLECTION: + return update(state, { + collections: { + $merge: { + [action.id]: { + dates: [], + }, + }, + }, + + }); + + case UPDATE_LAYER_DATE_COLLECTION: + return update(state, { + collections: { + [action.id]: { + dates: { + $push: [{ + version: action.collection.version, + type: action.collection.type, + date: action.date, + }], + }, + }, + }, + + }); + default: return state; } diff --git a/web/js/modules/layers/selectors.js b/web/js/modules/layers/selectors.js index ea526739a7..d035628df5 100644 --- a/web/js/modules/layers/selectors.js +++ b/web/js/modules/layers/selectors.js @@ -25,6 +25,16 @@ export const getStartingLayers = createSelector([getConfig], (config) => resetLa export const isGroupingEnabled = ({ compare, layers }) => layers[compare.activeString].groupOverlays; +export const getCollections = (layers, date, layer) => { + if (!layers.collections[layer.id]) return; + const dateCollection = layers.collections[layer.id].dates; + for (let i = 0; i < dateCollection.length; i += 1) { + if (dateCollection[i].date === date) { + return dateCollection[i]; + } + } +}; + /** * Return a list of layers for the currently active compare state * regardless of projection diff --git a/web/js/modules/layers/util.js b/web/js/modules/layers/util.js index 67df2b263c..44ff6184cf 100644 --- a/web/js/modules/layers/util.js +++ b/web/js/modules/layers/util.js @@ -8,7 +8,6 @@ import { isEqual as lodashIsEqual, } from 'lodash'; import moment from 'moment'; - import googleTagManager from 'googleTagManager'; import update from 'immutability-helper'; import { @@ -1276,18 +1275,10 @@ export function mapLocationToLayerState( }); } - // TODO how do we properly combine initial state with location state - newStateFromLocation.layers.active = { - ...newStateFromLocation.layers.active, - granuleLayers: {}, - granulePlatform: '', - }; - - newStateFromLocation.layers.activeB = { - ...newStateFromLocation.layers.activeB, - granuleLayers: {}, - granulePlatform: '', - }; + newStateFromLocation.layers = update(state.layers, { + active: { $merge: newStateFromLocation.layers.active }, + activeB: { $merge: newStateFromLocation.layers.activeB }, + }); return newStateFromLocation; } diff --git a/web/js/modules/layers/util.test.js b/web/js/modules/layers/util.test.js index 9d99fa6657..ea59ff0e6c 100644 --- a/web/js/modules/layers/util.test.js +++ b/web/js/modules/layers/util.test.js @@ -17,6 +17,9 @@ let defaultStateFromLocation = { active: { layers: [], }, + activeB: { + layers: [], + }, }, }; const globalState = fixtures.getState(); @@ -107,6 +110,9 @@ describe('permalink 1.0', () => { active: { layers: [], }, + activeB: { + layers: [], + }, }, }; }); @@ -136,6 +142,9 @@ describe('permalink 1.1', () => { active: { layers: [], }, + activeB: { + layers: [], + }, }, }; }); @@ -245,6 +254,9 @@ describe('Date range building', () => { active: { layers: [], }, + activeB: { + layers: [], + }, }, }; }); diff --git a/web/scss/features/layers.scss b/web/scss/features/layers.scss index 1f96c84a2f..ea06aab95b 100644 --- a/web/scss/features/layers.scss +++ b/web/scss/features/layers.scss @@ -1002,6 +1002,16 @@ } } +.collection-title { + margin-right: 4px; +} + +.instrument-collection { + margin-top: 3px; + display: flex; + justify-content: space-between; +} + /** React-Swipe-To-Delete Overrides */ .swipe-to-delete .js-content:first-child { position: relative !important; From 9029041723db4ef2d98f60f4875107ba48f90720 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Tue, 20 Dec 2022 10:53:31 -0500 Subject: [PATCH 32/42] WV-2536: Configuring Granule Layers (#4061) * configure granule layers * Add Granule previews and layer descriptions (#4059) * updating rolling window property for granule layers from 14 to 30 * update layer-picker-test.js Co-authored-by: minniewong --- ...ectedReflectance_BandsM11-I2-I1_Granule.md | 27 ++++++++++++++++++ ...ectedReflectance_BandsM3-I3-M11_Granule.md | 25 ++++++++++++++++ ..._CorrectedReflectance_TrueColor_Granule.md | 16 +++++++++++ ...ectedReflectance_BandsM11-I2-I1_Granule.md | 26 +++++++++++++++++ ...ectedReflectance_BandsM3-I3-M11_Granule.md | 23 +++++++++++++++ ..._CorrectedReflectance_TrueColor_Granule.md | 13 +++++++++ .../common/config/wv.json/layerOrder.json | 6 ++++ ...0_CorrectedReflectance_BandsM11-I2-I1.json | 3 +- ...tedReflectance_BandsM11-I2-I1_Granule.json | 18 ++++++++++++ ...0_CorrectedReflectance_BandsM3-I3-M11.json | 3 +- ...tedReflectance_BandsM3-I3-M11_Granule.json | 18 ++++++++++++ ...NOAA20_CorrectedReflectance_TrueColor.json | 3 +- ...orrectedReflectance_TrueColor_Granule.json | 18 ++++++++++++ ...P_CorrectedReflectance_BandsM11-I2-I1.json | 3 +- ...tedReflectance_BandsM11-I2-I1_Granule.json | 18 ++++++++++++ ...P_CorrectedReflectance_BandsM3-I3-M11.json | 3 +- ...tedReflectance_BandsM3-I3-M11_Granule.json | 18 ++++++++++++ ...S_SNPP_CorrectedReflectance_TrueColor.json | 1 + ...orrectedReflectance_TrueColor_Granule.json | 18 ++++++++++++ .../measurements/Corrected Reflectance.json | 8 +++++- .../default/common/previewLayerOverrides.json | 4 --- e2e/features/layers/layer-picker-test.js | 4 +-- schemas/layer-config.json | 2 +- ...ctedReflectance_BandsM11-I2-I1_Granule.jpg | Bin 0 -> 85166 bytes ...ctedReflectance_BandsM3-I3-M11_Granule.jpg | Bin 0 -> 84766 bytes ...CorrectedReflectance_TrueColor_Granule.jpg | Bin 0 -> 68739 bytes ...ctedReflectance_BandsM11-I2-I1_Granule.jpg | Bin 0 -> 80718 bytes ...ctedReflectance_BandsM3-I3-M11_Granule.jpg | Bin 0 -> 80418 bytes ...CorrectedReflectance_TrueColor_Granule.jpg | Bin 0 -> 65588 bytes ...ctedReflectance_BandsM11-I2-I1_Granule.jpg | Bin 0 -> 67443 bytes ...ctedReflectance_BandsM3-I3-M11_Granule.jpg | Bin 0 -> 67089 bytes ...CorrectedReflectance_TrueColor_Granule.jpg | Bin 0 -> 63019 bytes ...ctedReflectance_BandsM11-I2-I1_Granule.jpg | Bin 0 -> 68040 bytes ...ctedReflectance_BandsM3-I3-M11_Granule.jpg | Bin 0 -> 65214 bytes ...CorrectedReflectance_TrueColor_Granule.jpg | Bin 0 -> 61306 bytes ...ctedReflectance_BandsM11-I2-I1_Granule.jpg | Bin 0 -> 60473 bytes ...ctedReflectance_BandsM3-I3-M11_Granule.jpg | Bin 0 -> 57326 bytes ...CorrectedReflectance_TrueColor_Granule.jpg | Bin 0 -> 60500 bytes ...ctedReflectance_BandsM11-I2-I1_Granule.jpg | Bin 0 -> 59039 bytes ...ctedReflectance_BandsM3-I3-M11_Granule.jpg | Bin 0 -> 57162 bytes ...CorrectedReflectance_TrueColor_Granule.jpg | Bin 0 -> 57404 bytes 41 files changed, 265 insertions(+), 13 deletions(-) create mode 100644 config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.md create mode 100644 config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.md create mode 100644 config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.md create mode 100644 config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.md create mode 100644 config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.md create mode 100644 config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.md create mode 100644 config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json create mode 100644 config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json create mode 100644 config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json create mode 100644 config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json create mode 100644 config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json create mode 100644 config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json create mode 100644 web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg create mode 100644 web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg create mode 100644 web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.jpg create mode 100644 web/images/layers/previews/antarctic/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg create mode 100644 web/images/layers/previews/antarctic/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg create mode 100644 web/images/layers/previews/antarctic/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.jpg create mode 100644 web/images/layers/previews/arctic/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg create mode 100644 web/images/layers/previews/arctic/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg create mode 100644 web/images/layers/previews/arctic/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.jpg create mode 100644 web/images/layers/previews/arctic/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg create mode 100644 web/images/layers/previews/arctic/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg create mode 100644 web/images/layers/previews/arctic/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg create mode 100644 web/images/layers/previews/geographic/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.jpg diff --git a/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.md b/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.md new file mode 100644 index 0000000000..d78ee7cb75 --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.md @@ -0,0 +1,27 @@ +Granule Corrected Reflectance imagery displays each 6-minute granule of imagery in near real-time. It is available on a 15 day rolling window basis. Each granule shows imagery as it was captured by the VIIRS instrument in that 6-minute time period and reveals areas that may have otherwise been obscured by the mosaicking of subsequent overpasses. + +For a daily overview, please refer to the associated Corrected Reflectance Mosaic/Composite image. + +*** + +False Color: Red = M11, Green = I2, Blue = I1 + +This combination is most useful for distinguishing burn scars from naturally low vegetation or bare soil and enhancing floods. + +This combination can also be used to distinguish snow and ice from clouds. Snow and ice are very reflective in the visible part of the spectrum (Band I1), and absorbent in Bands I2 (near infrared) and M11 (short-wave infrared, or SWIR). Thick ice and snow appear vivid sky blue, while small ice crystals in high-level clouds will also appear blueish, and water clouds will appear white. + +The Visible Infrared Imaging Radiometer Suite (VIIRS) Corrected Reflectance imagery is available only as near real-time imagery. The VIIRS instrument is aboard the joint NASA/NOAA NOAA-20 (JPSS-1) satellite. The imagery can be visualized in Worldview and the Global Imagery Browse Services (GIBS).The sensor resolution is 750 m and 375 m (M Bands are 750 m, I Bands are 375 m), imagery resolution is 250 m, and the temporal resolution is daily. + +#### Vegetation and bare ground +Vegetation is very reflective in the near infrared (Band I2), and absorbent in Band I1 and Band M11. Assigning that band to green means even the smallest hint of vegetation will appear bright green in the image. Naturally bare soil, like a desert, is reflective in all bands used in this image, but more so in the SWIR (Band M11, red) and so soils will often have a pinkish tinge. + +#### Burned areas +Burned areas or fire-affected areas are characterized by deposits of charcoal and ash, removal of vegetation and/or the alteration of vegetation structure. When bare soil becomes exposed, the brightness in Band I1 may increase, but that may be offset by the presence of black carbon residue; the near infrared (Band I2) will become darker, and Band M11 becomes more reflective. When assigned to red in the image, Band M11 will show burn scars as deep or bright red, depending on the type of vegetation burned, the amount of residue, or the completeness of the burn. + +#### Water +Liquid water on the ground appears very dark since it absorbs in the red and the SWIR. Sediments in water appear dark blue. Ice and snow appear as bright turquoise. Clouds comprised of small water droplets scatter light equally in both the visible and the SWIR and will appear white. These clouds are usually lower to the ground and warmer. High and cold clouds are comprised of ice crystals and will appear turquoise. + +Note: The Corrected Reflectance and the Thermal Band I5 imagery from NOAA-20/VIIRS will occasionally show a checkered pattern, especially over the respective polar areas. This is due to overlapping and superimposition of observations from multiple orbits with widely different cloud/snow coverages. The checkered pattern may also arise from the mixture of partial day and night observations. Though all necessary steps have been taken to mitigate this effect, users may still notice this to some extent over the polar areas, depending on the season. + +References: VJ103MOD_NRT [doi:10.5067/VIIRS/VJ103MOD_NRT.021](https://doi.org/10.5067/VIIRS/VJ103MOD_NRT.021); VJ103IMG_NRT [doi:10.5067/VIIRS/VJ103IMG_NRT.021](https://doi.org/10.5067/VIIRS/VJ103IMG_NRT.021); +VJ102MOD_NRT [doi:10.5067/VIIRS/VJ102MOD_NRT.021](https://doi.org/10.5067/VIIRS/VJ102MOD_NRT.021); VJ102IMG_NRT [doi:10.5067/VIIRS/VJ102IMG_NRT.021](https://doi.org/10.5067/VIIRS/VJ102IMG_NRT.021) diff --git a/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.md b/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.md new file mode 100644 index 0000000000..dd531d1b0c --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.md @@ -0,0 +1,25 @@ +Granule Corrected Reflectance imagery displays each 6-minute granule of imagery in near real-time. It is available on a 15 day rolling window basis. Each granule shows imagery as it was captured by the VIIRS instrument in that 6-minute time period and reveals areas that may have otherwise been obscured by the mosaicking of subsequent overpasses. + +For a daily overview, please refer to the associated Corrected Reflectance Mosaic/Composite image. + +*** + +False Color: Red = M3, Green = I3, Blue = M11 + +This combination is used to map snow and ice. Snow and ice are very reflective in the visible part of the spectrum (Band M3), and very absorbent in Bands I3 and M11 (short-wave infrared, or SWIR). This band combination is good for distinguishing liquid water from frozen water, for example, clouds over snow, ice cloud versus water cloud; or floods from dense vegetation. + +The Visible Infrared Imaging Radiometer Suite (VIIRS) Corrected Reflectance imagery is available only as near real-time imagery. The VIIRS instrument is aboard the joint NASA/NOAA NOAA-20 (JPSS-1) satellite. The imagery can be visualized in Worldview and the Global Imagery Browse Services (GIBS). The sensor resolution is 750 m and 375 m (M Bands are 750 m, I Bands are 375 m), imagery resolution is 250 m, and the temporal resolution is daily. + +#### Snow and Ice +Since the only visible light used in these images (Band M3) is assigned to red, snow and ice appear bright red. The more ice, the stronger the absorption in the SWIR bands, and the more red the color. Thick ice and snow appear vivid red (or dark pink), while small ice crystals in high-level clouds will appear pinkish. + +#### Vegetation +Vegetation will appear green in this band combination, as vegetation is absorbent in Bands M3 and M11, but reflective in Band I3. Bare soil and deserts will appear bright cyan in the image since it much more reflective in Band I3 and M11 than Band M3. + +#### Water +Liquid water on the ground will appear very dark since it absorbs in the red and the SWIR, but small liquid water drops in clouds scatter light equally in both the visible and the SWIR, and will therefore appear white. Sediments in water appear dark red. + +Note: The Corrected Reflectance and the Thermal Band I5 imagery from NOAA-20/VIIRS will occasionally show a checkered pattern, especially over the respective polar areas. This is due to overlapping and superimposition of observations from multiple orbits with widely different cloud/snow coverages. The checkered pattern may also arise from the mixture of partial day and night observations. Though all necessary steps have been taken to mitigate this effect, users may still notice this to some extent over the polar areas, depending on the season. + +References: VJ103MOD_NRT [doi:10.5067/VIIRS/VJ103MOD_NRT.021](https://doi.org/10.5067/VIIRS/VJ103MOD_NRT.021); VJ103IMG_NRT [doi:10.5067/VIIRS/VJ103IMG_NRT.021](https://doi.org/10.5067/VIIRS/VJ103IMG_NRT.021); +VJ102MOD_NRT [doi:10.5067/VIIRS/VJ102MOD_NRT.021](https://doi.org/10.5067/VIIRS/VJ102MOD_NRT.021); VJ102IMG_NRT [doi:10.5067/VIIRS/VJ102IMG_NRT.021](https://doi.org/10.5067/VIIRS/VJ102IMG_NRT.021) diff --git a/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.md b/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.md new file mode 100644 index 0000000000..0439d22839 --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.md @@ -0,0 +1,16 @@ +Granule Corrected Reflectance imagery displays each 6-minute granule of imagery in near real-time. It is available on a 15 day rolling window basis. Each granule shows imagery as it was captured by the VIIRS instrument in that 6-minute time period and reveals areas that may have otherwise been obscured by the mosaicking of subsequent overpasses. + +For a daily overview, please refer to the associated Corrected Reflectance Mosaic/Composite image. + +*** + +True Color: Red = Band I1, Green = Band M4, Blue = Band M3 + +These images are called true-color or natural color because this combination of wavelengths is similar to what the human eye would see. The images are natural-looking images of land surface, oceanic and atmospheric features. + +The Visible Infrared Imaging Radiometer Suite (VIIRS) Corrected Reflectance imagery is available only as near real-time imagery. The VIIRS instrument is aboard the joint NASA/NOAA NOAA-20 (JPSS-1) satellite. The imagery can be visualized in Worldview and the Global Imagery Browse Services (GIBS). The sensor resolution is 750 m and 375 m (M Bands are 750 m, I Bands are 375 m), imagery resolution is 250 m, and the temporal resolution is daily. + +Note: The Corrected Reflectance and the Thermal Band I5 imagery from NOAA-20/VIIRS will occasionally show a checkered pattern, especially over the respective polar areas. This is due to overlapping and superimposition of observations from multiple orbits with widely different cloud/snow coverages. The checkered pattern may also arise from the mixture of partial day and night observations. Though all necessary steps have been taken to mitigate this effect, users may still notice this to some extent over the polar areas, depending on the season. + +References: VJ103MOD_NRT [doi:10.5067/VIIRS/VJ103MOD_NRT.021](https://doi.org/10.5067/VIIRS/VJ103MOD_NRT.021); VJ103IMG_NRT [doi:10.5067/VIIRS/VJ103IMG_NRT.021](https://doi.org/10.5067/VIIRS/VJ103IMG_NRT.021); +VJ102MOD_NRT [doi:10.5067/VIIRS/VJ102MOD_NRT.021](https://doi.org/10.5067/VIIRS/VJ102MOD_NRT.021); VJ102IMG_NRT [doi:10.5067/VIIRS/VJ102IMG_NRT.021](https://doi.org/10.5067/VIIRS/VJ102IMG_NRT.021) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.md b/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.md new file mode 100644 index 0000000000..cb5962ea43 --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.md @@ -0,0 +1,26 @@ +Granule Corrected Reflectance imagery displays each 6-minute granule of imagery in near real-time. It is available on a 15 day rolling window basis. Each granule shows imagery as it was captured by the VIIRS instrument in that 6-minute time period and reveals areas that may have otherwise been obscured by the mosaicking of subsequent overpasses. + +For a daily overview, please refer to the associated Corrected Reflectance Mosaic/Composite image. + +*** + +False Color: Red = M11, Green = I2, Blue = I1 + +This combination is most useful for distinguishing burn scars from naturally low vegetation or bare soil and enhancing floods. + +This combination can also be used to distinguish snow and ice from clouds. Snow and ice are very reflective in the visible part of the spectrum (Band I1), and absorbent in Bands I2 (near infrared) and M11 (short-wave infrared, or SWIR). Thick ice and snow appear vivid sky blue, while small ice crystals in high-level clouds will also appear blueish, and water clouds will appear white. + +The Visible Infrared Imaging Radiometer Suite (VIIRS) Corrected Reflectance imagery is available only as near real-time imagery. The VIIRS instrument in on board the joint NASA/NOAA Suomi National Polar orbiting Partnership (Suomi NPP) satellite. The imagery can be visualized in Worldview and the Global Imagery Browse Services (GIBS).The sensor resolution is 750 m and 375 m (M Bands are 750 m, I Bands are 375 m), imagery resolution is 250 m, and the temporal resolution is daily. + +#### Vegetation and bare ground +Vegetation is very reflective in the near infrared (Band I2), and absorbent in Band I1 and Band M11. Assigning that band to green means even the smallest hint of vegetation will appear bright green in the image. Naturally bare soil, like a desert, is reflective in all bands used in this image, but more so in the SWIR (Band M11, red) and so soils will often have a pinkish tinge. + +#### Burned areas +Burned areas or fire-affected areas are characterized by deposits of charcoal and ash, removal of vegetation and/or the alteration of vegetation structure. When bare soil becomes exposed, the brightness in Band I1 may increase, but that may be offset by the presence of black carbon residue; the near infrared (Band I2) will become darker, and Band M11 becomes more reflective. When assigned to red in the image, Band M11 will show burn scars as deep or bright red, depending on the type of vegetation burned, the amount of residue, or the completeness of the burn. + +#### Water +Liquid water on the ground appears very dark since it absorbs in the red and the SWIR. Sediments in water appear dark blue. Ice and snow appear as bright turquoise. +Clouds comprised of small water droplets scatter light equally in both the visible and the SWIR and will appear white. These clouds are usually lower to the ground and warmer. High and cold clouds are comprised of ice crystals and will appear turquoise. + +References: VNP03MOD_NRT [doi:10.5067/VIIRS/VNP03MOD_NRT.002](https://doi.org/10.5067/VIIRS/VNP03MOD_NRT.002); VNP03IMG_NRT [doi:10.5067/VIIRS/VNP03IMG_NRT.002](https://doi.org/10.5067/VIIRS/VNP03IMG_NRT.002); VNP02MOD_NRT [doi:10.5067/VIIRS/VNP02MOD_NRT.002](https://doi.org/10.5067/VIIRS/VNP02MOD_NRT.002); VNP02IMG_NRT [doi:10.5067/VIIRS/VNP02IMG_NRT.002](https://doi.org/10.5067/VIIRS/VNP02IMG_NRT.002) + diff --git a/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.md b/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.md new file mode 100644 index 0000000000..8c6efb76fe --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.md @@ -0,0 +1,23 @@ + +Granule Corrected Reflectance imagery displays each 6-minute granule of imagery in near real-time. It is available on a 15 day rolling window basis. Each granule shows imagery as it was captured by the VIIRS instrument in that 6-minute time period and reveals areas that may have otherwise been obscured by the mosaicking of subsequent overpasses. + +For a daily overview, please refer to the associated Corrected Reflectance Mosaic/Composite image. + +*** + +False Color: Red = M3, Green = I3, Blue = M11 + +This combination is used to map snow and ice. Snow and ice are very reflective in the visible part of the spectrum (Band M3), and very absorbent in Bands I3 and M11 (short-wave infrared, or SWIR). This band combination is good for distinguishing liquid water from frozen water, for example, clouds over snow, ice cloud versus water cloud; or floods from dense vegetation. + +The Visible Infrared Imaging Radiometer Suite (VIIRS) Corrected Reflectance imagery is available only as near real-time imagery. The VIIRS instrument in on board the joint NASA/NOAA Suomi National Polar orbiting Partnership (Suomi NPP) satellite. The imagery can be visualized in Worldview and the Global Imagery Browse Services (GIBS). The sensor resolution is 750 m and 375 m (M Bands are 750 m, I Bands are 375 m), imagery resolution is 250 m, and the temporal resolution is daily. + +#### Snow and Ice +Since the only visible light used in these images (Band M3) is assigned to red, snow and ice appear bright red. The more ice, the stronger the absorption in the SWIR bands, and the more red the color. Thick ice and snow appear vivid red (or dark pink), while small ice crystals in high-level clouds will appear pinkish. + +#### Vegetation +Vegetation will appear green in this band combination, as vegetation is absorbent in Bands M3 and M11, but reflective in Band I3. Bare soil and deserts will appear bright cyan in the image since it much more reflective in Band I3 and M11 than Band M3. + +#### Water +Liquid water on the ground will appear very dark since it absorbs in the red and the SWIR, but small liquid water drops in clouds scatter light equally in both the visible and the SWIR, and will therefore appear white. Sediments in water appear dark red. + +References: VNP03MOD_NRT [doi:10.5067/VIIRS/VNP03MOD_NRT.002](https://doi.org/10.5067/VIIRS/VNP03MOD_NRT.002); VNP03IMG_NRT [doi:10.5067/VIIRS/VNP03IMG_NRT.002](https://doi.org/10.5067/VIIRS/VNP03IMG_NRT.002); VNP02MOD_NRT [doi:10.5067/VIIRS/VNP02MOD_NRT.002](https://doi.org/10.5067/VIIRS/VNP02MOD_NRT.002); VNP02IMG_NRT [doi:10.5067/VIIRS/VNP02IMG_NRT.002](https://doi.org/10.5067/VIIRS/VNP02IMG_NRT.002) \ No newline at end of file diff --git a/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.md b/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.md new file mode 100644 index 0000000000..72f3a587de --- /dev/null +++ b/config/default/common/config/metadata/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.md @@ -0,0 +1,13 @@ +Granule Corrected Reflectance imagery displays each 6-minute granule of imagery in near real-time. It is available on a 15 day rolling window basis. Each granule shows imagery as it was captured by the VIIRS instrument in that 6-minute time period and reveals areas that may have otherwise been obscured by the mosaicking of subsequent overpasses. + +For a daily overview, please refer to the associated Corrected Reflectance Mosaic/Composite image. + +*** + +True Color: Red = Band I1, Green = Band M4, Blue = Band M3 + +These images are called true-color or natural color because this combination of wavelengths is similar to what the human eye would see. The images are natural-looking images of land surface, oceanic and atmospheric features. + +The Visible Infrared Imaging Radiometer Suite (VIIRS) Corrected Reflectance imagery is available only as near real-time imagery. The VIIRS instrument in on board the joint NASA/NOAA Suomi National Polar orbiting Partnership (Suomi NPP) satellite. The imagery can be visualized in Worldview and the Global Imagery Browse Services (GIBS). The sensor resolution is 750 m and 375 m (M Bands are 750 m, I Bands are 375 m), imagery resolution is 250 m, and the temporal resolution is daily. + +References: VNP03MOD_NRT [doi:10.5067/VIIRS/VNP03MOD_NRT.002](https://doi.org/10.5067/VIIRS/VNP03MOD_NRT.002); VNP03IMG_NRT [doi:10.5067/VIIRS/VNP03IMG_NRT.002](https://doi.org/10.5067/VIIRS/VNP03IMG_NRT.002); VNP02MOD_NRT [doi:10.5067/VIIRS/VNP02MOD_NRT.002](https://doi.org/10.5067/VIIRS/VNP02MOD_NRT.002); VNP02IMG_NRT [doi:10.5067/VIIRS/VNP02IMG_NRT.002](https://doi.org/10.5067/VIIRS/VNP02IMG_NRT.002) diff --git a/config/default/common/config/wv.json/layerOrder.json b/config/default/common/config/wv.json/layerOrder.json index 1e266edba6..99e2b820d7 100644 --- a/config/default/common/config/wv.json/layerOrder.json +++ b/config/default/common/config/wv.json/layerOrder.json @@ -1,5 +1,11 @@ { "layerOrder": [ + "VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule", + "VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule", + "VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule", + "VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule", + "VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule", + "VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule", "VIIRS_SNPP_CorrectedReflectance_TrueColor", "VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11", "VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1", diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1.json index ec544e010b..0b6d6f7a90 100644 --- a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1.json +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1.json @@ -6,7 +6,8 @@ "tags": "false color jpss1 7-2-1 jpss-1", "layergroup": "Corrected Reflectance", "group": "baselayers", - "wrapadjacentdays": true + "wrapadjacentdays": true, + "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule"] } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json new file mode 100644 index 0000000000..99136e1e7f --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.json @@ -0,0 +1,18 @@ +{ + "layers": { + "VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule": { + "id": "VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule", + "description": "viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule", + "tags": "subdaily", + "group": "overlays", + "layergroup": "Granules", + "type": "granule", + "period": "subdaily", + "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1"], + "availability": { + "rollingWindow": 30 + }, + "disableSnapshot": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11.json index 2652577814..3774faa076 100644 --- a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11.json +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11.json @@ -6,7 +6,8 @@ "tags": "false color jpss1 3-6-7 jpss-1", "layergroup": "Corrected Reflectance", "group": "baselayers", - "wrapadjacentdays": true + "wrapadjacentdays": true, + "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule"] } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json new file mode 100644 index 0000000000..e1a2c7e53f --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.json @@ -0,0 +1,18 @@ +{ + "layers": { + "VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule": { + "id": "VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule", + "description": "viirs/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule", + "tags": "subdaily", + "group": "overlays", + "layergroup": "Granules", + "type": "granule", + "period": "subdaily", + "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11"], + "availability": { + "rollingWindow": 30 + }, + "disableSnapshot": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor.json index a22e4f5335..8c1f59be3b 100644 --- a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor.json +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor.json @@ -6,7 +6,8 @@ "tags": "natural color cr jpss1 jpss-1", "layergroup": "Corrected Reflectance", "group": "baselayers", - "wrapadjacentdays": true + "wrapadjacentdays": true, + "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule"] } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json new file mode 100644 index 0000000000..9476084bf1 --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.json @@ -0,0 +1,18 @@ +{ + "layers": { + "VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule": { + "id": "VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule", + "description": "viirs/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule", + "tags": "subdaily", + "group": "overlays", + "layergroup": "Granules", + "type": "granule", + "period": "subdaily", + "associatedLayers": ["VIIRS_NOAA20_CorrectedReflectance_TrueColor"], + "availability": { + "rollingWindow": 30 + }, + "disableSnapshot": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1.json index 0e3fc06902..dbfdeb40bf 100644 --- a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1.json +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1.json @@ -6,7 +6,8 @@ "tags": "false color s-npp snpp 7-2-1", "layergroup": "Corrected Reflectance", "group": "baselayers", - "wrapadjacentdays": true + "wrapadjacentdays": true, + "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule"] } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json new file mode 100644 index 0000000000..e4748a97e9 --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.json @@ -0,0 +1,18 @@ +{ + "layers": { + "VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule": { + "id": "VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule", + "description": "viirs/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule", + "tags": "subdaily", + "group": "overlays", + "layergroup": "Granules", + "type": "granule", + "period": "subdaily", + "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1"], + "availability": { + "rollingWindow": 30 + }, + "disableSnapshot": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11.json index 280db4de0b..17bf562f3e 100644 --- a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11.json +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11.json @@ -6,7 +6,8 @@ "tags": "false color s-npp snpp 3-6-7", "layergroup": "Corrected Reflectance", "group": "baselayers", - "wrapadjacentdays": true + "wrapadjacentdays": true, + "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule"] } } } \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json new file mode 100644 index 0000000000..8c52ff316d --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.json @@ -0,0 +1,18 @@ +{ + "layers": { + "VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule": { + "id": "VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule", + "description": "viirs/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule", + "tags": "subdaily", + "group": "overlays", + "layergroup": "Granules", + "type": "granule", + "period": "subdaily", + "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11"], + "availability": { + "rollingWindow": 30 + }, + "disableSnapshot": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor.json index 1f4a0d468f..7f729b64a6 100644 --- a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor.json +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor.json @@ -7,6 +7,7 @@ "layergroup": "Corrected Reflectance", "group": "baselayers", "wrapadjacentdays": true, + "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule"], "projections": { "geographic": { "source": "GIBS:geographic" diff --git a/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json new file mode 100644 index 0000000000..59b16dc157 --- /dev/null +++ b/config/default/common/config/wv.json/layers/viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.json @@ -0,0 +1,18 @@ +{ + "layers": { + "VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule": { + "id": "VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule", + "description": "viirs/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule", + "tags": "subdaily", + "group": "overlays", + "layergroup": "Granules", + "type": "granule", + "period": "subdaily", + "associatedLayers": ["VIIRS_SNPP_CorrectedReflectance_TrueColor"], + "availability": { + "rollingWindow": 30 + }, + "disableSnapshot": true + } + } +} \ No newline at end of file diff --git a/config/default/common/config/wv.json/measurements/Corrected Reflectance.json b/config/default/common/config/wv.json/measurements/Corrected Reflectance.json index 2a47be7650..c12394a960 100644 --- a/config/default/common/config/wv.json/measurements/Corrected Reflectance.json +++ b/config/default/common/config/wv.json/measurements/Corrected Reflectance.json @@ -35,9 +35,12 @@ "image": "", "settings": [ "VIIRS_SNPP_CorrectedReflectance_TrueColor", + "VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule", "VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1", + "VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule", "VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11", - "OrbitTracks_Suomi_NPP_Ascending" + "VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule", + "OrbitTracks_Suomi_NPP_Ascending" ] }, "NOAA-20/VIIRS": { @@ -47,8 +50,11 @@ "image": "", "settings": [ "VIIRS_NOAA20_CorrectedReflectance_TrueColor", + "VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule", "VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1", + "VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule", "VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11", + "VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule", "OrbitTracks_NOAA-20_Ascending" ] }, diff --git a/config/default/common/previewLayerOverrides.json b/config/default/common/previewLayerOverrides.json index 2b0c2cf450..65f6bf134f 100644 --- a/config/default/common/previewLayerOverrides.json +++ b/config/default/common/previewLayerOverrides.json @@ -77,10 +77,6 @@ "VIIRS_NOAA20_Thermal_Anomalies_375m_Day": "2020-01-29T00:00:00Z", "VIIRS_NOAA20_Thermal_Anomalies_375m_Night": "2020-01-29T00:00:00Z", - "VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule_v1_NRT": "2019-09-22T16:00:00Z", - "VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule_v1_NRT": "2019-09-22T16:00:00Z", - "VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule_v1_NRT": "2019-09-22T16:00:00Z", - "AMSRE_Columnar_Water_Vapor_Night": "2009-08-01T00:00:00Z", "AMSRE_Columnar_Water_Vapor_Day": "2009-08-01T00:00:00Z" diff --git a/e2e/features/layers/layer-picker-test.js b/e2e/features/layers/layer-picker-test.js index 1da936edf1..78b7f5e013 100644 --- a/e2e/features/layers/layer-picker-test.js +++ b/e2e/features/layers/layer-picker-test.js @@ -175,10 +175,10 @@ module.exports = { c.click(availableFilterCheckbox); c.pause(200); c.expect.element(availableFilterCheckboxInput).to.not.be.selected; - c.expect.elements(layersSearchRow).count.to.equal(8); + c.expect.elements(layersSearchRow).count.to.equal(10); c .assert - .containsText(layerResultsCountText, 'Showing 8 out of'); + .containsText(layerResultsCountText, 'Showing 10 out of'); }, 'Finding layer by ID with search': (c) => { c.clearValue(layersSearchField); diff --git a/schemas/layer-config.json b/schemas/layer-config.json index f723534ca8..304a8e3f4e 100644 --- a/schemas/layer-config.json +++ b/schemas/layer-config.json @@ -290,7 +290,7 @@ }, "associatedLayers": { "description": "ID of an associated layers (e.g. a corresponding granule layer)", - "type": "string" + "type": "array" }, "layer": { "type": "string" diff --git a/web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg b/web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f515780cfbd17785b3883b75c8a48f5eaef7908d GIT binary patch literal 85166 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 Rk1+iRah#+Rd8WTh{{!x(e+&Qs literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg b/web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6bbcb5d7ac23f2e63d7d6b51973d405625e6053 GIT binary patch literal 84766 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 G@;?AQChiyj literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.jpg b/web/images/layers/previews/antarctic/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b779b2b529fe4a7ef630a544ba9e34b6d20cd675 GIT binary patch literal 68739 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 BU@HIs literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/antarctic/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg b/web/images/layers/previews/antarctic/VIIRS_SNPP_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35183192437ecce057cb5afbaf6960efb99a3f0c GIT binary patch literal 80418 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

(>PPcEvb4G4iUYu>p&x~hyZfuT?EY22H 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%0DKXb%6Qo>~ZcMXcvQhd! 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 Go%>%iO-T;` literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/arctic/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.jpg b/web/images/layers/previews/arctic/VIIRS_NOAA20_CorrectedReflectance_TrueColor_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..256b0a92376a6cf7359f6b77c442587dffb78a2d GIT binary patch literal 63019 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%0Djl2g(|y(4qUb(snWDv2p`O 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 }`-bCQZ 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

  • 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 Q2!7>dMARMT0Dn&WAAtyB82|tP literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/geographic/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg b/web/images/layers/previews/geographic/VIIRS_NOAA20_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f8658c8698106c13853ff31c86a29ad45c9f9aa GIT binary patch literal 60473 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 Lf7;hF?R@<&J7&h5 literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/geographic/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg b/web/images/layers/previews/geographic/VIIRS_NOAA20_CorrectedReflectance_BandsM3-I3-M11_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..08a09d4a6a1da11d80ef1419dc5fe0f438b59868 GIT binary patch literal 57326 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 literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/geographic/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg b/web/images/layers/previews/geographic/VIIRS_SNPP_CorrectedReflectance_BandsM11-I2-I1_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c4c45b5d8de0cb9dd84a72e1a92580f35c5a701 GIT binary patch literal 59039 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 Kf2>3sJ^uy{q-CT4 literal 0 HcmV?d00001 From 4f678dbe961e8069b969e7c3536d31f8ac6b1fe4 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Wed, 21 Dec 2022 12:49:47 -0500 Subject: [PATCH 33/42] WV-2374: React Map Component (#4069) * mapui-component * CombineUI.js // MapUI.js // Markers.js * granules * GranuleHover.js * CreateMap.js * update CreateMap.js * RemoveLayer.js * update Markers.js * breaking out functions in MapUI.js * AddLayer.js * Updating MapUI.js * fix redux state issue * UpdateDate.js * UpdateOpacity.js * remove store from MapUI * remove state objects from MapUI * UpdateProjection.js * MouseMoveEvents.js * Fix preloading tiles on load issue * clean up components * BufferQuickAnimate.js * removing vscode debugger launch file * fixing running data issues * update preloading logic and mouse move logic * update GranuleHover * updating file names, function descriptions & variable names * remove console log in updateProjection.js * update radians calculation * rename files & folders * update granule logic --- web/js/combine-ui.js | 78 - web/js/main.js | 5 +- web/js/map/ui.js | 1285 ----------------- web/js/mapUI/combineUI.js | 136 ++ .../bufferQuickAnimate.js | 92 ++ .../mapUI/components/create-map/createMap.js | 279 ++++ .../components/granule-hover/granuleHover.js | 56 + web/js/mapUI/components/layers/addLayer.js | 116 ++ web/js/mapUI/components/layers/removeLayer.js | 54 + web/js/mapUI/components/markers/markers.js | 203 +++ .../mouse-move-events/mouseMoveEvents.js | 96 ++ .../components/update-date/updateDate.js | 184 +++ .../update-opacity/updateOpacity.js | 109 ++ .../update-projection/updateProjection.js | 405 ++++++ web/js/mapUI/mapUI.js | 490 +++++++ web/js/modules/map/actions.js | 36 +- web/js/modules/map/util.js | 1 + 17 files changed, 2259 insertions(+), 1366 deletions(-) delete mode 100644 web/js/combine-ui.js delete mode 100644 web/js/map/ui.js create mode 100644 web/js/mapUI/combineUI.js create mode 100644 web/js/mapUI/components/buffer-quick-animate/bufferQuickAnimate.js create mode 100644 web/js/mapUI/components/create-map/createMap.js create mode 100644 web/js/mapUI/components/granule-hover/granuleHover.js create mode 100644 web/js/mapUI/components/layers/addLayer.js create mode 100644 web/js/mapUI/components/layers/removeLayer.js create mode 100644 web/js/mapUI/components/markers/markers.js create mode 100644 web/js/mapUI/components/mouse-move-events/mouseMoveEvents.js create mode 100644 web/js/mapUI/components/update-date/updateDate.js create mode 100644 web/js/mapUI/components/update-opacity/updateOpacity.js create mode 100644 web/js/mapUI/components/update-projection/updateProjection.js create mode 100644 web/js/mapUI/mapUI.js diff --git a/web/js/combine-ui.js b/web/js/combine-ui.js deleted file mode 100644 index 5f7f482cef..0000000000 --- a/web/js/combine-ui.js +++ /dev/null @@ -1,78 +0,0 @@ -import util from './util/util'; -import mapui from './map/ui'; -import { - REDUX_ACTION_DISPATCHED, - MAP_MOUSE_OUT, - MAP_MOVE_END, - MAP_MOUSE_MOVE, - MAP_SINGLE_CLICK, - MAP_CONTEXT_MENU, -} from './util/constants'; - -const { events } = util; - -/** - * Legacy UI Rendering - * @param {Object} models | Legacy Models Object - * @param {Object} config - * @param {Object} store - */ -export default function combineUi(models, config, store) { - const ui = {}; - const subscribeToStore = function() { - const state = store.getState(); - const action = state.lastAction; - return events.trigger(REDUX_ACTION_DISPATCHED, action); - }; - store.subscribe(subscribeToStore); - ui.map = mapui(models, config, store, ui); - ui.supportsPassive = false; - try { - const opts = Object.defineProperty({}, 'passive', { - // eslint-disable-next-line getter-return - get() { - ui.supportsPassive = true; - }, - }); - window.addEventListener('testPassive', null, opts); - window.removeEventListener('testPassive', null, opts); - } catch (e) { - util.warn(e); - } - - registerMapMouseHandlers(ui.map.proj); - - // Sink all focus on inputs if click unhandled - document.addEventListener('click', (e) => { - if (e.target.nodeName !== 'INPUT') { - document.querySelectorAll('input').forEach((el) => el.blur()); - } - }); - document.activeElement.blur(); - document.querySelectorAll('input').forEach((el) => el.blur()); - - return ui; -} - -function registerMapMouseHandlers(maps) { - Object.values(maps).forEach((map) => { - const element = map.getTargetElement(); - const crs = map.getView().getProjection().getCode(); - - element.addEventListener('mouseleave', (event) => { - events.trigger(MAP_MOUSE_OUT, event); - }); - map.on('moveend', (event) => { - events.trigger(MAP_MOVE_END, event, map, crs); - }); - map.on('pointermove', (event) => { - events.trigger(MAP_MOUSE_MOVE, event, map, crs); - }); - map.on('singleclick', (event) => { - events.trigger(MAP_SINGLE_CLICK, event, map, crs); - }); - map.on('contextmenu', (event) => { - events.trigger(MAP_CONTEXT_MENU, event, map, crs); - }); - }); -} diff --git a/web/js/main.js b/web/js/main.js index 3e36e2498f..258e328522 100644 --- a/web/js/main.js +++ b/web/js/main.js @@ -27,7 +27,7 @@ import util from './util/util'; import Brand from './brand'; import combineModels from './combine-models'; import parse from './parse'; -import combineUi from './combine-ui'; +import CombineUI from './mapUI/combineUI'; import { preloadPalettes, hasCustomTypePalette } from './modules/palettes/util'; import { layersParse12, @@ -106,10 +106,11 @@ function render (config, legacyState) { ReactDOM.render( + , document.getElementById('app'), ); - combineUi(models, config, store); // Legacy UI + // combineUi(models, config, store); // Legacy UI util.errorReport(errors); } diff --git a/web/js/map/ui.js b/web/js/map/ui.js deleted file mode 100644 index ccc6bff2b3..0000000000 --- a/web/js/map/ui.js +++ /dev/null @@ -1,1285 +0,0 @@ -/* eslint-disable no-multi-assign */ -/* eslint-disable no-shadow */ -/* eslint-disable no-param-reassign */ -/* eslint-disable no-nested-ternary */ -import { - throttle as lodashThrottle, - forOwn as lodashForOwn, - each as lodashEach, - findIndex as lodashFindIndex, - get as lodashGet, - debounce as lodashDebounce, - cloneDeep as lodashCloneDeep, - find as lodashFind, -} from 'lodash'; -import OlMap from 'ol/Map'; -import OlView from 'ol/View'; -import OlKinetic from 'ol/Kinetic'; -import OlControlScaleLine from 'ol/control/ScaleLine'; -import { altKeyOnly } from 'ol/events/condition'; -import OlInteractionPinchRotate from 'ol/interaction/PinchRotate'; -import OlInteractionDragRotate from 'ol/interaction/DragRotate'; -import OlInteractionDoubleClickZoom from 'ol/interaction/DoubleClickZoom'; -import OlInteractionPinchZoom from 'ol/interaction/PinchZoom'; -import OlInteractionDragPan from 'ol/interaction/DragPan'; -import OlInteractionMouseWheelZoom from 'ol/interaction/MouseWheelZoom'; -import OlInteractionDragZoom from 'ol/interaction/DragZoom'; -import OlLayerGroup from 'ol/layer/Group'; -import * as olProj from 'ol/proj'; -import Cache from 'cachai'; -// eslint-disable-next-line import/no-unresolved -import PQueue from 'p-queue'; -import { SET_SCREEN_INFO } from '../modules/screen-size/constants'; -import mapLayerBuilder from './layerbuilder'; -import MapRunningData from './runningdata'; -import { fly, saveRotation } from './util'; -import mapCompare from './compare/compare'; -import { granuleFootprint } from './granule/util'; -import { LOCATION_POP_ACTION } from '../redux-location-state-customs'; -import { CHANGE_PROJECTION } from '../modules/projection/constants'; -import { - REMOVE_MARKER, - SET_MARKER, - TOGGLE_DIALOG_VISIBLE, -} from '../modules/location-search/constants'; -import { setGeocodeResults, removeMarker } from '../modules/location-search/actions'; -import * as dateConstants from '../modules/date/constants'; -import util from '../util/util'; -import * as layerConstants from '../modules/layers/constants'; -import * as compareConstants from '../modules/compare/constants'; -import * as paletteConstants from '../modules/palettes/constants'; -import * as vectorStyleConstants from '../modules/vector-styles/constants'; -import { setStyleFunction } from '../modules/vector-styles/selectors'; -import { - getLayers, - getActiveLayers, - getActiveLayerGroup, - isRenderable as isRenderableLayer, - getMaxZoomLevelLayerCollection, - getAllActiveLayers, - getGranuleCount, - getGranuleLayer, - getActiveGranuleFootPrints, -} from '../modules/layers/selectors'; -import { getSelectedDate } from '../modules/date/selectors'; -import { getNumberStepsBetween, getNextDateTime } from '../modules/date/util'; -import { EXIT_ANIMATION, STOP_ANIMATION } from '../modules/animation/constants'; -import { - RENDERED, UPDATE_MAP_UI, UPDATE_MAP_EXTENT, UPDATE_MAP_ROTATION, FITTED_TO_LEADING_EXTENT, REFRESH_ROTATE, CLEAR_ROTATE, -} from '../modules/map/constants'; -import { getLeadingExtent, promiseImageryForTime } from '../modules/map/util'; -import { updateVectorSelection } from '../modules/vector-styles/util'; -import { animateCoordinates, getCoordinatesMarker, areCoordinatesWithinExtent } from '../modules/location-search/util'; -import { getNormalizedCoordinate } from '../components/location-search/util'; -import { reverseGeocode } from '../modules/location-search/util-api'; -import { startLoading, stopLoading, MAP_LOADING } from '../modules/loading/actions'; -import { - MAP_DISABLE_CLICK_ZOOM, - MAP_ENABLE_CLICK_ZOOM, - REDUX_ACTION_DISPATCHED, - GRANULE_HOVERED, - GRANULE_HOVER_UPDATE, - MAP_DRAG, - MAP_MOUSE_MOVE, - MAP_MOUSE_OUT, - MAP_MOVE_START, - MAP_ZOOMING, -} from '../util/constants'; - -const { events } = util; - -export default function mapui(models, config, store) { - const animationDuration = 250; - const granuleFootprints = {}; - const compareMapUi = mapCompare(store); - const runningdata = new MapRunningData(compareMapUi, store); - const doubleClickZoom = new OlInteractionDoubleClickZoom({ - duration: animationDuration, - }); - const cache = new Cache(400); - const layerQueue = new PQueue({ concurrency: 3 }); - const { createLayer, layerKey } = mapLayerBuilder(config, cache, store); - const self = { - cache, - mapIsbeingDragged: false, - mapIsbeingZoomed: false, - proj: {}, // One map for each projection - selected: null, // The map for the selected projection - selectedVectors: {}, - markers: [], - runningdata, - layerKey, - createLayer, - processingPromise: null, - }; - - /** - * Subscribe to redux store and listen for - * specific action types - */ - const subscribeToStore = function(action) { - const state = store.getState(); - switch (action.type) { - case layerConstants.UPDATE_GRANULE_LAYER_OPTIONS: { - const granuleOptions = { - id: action.id, - reset: null, - }; - return reloadLayers(granuleOptions); - } - case layerConstants.RESET_GRANULE_LAYER_OPTIONS: { - const granuleOptions = { - id: action.id, - reset: action.id, - }; - return reloadLayers(granuleOptions); - } - case layerConstants.ADD_LAYER: { - const def = lodashFind(action.layers, { id: action.id }); - if (def.type === 'granule') { - self.processingPromise = new Promise((resolve) => { - resolve(addLayer(def)); - }); - return self.processingPromise; - } - store.dispatch({ type: dateConstants.CLEAR_PRELOAD }); - return addLayer(def); - } - case REMOVE_MARKER: - return removeCoordinatesMarker(action.coordinates); - case SET_MARKER: { - if (action.flyToExistingMarker) { - return flyToMarker(action.coordinates); - } - return addMarkerAndUpdateStore(true, action.reverseGeocodeResults, action.isCoordinatesSearchActive, action.coordinates); - } - case TOGGLE_DIALOG_VISIBLE: - return addMarkerAndUpdateStore(false); - case CLEAR_ROTATE: { - self.selected.getView().animate({ - duration: 500, - rotation: 0, - }); - return; - } - case REFRESH_ROTATE: { - self.selected.getView().animate({ - rotation: action.rotation, - duration: 500, - }); - return; - } - case LOCATION_POP_ACTION: { - const newState = util.fromQueryString(action.payload.search); - const extent = lodashGet(state, 'map.extent'); - const rotate = lodashGet(state, 'map.rotation') || 0; - setTimeout(() => { - updateProjection(); - if (newState.v && !newState.e && extent) { - flyToNewExtent(extent, rotate); - } - }, 200); - return; - } - case layerConstants.REMOVE_GROUP: - case layerConstants.REMOVE_LAYER: - return removeLayer(action.layersToRemove); - case layerConstants.UPDATE_OPACITY: - return updateOpacity(action); - case compareConstants.CHANGE_STATE: - if (store.getState().compare.mode === 'spy') { - return reloadLayers(); - } - return; - case layerConstants.TOGGLE_OVERLAY_GROUPS: - return reloadLayers(); - case layerConstants.REORDER_LAYERS: - case layerConstants.REORDER_OVERLAY_GROUPS: - case compareConstants.TOGGLE_ON_OFF: - case compareConstants.CHANGE_MODE: - reloadLayers(); - preloadForCompareMode(); - return; - case CHANGE_PROJECTION: - return updateProjection(); - case paletteConstants.SET_THRESHOLD_RANGE_AND_SQUASH: - case paletteConstants.SET_CUSTOM: - case paletteConstants.SET_DISABLED_CLASSIFICATION: - case paletteConstants.CLEAR_CUSTOM: - case layerConstants.ADD_LAYERS_FOR_EVENT: - return setTimeout(reloadLayers, 100); - case vectorStyleConstants.SET_FILTER_RANGE: - case vectorStyleConstants.SET_VECTORSTYLE: - case vectorStyleConstants.CLEAR_VECTORSTYLE: - case SET_SCREEN_INFO: - return onResize(); - case vectorStyleConstants.SET_SELECTED_VECTORS: { - const type = 'selection'; - const newSelection = action.payload; - updateVectorSelection( - action.payload, - self.selectedVectors, - getActiveLayers(state), - type, - state, - ); - self.selectedVectors = newSelection; - return; - } - case STOP_ANIMATION: - case EXIT_ANIMATION: - return onStopAnimation(); - case dateConstants.CHANGE_CUSTOM_INTERVAL: - case dateConstants.CHANGE_INTERVAL: - return preloadNextTiles(); - case dateConstants.SELECT_DATE: - if (self.processingPromise) { - return new Promise((resolve) => { - resolve(self.processingPromise); - }).then(() => { - self.processingPromise = null; - return updateDate(action.outOfStep); - }); - } - return updateDate(action.outOfStep); - case layerConstants.TOGGLE_LAYER_VISIBILITY: - case layerConstants.TOGGLE_OVERLAY_GROUP_VISIBILITY: { - updateDate(); - break; - } - case dateConstants.ARROW_DOWN: - bufferQuickAnimate(action.value); - break; - default: - break; - } - }; - - const onGranuleHover = (platform, date, update) => { - const state = store.getState(); - const proj = self.selected.getView().getProjection().getCode(); - let geometry; - if (platform && date) { - geometry = getActiveGranuleFootPrints(state)[date]; - } - granuleFootprints[proj].addFootprint(geometry, date); - }; - - const onGranuleHoverUpdate = (platform, date) => { - const state = store.getState(); - const proj = self.selected.getView().getProjection().getCode(); - let geometry; - if (platform && date) { - geometry = getActiveGranuleFootPrints(state)[date]; - } - granuleFootprints[proj].updateFootprint(geometry, date); - }; - - /** - * During animation we swap Vector tiles for WMS for better performance. - * Once animation completes, we need to call reloadLayers to reload and replace - * the WMS tiles with Vector tiles. - * - * We also disable granule layer state updates due to performance reasons and so - * need to trigger a layer state update once animation fisnishes. - */ - const onStopAnimation = function() { - const state = store.getState(); - const activeLayers = getActiveLayers(state); - const needsRefresh = activeLayers.some(({ type }) => type === 'granule' || type === 'vector'); - if (needsRefresh) { - // The SELECT_DATE and STOP_ANIMATION actions happen back to back and both - // try to modify map layers asynchronously so we need to set a timeout to allow - // the updateDate() function to complete before trying to call reloadLayers() here - setTimeout(reloadLayers, 100); - } - }; - - const init = function() { - // NOTE: iOS sometimes bombs if this is _.each instead. In that case, - // it is possible that config.projections somehow becomes array-like. - lodashForOwn(config.projections, (proj) => { - const map = createMap(proj); - self.proj[proj.id] = map; - }); - events.on(MAP_DISABLE_CLICK_ZOOM, () => { - doubleClickZoom.setActive(false); - }); - events.on(MAP_ENABLE_CLICK_ZOOM, () => { - setTimeout(() => { - doubleClickZoom.setActive(true); - }, 100); - }); - events.on(REDUX_ACTION_DISPATCHED, subscribeToStore); - events.on(GRANULE_HOVERED, onGranuleHover); - events.on(GRANULE_HOVER_UPDATE, onGranuleHoverUpdate); - window.addEventListener('orientationchange', () => { - setTimeout(() => { updateProjection(true); }, 200); - }); - updateProjection(true); - }; - - - - /* - * Remove coordinates marker from all projections - * - * @method removeCoordinatesMarker - * @static - * - * @returns {void} - */ - const removeCoordinatesMarker = (coordinatesObject) => { - self.markers.forEach((marker) => { - if (marker.id === coordinatesObject.id) { - marker.setMap(null); - self.selected.removeOverlay(marker); - } - }); - }; - - /* - * Remove all coordinates markers - * - * @method removeAllCoordinatesMarkers - * @static - * - * @returns {void} - */ - const removeAllCoordinatesMarkers = () => { - self.markers.forEach((marker) => { - marker.setMap(null); - self.selected.removeOverlay(marker); - }); - }; - - /* - * Handle reverse geocode and add map marker with results - * - * @method handleActiveMapMarker - * @static - * - * @returns {void} - */ - const handleActiveMapMarker = () => { - const state = store.getState(); - const { locationSearch, proj } = state; - const { coordinates } = locationSearch; - removeAllCoordinatesMarkers(); - - if (coordinates && coordinates.length > 0) { - coordinates.forEach((coordinatesObject) => { - const { longitude, latitude } = coordinatesObject; - const coord = [longitude, latitude]; - if (!areCoordinatesWithinExtent(proj, coord)) return; - reverseGeocode(getNormalizedCoordinate(coord), config).then((results) => { - addMarkerAndUpdateStore(true, results, null, coordinatesObject); - }); - }); - } - }; - - const flyToMarker = (coordinatesObject) => { - const state = store.getState(); - const { proj } = state; - const { sources } = config; - const { longitude, latitude } = coordinatesObject; - const latestCoordinates = coordinatesObject && [longitude, latitude]; - const zoom = self.selected.getView().getZoom(); - const activeLayers = getActiveLayers(state).filter(({ projections }) => projections[proj.id]); - const maxZoom = getMaxZoomLevelLayerCollection(activeLayers, zoom, proj.id, sources); - animateCoordinates(self.selected, proj, latestCoordinates, maxZoom); - }; - - /* - * Add map coordinate marker and update store - * - * @method addMarkerAndUpdateStore - * @static - * - * @param {Object} geocodeResults - * @param {Boolean} shouldFlyToCoordinates - if location search via input - * @returns {void} - */ - const addMarkerAndUpdateStore = (showDialog, geocodeResults, shouldFlyToCoordinates, coordinatesObject) => { - const state = store.getState(); - const { proj, screenSize } = state; - const results = geocodeResults; - if (!results) return; - - const remove = () => store.dispatch(removeMarker(coordinatesObject)); - const marker = getCoordinatesMarker( - proj, - coordinatesObject, - results, - remove, - screenSize.isMobileDevice, - showDialog, - ); - - // prevent marker if outside of extent - if (!marker) { - return false; - } - - self.markers.push(marker); - self.selected.addOverlay(marker); - self.selected.renderSync(); - - if (shouldFlyToCoordinates) { - flyToMarker(coordinatesObject); - } - - store.dispatch(setGeocodeResults(geocodeResults)); - }; - - const flyToNewExtent = function(extent, rotation) { - const state = store.getState(); - const { proj } = state; - const coordinateX = extent[0] + (extent[2] - extent[0]) / 2; - const coordinateY = extent[1] + (extent[3] - extent[1]) / 2; - const coordinates = [coordinateX, coordinateY]; - const resolution = self.selected.getView().getResolutionForExtent(extent); - const zoom = self.selected.getView().getZoomForResolution(resolution); - // Animate to extent, zoom & rotate: - // Don't animate when an event is selected (Event selection already animates) - return fly(self.selected, proj, coordinates, zoom, rotation); - }; - - /* - * Changes visual projection - * - * @method updateProjection - * @static - * - * @param {boolean} start - new extents are needed: true/false - * - * @returns {void} - */ - function updateProjection(start) { - const state = store.getState(); - const { proj } = state; - if (self.selected) { - // Keep track of center point on projection switch - self.selected.previousCenter = self.selected.center; - hideMap(self.selected); - } - self.selected = self.proj[proj.id]; - const map = self.selected; - - const isProjectionRotatable = proj.id !== 'geographic' && proj.id !== 'webmerc'; - const currentRotation = isProjectionRotatable ? map.getView().getRotation() : 0; - const rotationStart = isProjectionRotatable ? models.map.rotation : 0; - - store.dispatch({ - type: UPDATE_MAP_UI, - ui: self, - rotation: start ? rotationStart : currentRotation, - }); - reloadLayers(); - - // If the browser was resized, the inactive map was not notified of - // the event. Force the update no matter what and reposition the center - // using the previous value. - showMap(map); - map.updateSize(); - - if (self.selected.previousCenter) { - self.selected.setCenter(self.selected.previousCenter); - } - // This is awkward and needs a refactoring - if (start) { - const projId = proj.selected.id; - let extent = null; - let callback = null; - if (models.map.extent) { - extent = models.map.extent; - } else if (!models.map.extent && projId === 'geographic') { - extent = getLeadingExtent(config.pageLoadTime); - callback = () => { - const view = map.getView(); - const extent = view.calculateExtent(map.getSize()); - store.dispatch({ type: FITTED_TO_LEADING_EXTENT, extent }); - }; - } - if (projId !== 'geographic') { - callback = () => { - const view = map.getView(); - view.setRotation(rotationStart); - }; - } - if (extent) { - map.getView().fit(extent, { - constrainResolution: false, - callback, - }); - } else if (rotationStart && projId !== 'geographic') { - callback(); - } - } - updateExtent(); - onResize(); - handleActiveMapMarker(start); - } - - /* - * When page is resized set for mobile or desktop - * - * @method onResize - * @static - * - * @returns {void} - */ - function onResize() { - const state = store.getState(); - const { screenSize } = state; - const isMobile = screenSize.isMobileDevice; - const map = self.selected; - - if (isMobile) { - map.removeControl(map.wv.scaleImperial); - map.removeControl(map.wv.scaleMetric); - } else { - map.addControl(map.wv.scaleImperial); - map.addControl(map.wv.scaleMetric); - } - } - - /* - * Hide Map - * - * @method hideMap - * @static - * - * @param {object} map - Openlayers Map obj - * - * @returns {void} - */ - function hideMap(map) { - document.getElementById(`${map.getTarget()}`).style.display = 'none'; - } - - /* - * Show Map - * - * @method showMap - * @static - * - * @param {object} map - Openlayers Map obj - * - * @returns {void} - */ - function showMap(map) { - document.getElementById(`${map.getTarget()}`).style.display = 'block'; - } - - /* - * Remove Layers from map - * - * @method clearLayers - * @static - * - * @param {object} map - Openlayers Map obj - * - * @returns {void} - */ - const clearLayers = function() { - const activeLayers = self.selected - .getLayers() - .getArray() - .slice(0); - lodashEach(activeLayers, (mapLayer) => { - self.selected.removeLayer(mapLayer); - }); - cache.clear(); - }; - - /** - * Get granule options for layerBuilding - * @param {object} state - * @param {Object} def - * @param {String} layerGroupStr - * @param {Object} options - * @returns {Object} - */ - const getGranuleOptions = (state, { id, count, type }, activeString, options) => { - if (type !== 'granule') return {}; - const reset = options && options.reset === id; - - // TODO update - const granuleState = getGranuleLayer(state, id, activeString); - let granuleDates; - let granuleCount; - let geometry; - if (granuleState) { - granuleDates = !reset ? granuleState.dates : false; - granuleCount = granuleState.count; - geometry = granuleState.geometry; - } - return { - granuleDates, - granuleCount: granuleCount || count, - geometry, - }; - }; - - /** - * @method reloadLayers - * - * @param {object} map - Openlayers Map obj - * @param {Object} granuleOptions (optional: only used for granule layers) - * @param {Boolean} granuleDates - array of granule dates - * @param {Boolean} id - layer id - * @param {boolean} start - indicate init load - * @returns {void} - */ - - async function reloadLayers(granuleOptions) { - const map = self.selected; - const state = store.getState(); - const { compare } = state; - - if (!config.features.compare || !compare.active) { - const compareMapDestroyed = !compare.active && compareMapUi.active; - if (compareMapDestroyed) { - compareMapUi.destroy(); - } - clearLayers(); - const defs = getLayers(state, { reverse: true }); - const layerPromises = defs.map((def) => { - const options = getGranuleOptions(state, def, compare.activeString, granuleOptions); - return createLayer(def, options); - }); - const createdLayers = await Promise.all(layerPromises); - lodashEach(createdLayers, (l) => { map.addLayer(l); }); - } else { - const stateArray = [['active', 'selected'], ['activeB', 'selectedB']]; - if (compare && !compare.isCompareA && compare.mode === 'spy') { - stateArray.reverse(); // Set Layer order based on active A|B group - } - clearLayers(); - const stateArrayGroups = stateArray.map(async (arr) => getCompareLayerGroup(arr, state, granuleOptions)); - const compareLayerGroups = await Promise.all(stateArrayGroups); - compareLayerGroups.forEach((layerGroup) => map.addLayer(layerGroup)); - compareMapUi.create(map, compare.mode); - } - updateLayerVisibilities(); - } - - - /** - * Create a Layergroup given the date and layerGroups - */ - async function getCompareLayerGroup([compareActiveString, compareDateString], state, granuleOptions) { - const compareSideLayers = getActiveLayers(state, compareActiveString); - const layers = getLayers(state, { reverse: true }, compareSideLayers) - .map(async (def) => { - const options = { - ...getGranuleOptions(state, def, compareActiveString, granuleOptions), - date: getSelectedDate(state, compareDateString), - group: compareActiveString, - }; - return createLayer(def, options); - }); - const compareLayerGroup = await Promise.all(layers); - - return new OlLayerGroup({ - layers: compareLayerGroup, - date: getSelectedDate(state, compareDateString), - group: compareActiveString, - }); - } - - /* - * Function called when layers need to be updated - * e.g: can be the result of new data or another display - * - * @method updateLayerVisibilities - * @static - * - * @returns {void} - */ - function updateLayerVisibilities() { - const state = store.getState(); - const layerGroup = self.selected.getLayers(); - - const setRenderable = (layer, parentCompareGroup) => { - const { id, group } = layer.wv; - const dateGroup = layer.get('date') || group === 'active' ? 'selected' : 'selectedB'; - const date = getSelectedDate(state, dateGroup); - const layers = getActiveLayers(state, parentCompareGroup || group); - const renderable = isRenderableLayer(id, layers, date, null, state); - layer.setVisible(renderable); - }; - - layerGroup.forEach((layer) => { - const compareActiveString = layer.get('group'); - const granule = layer.get('granuleGroup'); - - // Not in A|B - if (layer.wv && !granule) { - setRenderable(layer); - - // If in A|B layer-group will have a 'group' string - } else if (compareActiveString || granule) { - const compareGrouplayers = layer.getLayers().getArray(); - - compareGrouplayers.forEach((subLayer) => { - if (!subLayer.wv) { - return; - } - // TileLayers within granule LayerGroup - if (subLayer.get('granuleGroup')) { - const granuleLayers = subLayer.getLayers().getArray(); - granuleLayers.forEach((l) => setRenderable(l)); - subLayer.setVisible(true); - } - setRenderable(subLayer, compareActiveString); - }); - - layer.setVisible(true); - } - }); - } - - /* - * Sets new opacity to granule layers - * - * @method updateGranuleLayerOpacity - * @static - * - * @param {object} def - * @param {sring} activeStr - * @param {number} opacity - * @param {object} compare - * - * @returns {void} - */ - const updateGranuleLayerOpacity = (def, activeStr, opacity, compare) => { - const { id } = def; - const layers = self.selected.getLayers().getArray(); - lodashEach(Object.keys(layers), (index) => { - const layer = layers[index]; - if (layer.className_ === 'ol-layer') { - if (compare && compare.active) { - const layerGroup = layer.getLayers().getArray(); - lodashEach(Object.keys(layerGroup), (groupIndex) => { - const compareLayerGroup = layerGroup[groupIndex]; - if (compareLayerGroup.wv.id === id) { - const tileLayer = compareLayerGroup.getLayers().getArray(); - - // inner first granule group tile layer - const firstTileLayer = tileLayer[0]; - if (firstTileLayer.wv.id === id) { - if (firstTileLayer.wv.group === activeStr) { - compareLayerGroup.setOpacity(opacity); - } - } - } - }); - } else if (layer.wv.id === id) { - if (layer.wv.group === activeStr) { - layer.setOpacity(opacity); - } - } - } - }); - }; - - /** - * Sets new opacity to layer - * @param {object} def - layer Specs - * @param {number} value - number value - * @returns {void} - */ - function updateOpacity(action) { - const { id, opacity } = action; - const state = store.getState(); - const { compare } = state; - const activeStr = compare.isCompareA ? 'active' : 'activeB'; - const def = lodashFind(getActiveLayers(state), { id }); - if (def.type === 'granule') { - updateGranuleLayerOpacity(def, activeStr, opacity, compare); - } else { - const layerGroup = findLayer(def, activeStr); - layerGroup.getLayersArray().forEach((l) => { - l.setOpacity(opacity); - }); - } - updateLayerVisibilities(); - } - - /** - * Initiates the adding of a layer - * @param {object} def - layer Specs - * @returns {void} - */ - const addLayer = async function(def, date, activeLayers) { - const state = store.getState(); - const { compare } = state; - date = date || getSelectedDate(state); - activeLayers = activeLayers || getActiveLayers(state); - const reverseLayers = lodashCloneDeep(activeLayers).reverse(); - const index = lodashFindIndex(reverseLayers, { id: def.id }); - const mapLayers = self.selected.getLayers().getArray(); - const firstLayer = mapLayers[0]; - - if (firstLayer && firstLayer.get('group') && firstLayer.get('granule') !== true) { - const activelayer = firstLayer.get('group') === compare.activeString - ? firstLayer - : mapLayers[1]; - const options = { - date, - group: compare.activeString, - }; - const newLayer = await createLayer(def, options); - activelayer.getLayers().insertAt(index, newLayer); - compareMapUi.create(self.selected, compare.mode); - } else { - const newLayer = await createLayer(def); - self.selected.getLayers().insertAt(index, newLayer); - } - - updateLayerVisibilities(); - preloadNextTiles(); - }; - - - function removeLayer(layersToRemove) { - const state = store.getState(); - const { compare } = state; - - layersToRemove.forEach((def) => { - const layer = findLayer(def, compare.activeString); - if (compare && compare.active) { - const layerGroup = getActiveLayerGroup(state); - if (layerGroup) layerGroup.getLayers().remove(layer); - } else { - self.selected.removeLayer(layer); - } - }); - - updateLayerVisibilities(); - } - - function updateVectorStyles (def) { - const state = store.getState(); - const activeLayers = getActiveLayers(state); - const { vectorStyles } = config; - const layerName = def.layer || def.id; - let vectorStyleId; - - vectorStyleId = def.vectorStyle.id; - if (activeLayers) { - activeLayers.forEach((layer) => { - if (layer.id === layerName && layer.custom) { - vectorStyleId = layer.custom; - } - }); - } - setStyleFunction(def, vectorStyleId, vectorStyles, null, state); - } - - async function updateCompareLayer (def, index, layerCollection) { - const state = store.getState(); - const { compare } = state; - const options = { - group: compare.activeString, - date: getSelectedDate(state), - ...getGranuleOptions(state, def, compare.activeString), - }; - const updatedLayer = await createLayer(def, options); - layerCollection.setAt(index, updatedLayer); - compareMapUi.update(compare.activeString); - } - - async function updateDate(outOfStepChange) { - const state = store.getState(); - const { compare = {} } = state; - const layerGroup = getActiveLayerGroup(state); - const mapLayerCollection = layerGroup.getLayers(); - const layers = mapLayerCollection.getArray(); - const activeLayers = getAllActiveLayers(state); - const visibleLayers = activeLayers.filter( - ({ id }) => layers - .map(({ wv }) => lodashGet(wv, 'def.id')) - .includes(id), - ).filter(({ visible }) => visible); - - const layerPromises = visibleLayers.map(async (def) => { - const { id, type } = def; - const temporalLayer = ['subdaily', 'daily', 'monthly', 'yearly'] - .includes(def.period); - const index = findLayerIndex(def); - const hasVectorStyles = config.vectorStyles && lodashGet(def, 'vectorStyle.id'); - - if (compare.active && layers.length) { - await updateCompareLayer(def, index, mapLayerCollection); - } else if (temporalLayer) { - if (index !== undefined && index !== -1) { - const layerValue = layers[index]; - const layerOptions = type === 'granule' - ? { granuleCount: getGranuleCount(state, id) } - : { previousLayer: layerValue ? layerValue.wv : null }; - const updatedLayer = await createLayer(def, layerOptions); - mapLayerCollection.setAt(index, updatedLayer); - } - } - if (hasVectorStyles && temporalLayer) { - updateVectorStyles(def); - } - }); - await Promise.all(layerPromises); - updateLayerVisibilities(); - if (!outOfStepChange) { - preloadNextTiles(); - } - } - - /** - * Preload tiles for the next and previous time interval so they are visible - * as soon as the user changes the date. We will usually only end up actually requesting - * either previous or next interval tiles since tiles are cached. - * (e.g. user adjust from July 1 => July 2, we preload July 3 which is "next" - * but no requests get made for "previous", July 1, since those are cached already. - */ - async function preloadNextTiles(date, compareString) { - const state = store.getState(); - const { - lastPreloadDate, preloaded, lastArrowDirection, arrowDown, - } = state.date; - const { activeString } = state.compare; - const useActiveString = compareString || activeString; - const useDate = date || (preloaded ? lastPreloadDate : getSelectedDate(state)); - const nextDate = getNextDateTime(state, 1, useDate); - const prevDate = getNextDateTime(state, -1, useDate); - const subsequentDate = lastArrowDirection === 'right' ? nextDate : prevDate; - - // If we've preloaded N dates out, we need to use the latest - // preloaded date the next time we call this function or the buffer - // won't stay ahead of the 'animation' when holding down timetep arrows - if (preloaded && lastArrowDirection) { - store.dispatch({ - type: dateConstants.SET_PRELOAD, - preloaded: true, - lastPreloadDate: subsequentDate, - }); - layerQueue.add(() => promiseImageryForTime(state, subsequentDate, useActiveString)); - return; - } - - layerQueue.add(() => promiseImageryForTime(state, nextDate, useActiveString)); - layerQueue.add(() => promiseImageryForTime(state, prevDate, useActiveString)); - - if (!date && !arrowDown) { - preloadNextTiles(subsequentDate, useActiveString); - } - } - - function preloadForCompareMode() { - const { date, compare } = store.getState(); - const { selected, selectedB } = date; - preloadNextTiles(selected, 'active'); - if (compare.active) { - preloadNextTiles(selectedB, 'activeB'); - } - } - - async function bufferQuickAnimate(arrowDown) { - const BUFFER_SIZE = 8; - const preloadPromises = []; - const state = store.getState(); - const { preloaded, lastPreloadDate } = state.date; - const selectedDate = getSelectedDate(state); - const currentBuffer = preloaded ? getNumberStepsBetween(state, selectedDate, lastPreloadDate) : 0; - - if (currentBuffer >= BUFFER_SIZE) { - return; - } - - const currentDate = preloaded ? lastPreloadDate : selectedDate; - const direction = arrowDown === 'right' ? 1 : -1; - let nextDate = getNextDateTime(state, direction, currentDate); - - for (let step = 1; step <= BUFFER_SIZE; step += 1) { - preloadPromises.push(promiseImageryForTime(state, nextDate)); - if (step !== BUFFER_SIZE) { - nextDate = getNextDateTime(state, direction, nextDate); - } - } - await Promise.all(preloadPromises); - - store.dispatch({ - type: dateConstants.SET_PRELOAD, - preloaded: true, - lastPreloadDate: nextDate, - }); - } - - /* - * Get a layer object from id - * - * @method findLayer - * @static - * - * @param {object} def - Layer Specs - * - * - * @returns {object} Layer object - */ - function findLayer(def, activeCompareState) { - const layers = self.selected.getLayers().getArray(); - let layer = lodashFind(layers, { - wv: { - id: def.id, - }, - }); - - if (!layer && layers.length && (layers[0].get('group') || layers[0].get('granuleGroup'))) { - let olGroupLayer; - const layerKey = `${def.id}-${activeCompareState}`; - lodashEach(layers, (layerGroup) => { - if (layerGroup.get('layerId') === layerKey || layerGroup.get('group') === activeCompareState) { - olGroupLayer = layerGroup; - } - }); - const subGroup = olGroupLayer.getLayers().getArray(); - layer = lodashFind(subGroup, { - wv: { - id: def.id, - }, - }); - } - return layer; - } - - /* - * Return an Index value for a layer in the OPenLayers layer array - * @method findLayerIndex - * @param {object} def - Layer Specs - - * @returns {number} Index of layer in OpenLayers layer array - */ - function findLayerIndex({ id }) { - const state = store.getState(); - const layerGroup = getActiveLayerGroup(state); - const layers = layerGroup.getLayers().getArray(); - return lodashFindIndex(layers, { - wv: { id }, - }); - } - - const updateExtent = () => { - const map = self.selected; - const view = map.getView(); - const extent = view.calculateExtent(); - store.dispatch({ type: UPDATE_MAP_EXTENT, extent }); - if (map.isRendered()) { - store.dispatch({ type: dateConstants.CLEAR_PRELOAD }); - } - }; - - /* - * Create map object - * - * @method createMap - * @static - * - * @param {object} proj - Projection properties - * @param {object} dateSelected - * - * @returns {object} OpenLayers Map Object - */ - function createMap(proj, dateSelected) { - const state = store.getState(); - dateSelected = dateSelected || getSelectedDate(state); - const mapContainerEl = document.getElementById('wv-map'); - const mapEl = document.createElement('div'); - const id = `wv-map-${proj.id}`; - - mapEl.setAttribute('id', id); - mapEl.setAttribute('data-proj', proj.id); - mapEl.classList.add('wv-map'); - mapEl.style.display = 'none'; - mapContainerEl.insertAdjacentElement('afterbegin', mapEl); - - - // Create two specific controls - const scaleMetric = new OlControlScaleLine({ - className: 'wv-map-scale-metric', - units: 'metric', - }); - const scaleImperial = new OlControlScaleLine({ - className: 'wv-map-scale-imperial', - units: 'imperial', - }); - const rotateInteraction = new OlInteractionDragRotate({ - condition: altKeyOnly, - duration: animationDuration, - }); - const mobileRotation = new OlInteractionPinchRotate({ - duration: animationDuration, - }); - const map = new OlMap({ - view: new OlView({ - maxResolution: proj.resolutions[0], - projection: olProj.get(proj.crs), - center: proj.startCenter, - zoom: proj.startZoom, - maxZoom: proj.numZoomLevels, - enableRotation: true, - extent: proj.id === 'geographic' ? [-250, -90, 250, 90] : proj.maxExtent, - constrainOnlyCenter: true, - }), - target: id, - renderer: ['canvas'], - logo: false, - controls: [scaleMetric, scaleImperial], - interactions: [ - doubleClickZoom, - new OlInteractionDragPan({ - kinetic: new OlKinetic(-0.005, 0.05, 100), - }), - new OlInteractionPinchZoom({ - duration: animationDuration, - }), - new OlInteractionMouseWheelZoom({ - duration: animationDuration, - }), - new OlInteractionDragZoom({ - duration: animationDuration, - }), - ], - loadTilesWhileAnimating: true, - loadTilesWhileInteracting: true, - maxTilesLoading: 32, - }); - map.wv = { - scaleMetric, - scaleImperial, - }; - map.proj = proj.id; - createMousePosSel(map, proj); - map.getView().on('change:resolution', () => { - events.trigger(MAP_MOVE_START); - }); - - // This component is inside the map viewport container. Allowing - // mouse move events to bubble up displays map coordinates--let those - // be blank when over a component. - document.querySelector('.wv-map-scale-metric').addEventListener('mousemove', (e) => e.stopPropagation()); - document.querySelector('.wv-map-scale-imperial').addEventListener('mousemove', (e) => e.stopPropagation()); - - // Allow rotation (hold ALT + click & drag) for polar projections - if (proj.id !== 'geographic' && proj.id !== 'webmerc') { - map.addInteraction(rotateInteraction); - map.addInteraction(mobileRotation); - } - - const onRotate = () => { - const radians = map.getView().getRotation(); - store.dispatch({ - type: UPDATE_MAP_ROTATION, - rotation: radians, - }); - const currentDeg = radians * (180.0 / Math.PI); - saveRotation(currentDeg, map.getView()); - updateExtent(); - }; - - // Set event listeners for changes on the map view (when rotated, zoomed, panned) - const debouncedUpdateExtent = lodashDebounce(updateExtent, 300); - const debouncedOnRotate = lodashDebounce(onRotate, 300); - - map.getView().on('change:center', debouncedUpdateExtent); - map.getView().on('change:resolution', debouncedUpdateExtent); - map.getView().on('change:rotation', debouncedOnRotate); - - map.on('pointerdrag', () => { - self.mapIsbeingDragged = true; - events.trigger(MAP_DRAG); - }); - map.getView().on('propertychange', (e) => { - switch (e.key) { - case 'resolution': - self.mapIsbeingZoomed = true; - events.trigger(MAP_ZOOMING); - break; - default: - break; - } - }); - map.on('moveend', (e) => { - setTimeout(() => { - self.mapIsbeingDragged = false; - self.mapIsbeingZoomed = false; - }, 200); - }); - const onRenderComplete = () => { - store.dispatch({ type: RENDERED }); - store.dispatch({ - type: UPDATE_MAP_UI, - ui: self, - rotation: self.selected.getView().getRotation(), - }); - setTimeout(preloadForCompareMode, 250); - map.un('rendercomplete', onRenderComplete); - }; - - map.on('loadstart', () => { - store.dispatch(startLoading(MAP_LOADING)); - }); - map.on('loadend', () => { - store.dispatch(stopLoading(MAP_LOADING)); - }); - map.on('rendercomplete', onRenderComplete); - granuleFootprints[proj.crs] = granuleFootprint(map); - window.addEventListener('resize', () => { - map.getView().changed(); - }); - return map; - } - - /** - * Creates map events based on mouse position - * @param {object} map - OpenLayers Map Object - * @returns {void} - */ - function createMousePosSel(map) { - const throttledOnMouseMove = lodashThrottle(({ pixel }) => { - const state = store.getState(); - const { - events, locationSearch, sidebar, animation, measure, screenSize, - } = state; - const { isCoordinateSearchActive } = locationSearch; - const isMobile = screenSize.isMobileDevice; - const coords = map.getCoordinateFromPixel(pixel); - const isEventsTabActive = typeof events !== 'undefined' && events.active; - const isMapAnimating = animation.isPlaying; - - if (map.proj !== state.map.ui.selected.proj) return; - if (self.mapIsbeingZoomed) return; - if (self.mapIsbeingDragged) return; - if (compareMapUi && compareMapUi.dragging) return; - if (isMobile) return; - if (measure.isActive) return; - if (isCoordinateSearchActive) return; - if (!coords) return; - if (isEventsTabActive || isMapAnimating || sidebar.activeTab === 'download') return; - - runningdata.newPoint(pixel, map); - }, 300); - - events.on(MAP_MOUSE_MOVE, throttledOnMouseMove); - events.on(MAP_MOUSE_OUT, (e) => { - throttledOnMouseMove.cancel(); - runningdata.clearAll(); - }); - } - - if (document.getElementById('app')) { - init(); - } - - return self; -} diff --git a/web/js/mapUI/combineUI.js b/web/js/mapUI/combineUI.js new file mode 100644 index 0000000000..11742a965a --- /dev/null +++ b/web/js/mapUI/combineUI.js @@ -0,0 +1,136 @@ +import React, { useEffect, useState } from 'react'; +import PropTypes from 'prop-types'; +import Cache from 'cachai'; +import PQueue from 'p-queue'; +import util from '../util/util'; +import MapRunningData from '../map/runningdata'; +import { + REDUX_ACTION_DISPATCHED, + MAP_MOUSE_OUT, + MAP_MOVE_END, + MAP_MOUSE_MOVE, + MAP_SINGLE_CLICK, + MAP_CONTEXT_MENU, +} from '../util/constants'; +import mapCompare from '../map/compare/compare'; +import mapLayerBuilder from '../map/layerbuilder'; +import MapUI from './mapUI'; + +const { events } = util; + +const CombineUI = (props) => { + const { + models, + config, + store, + } = props; + + const registerMapMouseHandlers = (maps) => { + Object.values(maps).forEach((map) => { + const element = map.getTargetElement(); + const crs = map.getView().getProjection().getCode(); + + element.addEventListener('mouseleave', (event) => { + events.trigger(MAP_MOUSE_OUT, event); + }); + map.on('moveend', (event) => { + events.trigger(MAP_MOVE_END, event, map, crs); + }); + map.on('pointermove', (event) => { + events.trigger(MAP_MOUSE_MOVE, event, map, crs); + }); + map.on('singleclick', (event) => { + events.trigger(MAP_SINGLE_CLICK, event, map, crs); + }); + map.on('contextmenu', (event) => { + events.trigger(MAP_CONTEXT_MENU, event, map, crs); + }); + }); + }; + + const cache = new Cache(400); + const layerQueue = new PQueue({ concurrency: 3 }); + const compareMapUi = mapCompare(store); + const runningdata = new MapRunningData(compareMapUi, store); + const { createLayer, layerKey } = mapLayerBuilder(config, cache, store); + + const [ui, setUI] = useState({ + cache, + mapIsbeingDragged: false, + mapIsbeingZoomed: false, + proj: {}, // One map for each projection + selected: null, // The map for the selected projection + selectedVectors: {}, + markers: [], + runningdata, + layerKey, + createLayer, + processingPromise: null, + }); + + const uiProperties = {}; + + const combineUiFunction = () => { + const subscribeToStore = function () { + const state = store.getState(); + const action = state.lastAction; + return events.trigger(REDUX_ACTION_DISPATCHED, action); + }; + store.subscribe(subscribeToStore); + + uiProperties.map = ui; + uiProperties.supportsPassive = false; + try { + const opts = Object.defineProperty({}, 'passive', { + // eslint-disable-next-line getter-return + get() { + uiProperties.supportsPassive = true; + }, + }); + window.addEventListener('testPassive', null, opts); + window.removeEventListener('testPassive', null, opts); + } catch (e) { + util.warn(e); + } + + registerMapMouseHandlers(uiProperties.map.proj); + + // Sink all focus on inputs if click unhandled + document.addEventListener('click', (e) => { + if (e.target.nodeName !== 'INPUT') { + document.querySelectorAll('input').forEach((el) => el.blur()); + } + }); + document.activeElement.blur(); + document.querySelectorAll('input').forEach((el) => el.blur()); + + return uiProperties; + }; + + useEffect(() => { + if (ui.proj) { + combineUiFunction(); + } + }, [ui]); + + return ( + <> + + + ); +}; + +export default CombineUI; + +CombineUI.propTypes = { + config: PropTypes.object, + models: PropTypes.object, + store: PropTypes.object, +}; diff --git a/web/js/mapUI/components/buffer-quick-animate/bufferQuickAnimate.js b/web/js/mapUI/components/buffer-quick-animate/bufferQuickAnimate.js new file mode 100644 index 0000000000..7af97c52ca --- /dev/null +++ b/web/js/mapUI/components/buffer-quick-animate/bufferQuickAnimate.js @@ -0,0 +1,92 @@ +import { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { getNumberStepsBetween, getNextDateTime } from '../../../modules/date/util'; +import { getSelectedDate } from '../../../modules/date/selectors'; +import { promiseImageryForTime } from '../../../modules/map/util'; +import { setPreload } from '../../../modules/date/actions'; + +const BufferQuickAnimate = (props) => { + const { + action, + date, + dateCompareState, + lastPreloadDate, + preloaded, + promiseImageryState, + setPreload, + } = props; + + useEffect(() => { + if (action.value) { + bufferQuickAnimate(action.value); + } + }, [action]); + + async function bufferQuickAnimate(arrowDown) { + const BUFFER_SIZE = 8; + const preloadPromises = []; + const selectedDate = getSelectedDate(dateCompareState); + const dateState = { date }; + const currentBuffer = preloaded ? getNumberStepsBetween(dateState, selectedDate, lastPreloadDate) : 0; + + if (currentBuffer >= BUFFER_SIZE) { + return; + } + + const currentDate = preloaded ? lastPreloadDate : selectedDate; + const direction = arrowDown === 'right' ? 1 : -1; + let nextDate = getNextDateTime(dateCompareState, direction, currentDate); + + for (let step = 1; step <= BUFFER_SIZE; step += 1) { + preloadPromises.push(promiseImageryForTime(promiseImageryState, nextDate)); + if (step !== BUFFER_SIZE) { + nextDate = getNextDateTime(dateCompareState, direction, nextDate); + } + } + await Promise.all(preloadPromises); + setPreload(true, nextDate); + } + + return null; +}; + +const mapStateToProps = (state) => { + const { + date, map, proj, embed, compare, layers, palettes, vectorStyles, + } = state; + const dateCompareState = { date, compare }; + const { preloaded, lastPreloadDate } = date; + const promiseImageryState = { + map, proj, embed, compare, layers, palettes, vectorStyles, + }; + + return { + date, + dateCompareState, + lastPreloadDate, + preloaded, + promiseImageryState, + }; +}; + +const mapDispatchToProps = (dispatch) => ({ + setPreload: (preloaded, lastPreloadDate) => { + dispatch(setPreload(preloaded, lastPreloadDate)); + }, +}); + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(BufferQuickAnimate); + +BufferQuickAnimate.propTypes = { + action: PropTypes.object, + date: PropTypes.object, + dateCompareState: PropTypes.object, + lastPreloadDate: PropTypes.object, + preloaded: PropTypes.bool, + promiseImageryState: PropTypes.object, + setPreload: PropTypes.func, +}; diff --git a/web/js/mapUI/components/create-map/createMap.js b/web/js/mapUI/components/create-map/createMap.js new file mode 100644 index 0000000000..eeb6ff51fb --- /dev/null +++ b/web/js/mapUI/components/create-map/createMap.js @@ -0,0 +1,279 @@ +import { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { + forOwn as lodashForOwn, + debounce as lodashDebounce, +} from 'lodash'; +import OlMap from 'ol/Map'; +import OlView from 'ol/View'; +import OlKinetic from 'ol/Kinetic'; +import OlControlScaleLine from 'ol/control/ScaleLine'; +import { altKeyOnly } from 'ol/events/condition'; +import OlInteractionPinchRotate from 'ol/interaction/PinchRotate'; +import OlInteractionDragRotate from 'ol/interaction/DragRotate'; +import OlInteractionDoubleClickZoom from 'ol/interaction/DoubleClickZoom'; +import OlInteractionPinchZoom from 'ol/interaction/PinchZoom'; +import OlInteractionDragPan from 'ol/interaction/DragPan'; +import OlInteractionMouseWheelZoom from 'ol/interaction/MouseWheelZoom'; +import OlInteractionDragZoom from 'ol/interaction/DragZoom'; +import * as olProj from 'ol/proj'; +import util from '../../../util/util'; +import { + refreshRotation, + updateRenderedState, + updateMapUI, +} from '../../../modules/map/actions'; +import { saveRotation } from '../../../map/util'; +import { + MAP_DISABLE_CLICK_ZOOM, + MAP_ENABLE_CLICK_ZOOM, + MAP_DRAG, + MAP_MOVE_START, + MAP_ZOOMING, +} from '../../../util/constants'; +import { startLoading, stopLoading, MAP_LOADING } from '../../../modules/loading/actions'; +import { granuleFootprint } from '../../../map/granule/util'; + +const { events } = util; + +const CreateMap = (props) => { + const { + config, + isMapSet, + preloadForCompareMode, + setGranuleFootprints, + setMap, + setUI, + startLoading, + stopLoading, + ui, + updateExtent, + updateMapUI, + updateRenderedState, + updateRotation, + } = props; + + const { projections } = config; + let granuleFootprintsObj = {}; + const animationDuration = 250; + const doubleClickZoom = new OlInteractionDoubleClickZoom({ + duration: animationDuration, + }); + + useEffect(() => { + if (isMapSet) return; + setMap(true); + const uiCopy = ui; + lodashForOwn(projections, (proj) => { + const map = mapCreation(proj, uiCopy); + uiCopy.proj[proj.id] = map; + }); + setGranuleFootprints(granuleFootprintsObj); + setUI(uiCopy); + }); + + /** + * Create map object + * + * @method createMap + * @static + * + * @param {object} proj - Projection properties + * @param {object} dateSelected + * + * @returns {object} OpenLayers Map Object + */ + const mapCreation = (proj, uiCopy) => { + const mapContainerEl = document.getElementById('wv-map'); + const mapEl = document.createElement('div'); + const id = `wv-map-${proj.id}`; + + mapEl.setAttribute('id', id); + mapEl.setAttribute('data-proj', proj.id); + mapEl.classList.add('wv-map'); + mapEl.style.display = 'none'; + mapContainerEl.insertAdjacentElement('afterbegin', mapEl); + + const scaleMetric = new OlControlScaleLine({ + className: 'wv-map-scale-metric', + units: 'metric', + }); + const scaleImperial = new OlControlScaleLine({ + className: 'wv-map-scale-imperial', + units: 'imperial', + }); + const rotateInteraction = new OlInteractionDragRotate({ + condition: altKeyOnly, + duration: animationDuration, + }); + const mobileRotation = new OlInteractionPinchRotate({ + duration: animationDuration, + }); + const map = new OlMap({ + view: new OlView({ + maxResolution: proj.resolutions[0], + projection: olProj.get(proj.crs), + center: proj.startCenter, + zoom: proj.startZoom, + maxZoom: proj.numZoomLevels, + enableRotation: true, + extent: proj.id === 'geographic' ? [-250, -90, 250, 90] : proj.maxExtent, + constrainOnlyCenter: true, + }), + target: id, + renderer: ['canvas'], + logo: false, + controls: [scaleMetric, scaleImperial], + interactions: [ + doubleClickZoom, + new OlInteractionDragPan({ + kinetic: new OlKinetic(-0.005, 0.05, 100), + }), + new OlInteractionPinchZoom({ + duration: animationDuration, + }), + new OlInteractionMouseWheelZoom({ + duration: animationDuration, + }), + new OlInteractionDragZoom({ + duration: animationDuration, + }), + ], + loadTilesWhileAnimating: true, + loadTilesWhileInteracting: true, + maxTilesLoading: 32, + }); + map.wv = { + scaleMetric, + scaleImperial, + }; + map.proj = proj.id; + + map.getView().on('change:resolution', () => { + events.trigger(MAP_MOVE_START); + }); + + // This component is inside the map viewport container. Allowing + // mouse move events to bubble up displays map coordinates--let those + // be blank when over a component. + document.querySelector('.wv-map-scale-metric').addEventListener('mousemove', (e) => e.stopPropagation()); + document.querySelector('.wv-map-scale-imperial').addEventListener('mousemove', (e) => e.stopPropagation()); + + // Allow rotation by dragging for polar projections + if (proj.id !== 'geographic' && proj.id !== 'webmerc') { + map.addInteraction(rotateInteraction); + map.addInteraction(mobileRotation); + } + + const onRotate = () => { + const radians = map.getView().getRotation(); + updateRotation(radians); + const PI_OVER_180 = Math.PI / 180; + const currentDeg = radians * PI_OVER_180; + saveRotation(currentDeg, map.getView()); + updateExtent(); + }; + + // Set event listeners for changes on the map view (when rotated, zoomed, panned) + const debouncedUpdateExtent = lodashDebounce(updateExtent, 300); + const debouncedOnRotate = lodashDebounce(onRotate, 300); + + map.getView().on('change:center', debouncedUpdateExtent); + map.getView().on('change:resolution', debouncedUpdateExtent); + map.getView().on('change:rotation', debouncedOnRotate); + + map.on('pointerdrag', () => { + uiCopy.mapIsbeingDragged = true; + events.trigger(MAP_DRAG); + }); + map.getView().on('propertychange', (e) => { + switch (e.key) { + case 'resolution': + uiCopy.mapIsbeingZoomed = true; + events.trigger(MAP_ZOOMING); + break; + default: + break; + } + }); + map.on('moveend', (e) => { + setTimeout(() => { + uiCopy.mapIsbeingDragged = false; + uiCopy.mapIsbeingZoomed = false; + }, 200); + }); + const onRenderComplete = () => { + updateRenderedState(); + updateMapUI(uiCopy, uiCopy.selected.getView().getRotation()); + setTimeout(preloadForCompareMode, 250); + + map.un('rendercomplete', onRenderComplete); + }; + + map.on('loadstart', () => { + startLoading(MAP_LOADING); + }); + map.on('loadend', () => { + stopLoading(MAP_LOADING); + }); + map.on('rendercomplete', onRenderComplete); + + granuleFootprintsObj = { ...granuleFootprintsObj, [proj.crs]: granuleFootprint(map) }; + + window.addEventListener('resize', () => { + map.getView().changed(); + }); + + events.on(MAP_DISABLE_CLICK_ZOOM, () => { + doubleClickZoom.setActive(false); + }); + events.on(MAP_ENABLE_CLICK_ZOOM, () => { + setTimeout(() => { + doubleClickZoom.setActive(true); + }, 100); + }); + return map; + }; + + return null; +}; + +const mapDispatchToProps = (dispatch) => ({ + updateRotation: (rotation) => { + dispatch(refreshRotation(rotation)); + }, + updateRenderedState: () => { + dispatch(updateRenderedState()); + }, + updateMapUI: (ui, rotation) => { + dispatch(updateMapUI(ui, rotation)); + }, + startLoading: (key) => { + dispatch(startLoading(key)); + }, + stopLoading: (key) => { + dispatch(stopLoading(key)); + }, +}); + +export default connect( + null, + mapDispatchToProps, +)(CreateMap); + +CreateMap.propTypes = { + config: PropTypes.object, + isMapSet: PropTypes.bool, + preloadForCompareMode: PropTypes.func, + setGranuleFootprints: PropTypes.func, + setMap: PropTypes.func, + setUI: PropTypes.func, + startLoading: PropTypes.func, + stopLoading: PropTypes.func, + ui: PropTypes.object, + updateExtent: PropTypes.func, + updateMapUI: PropTypes.func, + updateRenderedState: PropTypes.func, + updateRotation: PropTypes.func, +}; diff --git a/web/js/mapUI/components/granule-hover/granuleHover.js b/web/js/mapUI/components/granule-hover/granuleHover.js new file mode 100644 index 0000000000..8c8a033d2d --- /dev/null +++ b/web/js/mapUI/components/granule-hover/granuleHover.js @@ -0,0 +1,56 @@ +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { getActiveGranuleFootPrints } from '../../../modules/layers/selectors'; +import { GRANULE_HOVERED, GRANULE_HOVER_UPDATE } from '../../../util/constants'; +import util from '../../../util/util'; + +const { events } = util; + +const GranuleHover = (props) => { + const { + granuleFootprints, + state, + ui, + } = props; + + const onGranuleHover = (platform, date, update) => { + const proj = ui.selected.getView().getProjection().getCode(); + if (!granuleFootprints[proj]) return; + let geometry; + if (platform && date) { + geometry = getActiveGranuleFootPrints(state)[date]; + } + granuleFootprints[proj].addFootprint(geometry, date); + }; + + const onGranuleHoverUpdate = (platform, date) => { + const proj = ui.selected.getView().getProjection().getCode(); + if (!granuleFootprints[proj]) return; + let geometry; + if (platform && date) { + geometry = getActiveGranuleFootPrints(state)[date]; + } + if (!geometry) return; + granuleFootprints[proj].updateFootprint(geometry, date); + }; + + events.on(GRANULE_HOVERED, onGranuleHover); + events.on(GRANULE_HOVER_UPDATE, onGranuleHoverUpdate); + + return null; +}; + +const mapStateToProps = (state) => ({ + state, +}); + +export default connect( + mapStateToProps, +)(GranuleHover); + +GranuleHover.propTypes = { + granuleFootprints: PropTypes.object, + setGranuleFootprints: PropTypes.func, + state: PropTypes.object, + ui: PropTypes.object, +}; diff --git a/web/js/mapUI/components/layers/addLayer.js b/web/js/mapUI/components/layers/addLayer.js new file mode 100644 index 0000000000..7533399bfd --- /dev/null +++ b/web/js/mapUI/components/layers/addLayer.js @@ -0,0 +1,116 @@ +import React, { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { + cloneDeep as lodashCloneDeep, + findIndex as lodashFindIndex, + find as lodashFind, +} from 'lodash'; +import { getActiveLayers } from '../../../modules/layers/selectors'; +import * as layerConstants from '../../../modules/layers/constants'; +import { clearPreload } from '../../../modules/date/actions'; + +const AddLayer = (props) => { + const { + action, + activeLayersState, + activeString, + compareMapUi, + mode, + preloadNextTiles, + selected, + updateLayerVisibilities, + ui, + } = props; + + useEffect(() => { + if (action.type === layerConstants.ADD_LAYER) { + const def = lodashFind(action.layers, { id: action.id }); + if (def.type === 'granule') { + granuleLayerAdd(def); + } + clearPreload(); + addLayer(def); + } + }, [action]); + + const granuleLayerAdd = (def) => { + ui.processingPromise = new Promise((resolve) => { + resolve(addLayer(def)); + }); + return addLayer(def); + }; + + /** + * Initiates the adding of a layer + * @param {object} def - layer Specs + * @returns {void} + */ + const addLayer = async function(def, layerDate, activeLayersParam) { + const { createLayer } = ui; + const date = layerDate || selected; + const activeLayers = activeLayersParam || activeLayersState; + const reverseLayers = lodashCloneDeep(activeLayers).reverse(); + const index = lodashFindIndex(reverseLayers, { id: def.id }); + const mapLayers = ui.selected.getLayers().getArray(); + const firstLayer = mapLayers[0]; + + if (firstLayer && firstLayer.get('group') && firstLayer.get('granule') !== true) { + const activelayer = firstLayer.get('group') === activeString + ? firstLayer + : mapLayers[1]; + const options = { + date, + group: activeString, + }; + const newLayer = await createLayer(def, options); + activelayer.getLayers().insertAt(index, newLayer); + compareMapUi.create(ui.selected, mode); + } else { + const newLayer = await createLayer(def); + ui.selected.getLayers().insertAt(index, newLayer); + } + updateLayerVisibilities(); + preloadNextTiles(); + }; + return null; +}; + +const mapStateToProps = (state) => { + const { compare, date } = state; + const { activeString, mode } = compare; + const { selected } = date; + const activeLayersState = getActiveLayers(state); + return { + activeLayersState, + activeString, + mode, + selected, + }; +}; + +const mapDispatchToProps = (dispatch) => ({ + clearPreload: () => { + dispatch(clearPreload()); + }, +}); + +export default React.memo( + connect( + mapStateToProps, + mapDispatchToProps, + )(AddLayer), +); + +AddLayer.propTypes = { + activeLayersState: PropTypes.array, + activeString: PropTypes.string, + action: PropTypes.object, + clearPreload: PropTypes.func, + compareMapUi: PropTypes.object, + mode: PropTypes.string, + preloadNextTiles: PropTypes.func, + selected: PropTypes.object, + updateLayerVisibilities: PropTypes.func, + ui: PropTypes.object, +}; diff --git a/web/js/mapUI/components/layers/removeLayer.js b/web/js/mapUI/components/layers/removeLayer.js new file mode 100644 index 0000000000..6f31d3718b --- /dev/null +++ b/web/js/mapUI/components/layers/removeLayer.js @@ -0,0 +1,54 @@ +import React, { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; + +const RemoveLayer = (props) => { + const { + action, + compare, + findLayer, + ui, + updateLayerVisibilities, + } = props; + + useEffect(() => { + if (action.layersToRemove) { + removeLayer(action.layersToRemove); + } + }, [action]); + + const removeLayer = (layersToRemove) => { + layersToRemove.forEach((def) => { + const layer = findLayer(def, compare.activeString); + if (compare && compare.active) { + if (ui.selected) ui.selected.getLayers().remove(layer); + } else { + ui.selected.removeLayer(layer); + } + }); + updateLayerVisibilities(); + }; + + return null; +}; + +const mapStateToProps = (state) => { + const { compare } = state; + + return { + compare, + }; +}; +export default React.memo( + connect( + mapStateToProps, + )(RemoveLayer), +); + +RemoveLayer.propTypes = { + action: PropTypes.any, + compare: PropTypes.object, + findLayer: PropTypes.func, + ui: PropTypes.object, + updateLayerVisibilities: PropTypes.func, +}; diff --git a/web/js/mapUI/components/markers/markers.js b/web/js/mapUI/components/markers/markers.js new file mode 100644 index 0000000000..8108470d10 --- /dev/null +++ b/web/js/mapUI/components/markers/markers.js @@ -0,0 +1,203 @@ +import React, { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { reverseGeocode } from '../../../modules/location-search/util-api'; +import { getNormalizedCoordinate } from '../../../components/location-search/util'; +import { animateCoordinates, areCoordinatesWithinExtent, getCoordinatesMarker } from '../../../modules/location-search/util'; +import { setGeocodeResults, removeMarker } from '../../../modules/location-search/actions'; +import { getActiveLayers, getMaxZoomLevelLayerCollection } from '../../../modules/layers/selectors'; + +const Markers = (props) => { + const { + action, + activeLayers, + config, + coordinates, + isMobileDevice, + selectedMap, + selectedMapMarkers, + proj, + removeMarker, + setGeocodeResults, + ui, + } = props; + + useEffect(() => { + switch (action.type) { + case 'LOCATION_SEARCH/REMOVE_MARKER': { + return removeCoordinatesMarker(action.coordinates); + } + case 'LOCATION_SEARCH/SET_MARKER': { + if (action.flyToExistingMarker) { + return flyToMarker(action.coordinates); + } + return addMarkerAndUpdateStore(true, action.reverseGeocodeResults, action.isCoordinatesSearchActive, action.coordinates); + } + case 'LOCATION_SEARCH/TOGGLE_DIALOG_VISIBLE': { + return addMarkerAndUpdateStore(false); + } + default: + break; + } + }, [action]); + + /** + * Remove coordinates marker from all projections + * + * @method removeCoordinatesMarker + * @static + * + * @param {Object} coordinatesObject - set of coordinates for marker + * + * @returns {void} + */ + const removeCoordinatesMarker = (coordinatesObject) => { + selectedMapMarkers.forEach((marker) => { + if (marker.id === coordinatesObject.id) { + marker.setMap(null); + selectedMap.removeOverlay(marker); + } + }); + }; + + /** + * Remove all coordinates markers + * + * @method removeAllCoordinatesMarkers + * @static + * + * @returns {void} + */ + const removeAllCoordinatesMarkers = () => { + ui.markers.forEach((marker) => { + marker.setMap(null); + ui.selected.removeOverlay(marker); + }); + }; + + /** + * Handle reverse geocode and add map marker with results + * + * @method handleActiveMapMarker + * @static + * + * @returns {void} + */ + const handleActiveMapMarker = () => { + removeAllCoordinatesMarkers(); + if (coordinates && coordinates.length > 0) { + coordinates.forEach((coordinatesObject) => { + const { longitude, latitude } = coordinatesObject; + const coord = [longitude, latitude]; + if (!areCoordinatesWithinExtent(proj, coord)) return; + reverseGeocode(getNormalizedCoordinate(coord), config).then((results) => { + addMarkerAndUpdateStore(true, results, null, coordinatesObject); + }); + }); + } + }; + + const flyToMarker = (coordinatesObject) => { + const { sources } = config; + const { longitude, latitude } = coordinatesObject; + const latestCoordinates = coordinatesObject && [longitude, latitude]; + const zoom = selectedMap.getView().getZoom(); + const maxZoom = getMaxZoomLevelLayerCollection(activeLayers, zoom, proj.id, sources); + animateCoordinates(selectedMap, proj, latestCoordinates, maxZoom); + }; + + /** + * Add map coordinate marker and update store + * + * @method addMarkerAndUpdateStore + * @static + * + * @param {Boolean} showDialog + * @param {Object} geocodeResults + * @param {Boolean} shouldFlyToCoordinates - if location search via input + * @param {Object} coordinatesObject - set of coordinates for marker + * @returns {void} + */ + const addMarkerAndUpdateStore = (showDialog, geocodeResults, shouldFlyToCoordinates, coordinatesObject) => { + const results = geocodeResults; + if (!results) return; + const remove = () => removeMarker(coordinatesObject); + const marker = getCoordinatesMarker( + proj, + coordinatesObject, + results, + remove, + isMobileDevice, + showDialog, + ); + + if (!marker) { + return false; + } + + ui.markers.push(marker); + ui.selected.addOverlay(marker); + ui.selected.renderSync(); + + if (shouldFlyToCoordinates) { + flyToMarker(coordinatesObject); + } + + setGeocodeResults(geocodeResults); + }; + + useEffect(() => { + handleActiveMapMarker(); + }, [ui]); + + return null; +}; + +const mapStateToProps = (state) => { + const { + locationSearch, proj, screenSize, map, + } = state; + const { coordinates } = locationSearch; + const { isMobileDevice } = screenSize; + const activeLayers = getActiveLayers(state).filter(({ projections }) => projections[proj.id]); + const selectedMap = map.ui.selected; + const selectedMapMarkers = map.ui.markers; + return { + activeLayers, + coordinates, + isMobileDevice, + selectedMap, + selectedMapMarkers, + proj, + }; +}; + +const mapDispatchToProps = (dispatch) => ({ + setGeocodeResults: (value) => { + dispatch(setGeocodeResults(value)); + }, + removeMarker: (value) => { + dispatch(removeMarker(value)); + }, +}); + +export default React.memo( + connect( + mapStateToProps, + mapDispatchToProps, + )(Markers), +); + +Markers.propTypes = { + action: PropTypes.object, + config: PropTypes.object, + coordinates: PropTypes.array, + isMobileDevice: PropTypes.bool, + proj: PropTypes.object, + removeMarker: PropTypes.func, + setGeocodeResults: PropTypes.func, + state: PropTypes.object, + ui: PropTypes.object, +}; + + diff --git a/web/js/mapUI/components/mouse-move-events/mouseMoveEvents.js b/web/js/mapUI/components/mouse-move-events/mouseMoveEvents.js new file mode 100644 index 0000000000..d8d865a30e --- /dev/null +++ b/web/js/mapUI/components/mouse-move-events/mouseMoveEvents.js @@ -0,0 +1,96 @@ +import { useEffect, useState } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { + throttle as lodashThrottle, +} from 'lodash'; +import util from '../../../util/util'; +import { + MAP_MOUSE_MOVE, + MAP_MOUSE_OUT, +} from '../../../util/constants'; + +const { events } = util; + +const MouseMoveEvents = (props) => { + const { + isCoordinateSearchActive, + isEventsTabActive, + isMobile, + isMeasureActive, + isMapAnimating, + sidebarActiveTab, + map, + ui, + compareMapUi, + } = props; + + const [mouseMove, setMouseMove] = useState({}); + + const throttledOnMouseMove = lodashThrottle(({ pixel }) => { + if (!map.ui.selected) return; + + const coords = ui.selected.getCoordinateFromPixel(pixel); + + if (map.ui.selected.proj !== ui.selected.proj) return; + if (ui.mapIsbeingZoomed) return; + if (ui.mapIsbeingDragged) return; + if (compareMapUi && compareMapUi.dragging) return; + if (isMobile) return; + if (isMeasureActive) return; + if (isCoordinateSearchActive) return; + if (!coords) return; + if (isEventsTabActive || isMapAnimating || sidebarActiveTab === 'download') return; + ui.runningdata.newPoint(pixel, ui.selected); + }, 300); + + useEffect(() => { + throttledOnMouseMove(mouseMove); + }, [mouseMove]); + + events.on(MAP_MOUSE_MOVE, setMouseMove); + events.on(MAP_MOUSE_OUT, (e) => { + throttledOnMouseMove.cancel(); + ui.runningdata.clearAll(); + }); + + return null; +}; + +const mapStateToProps = (state) => { + const { + events, locationSearch, sidebar, animation, measure, screenSize, map, + } = state; + const { isCoordinateSearchActive } = locationSearch; + const isEventsTabActive = typeof events !== 'undefined' && events.active; + const isMobile = screenSize.isMobileDevice; + const isMeasureActive = measure.isActive; + const isMapAnimating = animation.isPlaying; + const sidebarActiveTab = sidebar.activeTab; + + return { + isCoordinateSearchActive, + isEventsTabActive, + isMobile, + isMeasureActive, + isMapAnimating, + sidebarActiveTab, + map, + }; +}; + +export default connect( + mapStateToProps, +)(MouseMoveEvents); + +MouseMoveEvents.propTypes = { + compareMapUi: PropTypes.object, + isCoordinateSearchActive: PropTypes.bool, + isEventsTabActive: PropTypes.bool, + isMapAnimating: PropTypes.bool, + isMeasureActive: PropTypes.bool, + isMobile: PropTypes.bool, + sidebarActiveTab: PropTypes.string, + map: PropTypes.object, + ui: PropTypes.object, +}; diff --git a/web/js/mapUI/components/update-date/updateDate.js b/web/js/mapUI/components/update-date/updateDate.js new file mode 100644 index 0000000000..122e7f27f0 --- /dev/null +++ b/web/js/mapUI/components/update-date/updateDate.js @@ -0,0 +1,184 @@ +import { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { + findIndex as lodashFindIndex, + get as lodashGet, +} from 'lodash'; +import { + getActiveLayers, + getAllActiveLayers, + getActiveLayerGroup, + getGranuleCount, +} from '../../../modules/layers/selectors'; +import { setStyleFunction } from '../../../modules/vector-styles/selectors'; +import { getSelectedDate } from '../../../modules/date/selectors'; +import * as dateConstants from '../../../modules/date/constants'; +import * as layerConstants from '../../../modules/layers/constants'; + +const UpdateDate = (props) => { + const { + action, + activeLayers, + activeString, + compareMapUi, + config, + dateCompareState, + getGranuleOptions, + granuleState, + isCompareActive, + layerState, + preloadNextTiles, + state, + ui, + updateLayerVisibilities, + vectorStyleState, + } = props; + + useEffect(() => { + actionSwitch(); + }, [action]); + + const actionSwitch = () => { + if (action.type === dateConstants.SELECT_DATE) { + if (ui.processingPromise) { + return new Promise((resolve) => { + resolve(ui.processingPromise); + }).then(() => { + ui.processingPromise = null; + return updateDate(action.outOfStep); + }); + } + return updateDate(action.outOfStep); + } if (action.type === layerConstants.TOGGLE_LAYER_VISIBILITY || action.type === layerConstants.TOGGLE_OVERLAY_GROUP_VISIBILITY) { + return updateDate(); + } + }; + + function findLayerIndex({ id }) { + const layerGroup = getActiveLayerGroup(layerState); + const layers = layerGroup.getLayers().getArray(); + return lodashFindIndex(layers, { + wv: { id }, + }); + } + + function updateVectorStyles (def) { + const { vectorStyles } = config; + const layerName = def.layer || def.id; + let vectorStyleId; + + vectorStyleId = def.vectorStyle.id; + if (activeLayers) { + activeLayers.forEach((layer) => { + if (layer.id === layerName && layer.custom) { + vectorStyleId = layer.custom; + } + }); + } + setStyleFunction(def, vectorStyleId, vectorStyles, null, vectorStyleState); + } + + async function updateCompareLayer (def, index, layerCollection) { + const { createLayer } = ui; + const options = { + group: activeString, + date: getSelectedDate(dateCompareState), + ...getGranuleOptions(granuleState, def, activeString), + }; + const updatedLayer = await createLayer(def, options); + layerCollection.setAt(index, updatedLayer); + compareMapUi.update(activeString); + } + + async function updateDate(outOfStepChange) { + const { createLayer } = ui; + + const layerGroup = getActiveLayerGroup(layerState); + const mapLayerCollection = layerGroup.getLayers(); + const layers = mapLayerCollection.getArray(); + const activeLayers = getAllActiveLayers(state); + + const visibleLayers = activeLayers.filter( + ({ id }) => layers + .map(({ wv }) => lodashGet(wv, 'def.id')) + .includes(id), + ).filter(({ visible }) => visible); + + const layerPromises = visibleLayers.map(async (def) => { + const { id, type } = def; + const temporalLayer = ['subdaily', 'daily', 'monthly', 'yearly'] + .includes(def.period); + const index = findLayerIndex(def); + const hasVectorStyles = config.vectorStyles && lodashGet(def, 'vectorStyle.id'); + if (isCompareActive && layers.length) { + await updateCompareLayer(def, index, mapLayerCollection); + } else if (temporalLayer) { + if (index !== undefined && index !== -1) { + const layerValue = layers[index]; + const layerOptions = type === 'granule' + ? { granuleCount: getGranuleCount(granuleState, id) } + : { previousLayer: layerValue ? layerValue.wv : null }; + const updatedLayer = await createLayer(def, layerOptions); + mapLayerCollection.setAt(index, updatedLayer); + } + } + if (hasVectorStyles && temporalLayer) { + updateVectorStyles(def); + } + }); + await Promise.all(layerPromises); + updateLayerVisibilities(); + if (!outOfStepChange) { + preloadNextTiles(); + } + } + + return null; +}; + +const mapStateToProps = (state) => { + const { + compare, date, layers, proj, vectorStyles, config, map, + } = state; + const dateCompareState = { date, compare }; + const { activeString } = compare; + const activeLayers = getActiveLayers(state); + const isCompareActive = compare.active; + const granuleState = { compare, layers }; + const layerState = { compare, map }; + const vectorStyleState = { proj, vectorStyles, config }; + + return { + activeLayers, + activeString, + dateCompareState, + granuleState, + isCompareActive, + layerState, + state, + vectorStyleState, + }; +}; + +export default connect( + mapStateToProps, +)(UpdateDate); + +UpdateDate.propTypes = { + action: PropTypes.object, + activeLayers: PropTypes.array, + activeString: PropTypes.string, + compareMapUi: PropTypes.object, + config: PropTypes.object, + dateCompareState: PropTypes.object, + getGranuleOptions: PropTypes.func, + granuleState: PropTypes.object, + isComparActive: PropTypes.bool, + layerState: PropTypes.object, + preloadNextTiles: PropTypes.func, + state: PropTypes.object, + ui: PropTypes.object, + updateLayerVisibilities: PropTypes.func, + vectorStyleState: PropTypes.object, +}; diff --git a/web/js/mapUI/components/update-opacity/updateOpacity.js b/web/js/mapUI/components/update-opacity/updateOpacity.js new file mode 100644 index 0000000000..02fa80e121 --- /dev/null +++ b/web/js/mapUI/components/update-opacity/updateOpacity.js @@ -0,0 +1,109 @@ +import { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { + each as lodashEach, + find as lodashFind, +} from 'lodash'; +import { getActiveLayers } from '../../../modules/layers/selectors'; +import * as layerConstants from '../../../modules/layers/constants'; + +const UpdateOpacity = (props) => { + const { + action, + activeLayers, + activeString, + compare, + findLayer, + isCompareActive, + ui, + updateLayerVisibilities, + } = props; + + useEffect(() => { + if (action.type === layerConstants.UPDATE_OPACITY) { + updateOpacity(action); + } + }, [action]); + + const updateGranuleLayerOpacity = (def, activeString, opacity, compare) => { + const { id } = def; + const layers = ui.selected.getLayers().getArray(); + lodashEach(Object.keys(layers), (index) => { + const layer = layers[index]; + if (layer.className_ === 'ol-layer') { + if (compare && isCompareActive) { + const layerGroup = layer.getLayers().getArray(); + lodashEach(Object.keys(layerGroup), (groupIndex) => { + const compareLayerGroup = layerGroup[groupIndex]; + if (compareLayerGroup.wv.id === id) { + const tileLayer = compareLayerGroup.getLayers().getArray(); + + // inner first granule group tile layer + const firstTileLayer = tileLayer[0]; + if (firstTileLayer.wv.id === id) { + if (firstTileLayer.wv.group === activeString) { + compareLayerGroup.setOpacity(opacity); + } + } + } + }); + } else if (layer.wv.id === id) { + if (layer.wv.group === activeString) { + layer.setOpacity(opacity); + } + } + } + }); + }; + + /** + * Sets new opacity to layer + * @param {object} def - layer Specs + * @param {number} value - number value + * @returns {void} + */ + const updateOpacity = (action) => { + const { id, opacity } = action; + const def = lodashFind(activeLayers, { id }); + if (def.type === 'granule') { + updateGranuleLayerOpacity(def, activeString, opacity, compare); + } else { + const layerGroup = findLayer(def, activeString); + layerGroup.getLayersArray().forEach((l) => { + l.setOpacity(opacity); + }); + } + updateLayerVisibilities(); + }; + return null; +}; + +const mapStateToProps = (state) => { + const { compare } = state; + const isCompareActive = compare.active; + const activeString = compare.isCompareA ? 'active' : 'activeB'; + const activeLayers = getActiveLayers(state); + + return { + activeLayers, + activeString, + compare, + isCompareActive, + }; +}; + +export default connect( + mapStateToProps, +)(UpdateOpacity); + +UpdateOpacity.propTypes = { + action: PropTypes.object, + activeLayers: PropTypes.array, + activeString: PropTypes.string, + compare: PropTypes.object, + findLayers: PropTypes.func, + isCompareActive: PropTypes.bool, + ui: PropTypes.object, + updateLayerVisibilities: PropTypes.func, +}; diff --git a/web/js/mapUI/components/update-projection/updateProjection.js b/web/js/mapUI/components/update-projection/updateProjection.js new file mode 100644 index 0000000000..9be8f61fe4 --- /dev/null +++ b/web/js/mapUI/components/update-projection/updateProjection.js @@ -0,0 +1,405 @@ +import { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import OlLayerGroup from 'ol/layer/Group'; +import { + each as lodashEach, + get as lodashGet, +} from 'lodash'; +import { + fitToLeadingExtent, + updateMapUI, +} from '../../../modules/map/actions'; +import { getLeadingExtent } from '../../../modules/map/util'; +import { + getLayers, + getActiveLayers, +} from '../../../modules/layers/selectors'; +import { getSelectedDate } from '../../../modules/date/selectors'; +import util from '../../../util/util'; +import { fly } from '../../../map/util'; +import * as layerConstants from '../../../modules/layers/constants'; +import * as compareConstants from '../../../modules/compare/constants'; +import * as paletteConstants from '../../../modules/palettes/constants'; +import * as vectorStyleConstants from '../../../modules/vector-styles/constants'; +import { LOCATION_POP_ACTION } from '../../../redux-location-state-customs'; +import { EXIT_ANIMATION, STOP_ANIMATION } from '../../../modules/animation/constants'; +import { SET_SCREEN_INFO } from '../../../modules/screen-size/constants'; + +const UpdateProjection = (props) => { + const { + action, + activeLayers, + compare, + compareMapUi, + compareMode, + config, + dateCompareState, + fitToLeadingExtent, + getGranuleOptions, + isMobile, + layerState, + map, + models, + preloadForCompareMode, + proj, + projectionTrigger, + updateExtent, + updateLayerVisibilities, + updateMapUI, + ui, + } = props; + + useEffect(() => { + actionSwitch(); + }, [action]); + + useEffect(() => { + if (projectionTrigger === 1) { + updateProjection(true); + } else if (projectionTrigger > 1) { + updateProjection(); + } + }, [projectionTrigger]); + + const actionSwitch = () => { + switch (action.type) { + case STOP_ANIMATION: + case EXIT_ANIMATION: + return onStopAnimation(); + case LOCATION_POP_ACTION: { + const newState = util.fromQueryString(action.payload.search); + const extent = lodashGet(map, 'extent'); + const rotate = lodashGet(map, 'rotation') || 0; + setTimeout(() => { + updateProjection(); + if (newState.v && !newState.e && extent) { + flyToNewExtent(extent, rotate); + } + }, 200); return; + } + case layerConstants.UPDATE_GRANULE_LAYER_OPTIONS: { + const granuleOptions = { + id: action.id, + reset: null, + }; + return reloadLayers(granuleOptions); + } + case layerConstants.RESET_GRANULE_LAYER_OPTIONS: { + const granuleOptions = { + id: action.id, + reset: action.id, + }; + return reloadLayers(granuleOptions); + } + case compareConstants.CHANGE_STATE: + if (compareMode === 'spy') { + return reloadLayers(); + } + return; + case layerConstants.REORDER_LAYERS: + case layerConstants.REORDER_OVERLAY_GROUPS: + case compareConstants.TOGGLE_ON_OFF: + case compareConstants.CHANGE_MODE: + reloadLayers(); + preloadForCompareMode(); + return; + case layerConstants.TOGGLE_OVERLAY_GROUPS: + return reloadLayers(); + case paletteConstants.SET_THRESHOLD_RANGE_AND_SQUASH: + case paletteConstants.SET_CUSTOM: + case paletteConstants.SET_DISABLED_CLASSIFICATION: + case paletteConstants.CLEAR_CUSTOM: + case layerConstants.ADD_LAYERS_FOR_EVENT: + return setTimeout(reloadLayers, 100); + case vectorStyleConstants.SET_FILTER_RANGE: + case vectorStyleConstants.SET_VECTORSTYLE: + case vectorStyleConstants.CLEAR_VECTORSTYLE: + case SET_SCREEN_INFO: + return onResize(); + default: + break; + } + }; + + const flyToNewExtent = function(extent, rotation) { + const coordinateX = extent[0] + (extent[2] - extent[0]) / 2; + const coordinateY = extent[1] + (extent[3] - extent[1]) / 2; + const coordinates = [coordinateX, coordinateY]; + const resolution = ui.selected.getView().getResolutionForExtent(extent); + const zoom = ui.selected.getView().getZoomForResolution(resolution); + // Animate to extent, zoom & rotate: + // Don't animate when an event is selected (Event selection already animates) + return fly(ui.selected, proj, coordinates, zoom, rotation); + }; + + /** + * Create a Layergroup given the date and layerGroups when compare mode is activated and + * the group similar layers option is selected. + * + * @method getCompareLayerGroup + * @static + * + * @param {string} compareActiveString + * @param {string} compareDateString + * @param {object} state object representing the layers, compare, & proj properties from global state + * @param {object} granuleOptions object representing selected granule layer options + */ + async function getCompareLayerGroup([compareActiveString, compareDateString], state, granuleOptions) { + const { createLayer } = ui; + const compareSideLayers = getActiveLayers(state, compareActiveString); + const layers = getLayers(state, { reverse: true }, compareSideLayers) + .map(async (def) => { + const options = { + ...getGranuleOptions(state, def, compareActiveString, granuleOptions), + date: getSelectedDate(dateCompareState, compareDateString), + group: compareActiveString, + }; + return createLayer(def, options); + }); + const compareLayerGroup = await Promise.all(layers); + + return new OlLayerGroup({ + layers: compareLayerGroup, + date: getSelectedDate(dateCompareState, compareDateString), + group: compareActiveString, + }); + } + + /** + * Remove Layers from map + * + * @method clearLayers + * @static + * + * @returns {void} + */ + const clearLayers = function() { + const activeLayersUI = ui.selected + .getLayers() + .getArray() + .slice(0); + lodashEach(activeLayersUI, (mapLayer) => { + ui.selected.removeLayer(mapLayer); + }); + ui.cache.clear(); + }; + + /** + * @method reloadLayers + * + * @param {Object} granuleOptions (optional: only used for granule layers) + * @param {Boolean} granuleDates - array of granule dates + * @param {Boolean} id - layer id + * @returns {void} + */ + async function reloadLayers(granuleOptions) { + const mapUI = ui.selected; + const { createLayer } = ui; + + if (!config.features.compare || !compare.active) { + const compareMapDestroyed = !compare.active && compareMapUi.active; + if (compareMapDestroyed) { + compareMapUi.destroy(); + } + clearLayers(); + const defs = getLayers(layerState, { reverse: true }); + const layerPromises = defs.map((def) => { + const options = getGranuleOptions(layerState, def, compare.activeString, granuleOptions); + return createLayer(def, options); + }); + const createdLayers = await Promise.all(layerPromises); + lodashEach(createdLayers, (l) => { mapUI.addLayer(l); }); + } else { + const stateArray = [['active', 'selected'], ['activeB', 'selectedB']]; + if (compare && !compare.isCompareA && compare.mode === 'spy') { + stateArray.reverse(); // Set Layer order based on active A|B group + } + clearLayers(); + const stateArrayGroups = stateArray.map(async (arr) => getCompareLayerGroup(arr, layerState, granuleOptions)); + const compareLayerGroups = await Promise.all(stateArrayGroups); + compareLayerGroups.forEach((layerGroup) => mapUI.addLayer(layerGroup)); + compareMapUi.create(mapUI, compare.mode); + } + updateLayerVisibilities(); + } + + const onStopAnimation = function() { + const needsRefresh = activeLayers.some(({ type }) => type === 'granule' || type === 'vector'); + if (needsRefresh) { + // The SELECT_DATE and STOP_ANIMATION actions happen back to back and both + // try to modify map layers asynchronously so we need to set a timeout to allow + // the updateDate() function to complete before trying to call reloadLayers() here + setTimeout(reloadLayers, 100); + } + }; + + /** + * When page is resized set for mobile or desktop + * + * @method onResize + * @static + * + * @returns {void} + */ + function onResize() { + const mapUI = ui.selected; + if (isMobile) { + mapUI.removeControl(mapUI.wv.scaleImperial); + mapUI.removeControl(mapUI.wv.scaleMetric); + } else { + mapUI.addControl(mapUI.wv.scaleImperial); + mapUI.addControl(mapUI.wv.scaleMetric); + } + } + + /** + * Show Map + * + * @method showMap + * @static + * + * @param {object} map - Openlayers Map obj + * + * @returns {void} + */ + function showMap(map) { + document.getElementById(`${map.getTarget()}`).style.display = 'block'; + } + + /** + * Hide Map + * + * @method hideMap + * @static + * + * @param {object} map - Openlayers Map obj + * + * @returns {void} + */ + function hideMap(map) { + document.getElementById(`${map.getTarget()}`).style.display = 'none'; + } + + + const updateProjection = (start) => { + if (ui.selected) { + // Keep track of center point on projection switch + ui.selected.previousCenter = ui.selected.center; + hideMap(ui.selected); + } + ui.selected = ui.proj[proj.id]; + const map = ui.selected; + + const isProjectionRotatable = proj.id !== 'geographic' && proj.id !== 'webmerc'; + const currentRotation = isProjectionRotatable ? map.getView().getRotation() : 0; + const rotationStart = isProjectionRotatable ? models.map.rotation : 0; + const rotation = start ? rotationStart : currentRotation; + + updateMapUI(ui, rotation); + + reloadLayers(); + + // If the browser was resized, the inactive map was not notified of + // the event. Force the update no matter what and reposition the center + // using the previous value. + showMap(map); + + map.updateSize(); + + if (ui.selected.previousCenter) { + ui.selected.setCenter(ui.selected.previousCenter); + } + + if (start) { + const projId = proj.selected.id; + let extent = null; + let callback = null; + if (models.map.extent) { + extent = models.map.extent; + } else if (!models.map.extent && projId === 'geographic') { + extent = getLeadingExtent(config.pageLoadTime); + callback = () => { + const view = map.getView(); + const extent = view.calculateExtent(map.getSize()); + fitToLeadingExtent(extent); + }; + } + if (projId !== 'geographic') { + callback = () => { + const view = map.getView(); + view.setRotation(rotationStart); + }; + } + if (extent) { + map.getView().fit(extent, { + constrainResolution: false, + callback, + }); + } else if (rotationStart && projId !== 'geographic') { + callback(); + } + } + updateExtent(); + onResize(); + }; + + return null; +}; + +const mapStateToProps = (state) => { + const { + proj, map, screenSize, layers, compare, date, + } = state; + const layerState = { layers, compare, proj }; + const isMobile = screenSize.isMobileDevice; + const dateCompareState = { date, compare }; + const activeLayers = getActiveLayers(state); + const compareMode = compare.mode; + return { + activeLayers, + compare, + compareMode, + dateCompareState, + isMobile, + layerState, + proj, + map, + }; +}; + +const mapDispatchToProps = (dispatch) => ({ + fitToLeadingExtent: (extent) => { + dispatch(fitToLeadingExtent(extent)); + }, + updateMapUI: (ui, rotation) => { + dispatch(updateMapUI(ui, rotation)); + }, +}); + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(UpdateProjection); + +UpdateProjection.propTypes = { + action: PropTypes.object, + activeLayers: PropTypes.array, + compare: PropTypes.object, + compareMapUi: PropTypes.object, + config: PropTypes.object, + dateCompareState: PropTypes.object, + fitToLeadingExtent: PropTypes.func, + getGranuleOptions: PropTypes.func, + isMobile: PropTypes.bool, + layerState: PropTypes.object, + map: PropTypes.object, + models: PropTypes.object, + preloadForCompareMode: PropTypes.func, + proj: PropTypes.object, + projectionTrigger: PropTypes.number, + ui: PropTypes.object, + updateExtent: PropTypes.func, + updateLayerVisibilities: PropTypes.func, + updateMapUi: PropTypes.func, +}; diff --git a/web/js/mapUI/mapUI.js b/web/js/mapUI/mapUI.js new file mode 100644 index 0000000000..097b95aa58 --- /dev/null +++ b/web/js/mapUI/mapUI.js @@ -0,0 +1,490 @@ +import React, { useEffect, useState } from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +/* eslint-disable no-multi-assign */ +/* eslint-disable no-shadow */ +/* eslint-disable no-param-reassign */ +/* eslint-disable no-nested-ternary */ +import { each as lodashEach, find as lodashFind } from 'lodash'; +import AddLayer from './components/layers/addLayer'; +import RemoveLayer from './components/layers/removeLayer'; +import CreateMap from './components/create-map/createMap'; +import GranuleHover from './components/granule-hover/granuleHover'; +import Markers from './components/markers/markers'; +import UpdateDate from './components/update-date/updateDate'; +import UpdateOpacity from './components/update-opacity/updateOpacity'; +import UpdateProjection from './components/update-projection/updateProjection'; +import MouseMoveEvents from './components/mouse-move-events/mouseMoveEvents'; +import BufferQuickAnimate from './components/buffer-quick-animate/bufferQuickAnimate'; +import { LOCATION_POP_ACTION } from '../redux-location-state-customs'; +import { CHANGE_PROJECTION } from '../modules/projection/constants'; +import { SET_SCREEN_INFO } from '../modules/screen-size/constants'; +import { + REMOVE_MARKER, + SET_MARKER, + TOGGLE_DIALOG_VISIBLE, +} from '../modules/location-search/constants'; +import * as dateConstants from '../modules/date/constants'; +import util from '../util/util'; +import * as layerConstants from '../modules/layers/constants'; +import * as compareConstants from '../modules/compare/constants'; +import * as paletteConstants from '../modules/palettes/constants'; +import * as vectorStyleConstants from '../modules/vector-styles/constants'; +import { + getActiveLayers, + isRenderable as isRenderableLayer, + getGranuleLayer, +} from '../modules/layers/selectors'; +import { getSelectedDate } from '../modules/date/selectors'; +import { getNextDateTime } from '../modules/date/util'; +import { EXIT_ANIMATION, STOP_ANIMATION } from '../modules/animation/constants'; +import { REFRESH_ROTATE, CLEAR_ROTATE } from '../modules/map/constants'; +import { promiseImageryForTime } from '../modules/map/util'; +import { updateVectorSelection } from '../modules/vector-styles/util'; +import { REDUX_ACTION_DISPATCHED } from '../util/constants'; +import { updateMapExtent } from '../modules/map/actions'; +import { clearPreload, setPreload } from '../modules/date/actions'; + +const { events } = util; + +const MapUI = (props) => { + const { + activeLayers, + activeLayersState, + activeString, + arrowDown, + clearPreload, + compare, + compareMapUi, + config, + dateCompareState, + embed, + lastArrowDirection, + layerQueue, + lastPreloadDate, + layers, + models, + palettes, + preloaded, + proj, + renderableLayersState, + selectedDate, + selectedDateB, + setPreload, + setUI, + ui, + updateMapExtent, + vectorStyles, + vectorStylesState, + } = props; + + const [isMapSet, setMap] = useState(false); + const [projectionTrigger, setProjectionTrigger] = useState(0); + const [projectionAction, setProjectionAction] = useState({}); + const [addLayerAction, setAddLayerAction] = useState({}); + const [removeLayersAction, setRemoveLayersAction] = useState({}); + const [dateAction, setDateAction] = useState({}); + const [opacityAction, setOpacityAction] = useState({}); + const [markerAction, setMarkerAction] = useState({}); + const [granuleFootprints, setGranuleFootprints] = useState({}); + const [quickAnimateAction, setQuickAnimateAction] = useState({}); + const [vectorActions, setVectorActions] = useState({}); + const [preloadAction, setPreloadAction] = useState({}); + + const subscribeToStore = function(action) { + switch (action.type) { + case CHANGE_PROJECTION: { + return setProjectionTrigger((projectionTrigger) => projectionTrigger + 1); + } + case layerConstants.ADD_LAYER: + return setAddLayerAction(action); + case STOP_ANIMATION: + case EXIT_ANIMATION: + case LOCATION_POP_ACTION: + case layerConstants.UPDATE_GRANULE_LAYER_OPTIONS: + case layerConstants.RESET_GRANULE_LAYER_OPTIONS: + case compareConstants.CHANGE_STATE: + case layerConstants.REORDER_LAYERS: + case layerConstants.REORDER_OVERLAY_GROUPS: + case compareConstants.TOGGLE_ON_OFF: + case compareConstants.CHANGE_MODE: + case layerConstants.TOGGLE_OVERLAY_GROUPS: + case paletteConstants.SET_THRESHOLD_RANGE_AND_SQUASH: + case paletteConstants.SET_CUSTOM: + case paletteConstants.SET_DISABLED_CLASSIFICATION: + case paletteConstants.CLEAR_CUSTOM: + case layerConstants.ADD_LAYERS_FOR_EVENT: + case vectorStyleConstants.SET_FILTER_RANGE: + case vectorStyleConstants.SET_VECTORSTYLE: + case vectorStyleConstants.CLEAR_VECTORSTYLE: + case SET_SCREEN_INFO: + return setProjectionAction(action); + case layerConstants.REMOVE_GROUP: + case layerConstants.REMOVE_LAYER: + return setRemoveLayersAction(action); + case dateConstants.SELECT_DATE: + case layerConstants.TOGGLE_LAYER_VISIBILITY: + case layerConstants.TOGGLE_OVERLAY_GROUP_VISIBILITY: + return setDateAction(action); + case layerConstants.UPDATE_OPACITY: + return setOpacityAction(action); + case REMOVE_MARKER: + case SET_MARKER: + case TOGGLE_DIALOG_VISIBLE: + return setMarkerAction(action); + case CLEAR_ROTATE: { + ui.selected.getView().animate({ + duration: 500, + rotation: 0, + }); + return; + } + case REFRESH_ROTATE: { + ui.selected.getView().animate({ + rotation: action.rotation, + duration: 500, + }); + return; + } + case vectorStyleConstants.SET_SELECTED_VECTORS: + return setVectorActions(action); + case dateConstants.CHANGE_CUSTOM_INTERVAL: + case dateConstants.CHANGE_INTERVAL: + return setPreloadAction(action); + case dateConstants.ARROW_DOWN: + setQuickAnimateAction(action); + break; + default: + break; + } + }; + + events.on(REDUX_ACTION_DISPATCHED, subscribeToStore); + window.addEventListener('orientationchange', () => { + setTimeout(() => { setProjectionTrigger((projectionTrigger) => projectionTrigger + 1); }, 200); + }); + + // Initial hook that initiates the map after it has been created in CreateMap.js + useEffect(() => { + if (document.getElementById('app')) { + setProjectionTrigger(1); + } + }, [ui]); + + useEffect(() => { + if (vectorActions.type === vectorStyleConstants.SET_SELECTED_VECTORS) { + updateVectorSelections(); + } + }, [vectorActions]); + + useEffect(() => { + if (preloadAction.type === dateConstants.CHANGE_INTERVAL) { + preloadNextTiles(); + } + }, [preloadAction]); + + const updateVectorSelections = () => { + const type = 'selection'; + const newSelection = vectorActions.payload; + updateVectorSelection( + vectorActions.payload, + ui.selectedVectors, + activeLayers, + type, + vectorStylesState, + ); + ui.selectedVectors = newSelection; + }; + + const updateExtent = () => { + const map = ui.selected; + const view = map.getView(); + const extent = view.calculateExtent(); + updateMapExtent(extent); + if (map.isRendered()) { + clearPreload(); + } + }; + + const updateLayerVisibilities = () => { + const layerGroup = ui.selected.getLayers(); + + const setRenderable = (layer, parentCompareGroup) => { + const { id, group } = layer.wv; + const dateGroup = layer.get('date') || group === 'active' ? 'selected' : 'selectedB'; + const date = getSelectedDate(dateCompareState, dateGroup); + const layers = getActiveLayers(activeLayersState, parentCompareGroup || group); + const renderable = isRenderableLayer(id, layers, date, null, renderableLayersState); + layer.setVisible(renderable); + }; + + layerGroup.forEach((layer) => { + const compareActiveString = layer.get('group'); + const granule = layer.get('granuleGroup'); + + // Not in A|B + if (layer.wv && !granule) { + setRenderable(layer); + + // If in A|B layer-group will have a 'group' string + } else if (compareActiveString || granule) { + const compareGrouplayers = layer.getLayers().getArray(); + + compareGrouplayers.forEach((subLayer) => { + if (!subLayer.wv) { + return; + } + // TileLayers within granule LayerGroup + if (subLayer.get('granuleGroup')) { + const granuleLayers = subLayer.getLayers().getArray(); + granuleLayers.forEach((l) => setRenderable(l)); + subLayer.setVisible(true); + } + setRenderable(subLayer, compareActiveString); + }); + + layer.setVisible(true); + } + }); + }; + + const findLayer = (def, activeCompareState) => { + const layers = ui.selected.getLayers().getArray(); + let layer = lodashFind(layers, { + wv: { + id: def.id, + }, + }); + + if (!layer && layers.length && (layers[0].get('group') || layers[0].get('granuleGroup'))) { + let olGroupLayer; + const layerKey = `${def.id}-${activeCompareState}`; + lodashEach(layers, (layerGroup) => { + if (layerGroup.get('layerId') === layerKey || layerGroup.get('group') === activeCompareState) { + olGroupLayer = layerGroup; + } + }); + const subGroup = olGroupLayer.getLayers().getArray(); + layer = lodashFind(subGroup, { + wv: { + id: def.id, + }, + }); + } + return layer; + }; + + /** + * Get granule options for layerBuilding + * @param {object} state + * @param {Object} def + * @param {String} layerGroupStr + * @param {Object} options + * @returns {Object} + */ + const getGranuleOptions = (state, { id, count, type }, activeString, options) => { + if (type !== 'granule') return {}; + const reset = options && options.reset === id; + + const granuleState = getGranuleLayer(state, id, activeString); + let granuleDates; + let granuleCount; + let geometry; + if (granuleState) { + granuleDates = !reset ? granuleState.dates : false; + granuleCount = granuleState.count; + geometry = granuleState.geometry; + } + return { + granuleDates, + granuleCount: granuleCount || count, + geometry, + }; + }; + + function preloadForCompareMode() { + preloadNextTiles(selectedDate, 'active'); + if (compare.active) { + preloadNextTiles(selectedDateB, 'activeB'); + } + } + + async function preloadNextTiles(date, compareString) { + const map = { ui }; + const state = { + proj, embed, layers, palettes, vectorStyles, compare, map, + }; + const useActiveString = compareString || activeString; + const useDate = date || (preloaded ? lastPreloadDate : getSelectedDate(dateCompareState)); + const nextDate = getNextDateTime(dateCompareState, 1, useDate); + const prevDate = getNextDateTime(dateCompareState, -1, useDate); + const subsequentDate = lastArrowDirection === 'right' ? nextDate : prevDate; + if (preloaded && lastArrowDirection) { + setPreload(true, subsequentDate); + layerQueue.add(() => promiseImageryForTime(state, subsequentDate, useActiveString)); + return; + } + layerQueue.add(() => promiseImageryForTime(state, nextDate, useActiveString)); + layerQueue.add(() => promiseImageryForTime(state, prevDate, useActiveString)); + if (!date && !arrowDown) { + preloadNextTiles(subsequentDate, useActiveString); + } + } + + return ( + <> + + + + + + + + + + + + ); +}; + +const mapStateToProps = (state) => { + const { + compare, config, date, embed, layers, map, palettes, proj, vectorStyles, + } = state; + const { + arrowDown, lastArrowDirection, lastPreloadDate, preloaded, selected, selectedB, + } = date; + + const vectorStylesState = { + config, map, proj, vectorStyles, + }; + const renderableLayersState = { + date, compare, config, proj, + }; + const dateCompareState = { date, compare }; + const activeLayersState = { embed, compare, layers }; + const activeLayers = getActiveLayers(state); + const selectedDate = selected; + const selectedDateB = selectedB; + const { activeString } = compare; + const useDate = selectedDate || (preloaded ? lastPreloadDate : getSelectedDate(state)); + const nextDate = getNextDateTime(state, 1, useDate); + const prevDate = getNextDateTime(state, -1, useDate); + + return { + activeLayers, + activeLayersState, + activeString, + arrowDown, + compare, + dateCompareState, + embed, + lastArrowDirection, + lastPreloadDate, + layers, + nextDate, + palettes, + preloaded, + prevDate, + proj, + renderableLayersState, + selectedDate, + selectedDateB, + vectorStyles, + vectorStylesState, + }; +}; + +const mapDispatchToProps = (dispatch) => ({ + clearPreload: () => { + dispatch(clearPreload()); + }, + updateMapExtent: (extent) => { + dispatch(updateMapExtent(extent)); + }, + setPreload: (preloaded, lastPreloadDate) => { + dispatch(setPreload(preloaded, lastPreloadDate)); + }, +}); + +export default connect( + mapStateToProps, + mapDispatchToProps, +)(MapUI); + +MapUI.propTypes = { + activeLayers: PropTypes.array, + activeLayersState: PropTypes.object, + activeString: PropTypes.string, + arrowDown: PropTypes.string, + clearPreload: PropTypes.func, + compare: PropTypes.object, + compareMapUi: PropTypes.object, + config: PropTypes.object, + dateCompareState: PropTypes.object, + embed: PropTypes.object, + lastArrowDirection: PropTypes.string, + layerQueue: PropTypes.object, + layers: PropTypes.object, + lastPreloadDate: PropTypes.object, + models: PropTypes.object, + palettes: PropTypes.object, + preloaded: PropTypes.bool, + proj: PropTypes.object, + renderableLayersState: PropTypes.object, + selectedDate: PropTypes.object, + selectedDateB: PropTypes.object, + setPreload: PropTypes.func, + setUI: PropTypes.func, + ui: PropTypes.object, + updateMapExtent: PropTypes.func, + vectorStyles: PropTypes.object, + vectorStylesState: PropTypes.object, +}; diff --git a/web/js/modules/map/actions.js b/web/js/modules/map/actions.js index 458ec3c527..d428a0c8d1 100644 --- a/web/js/modules/map/actions.js +++ b/web/js/modules/map/actions.js @@ -1,5 +1,11 @@ import { - CLEAR_ROTATE, CHANGE_CURSOR, REFRESH_ROTATE, + CLEAR_ROTATE, + CHANGE_CURSOR, + REFRESH_ROTATE, + UPDATE_MAP_EXTENT, + RENDERED, + UPDATE_MAP_UI, + FITTED_TO_LEADING_EXTENT, } from './constants'; export function clearRotate() { @@ -20,3 +26,31 @@ export function changeCursor(bool) { bool, }; } + +export function updateMapExtent(extent) { + return { + type: UPDATE_MAP_EXTENT, + extent, + }; +} + +export function updateRenderedState() { + return { + type: RENDERED, + }; +} + +export function updateMapUI(ui, rotation) { + return { + type: UPDATE_MAP_UI, + ui, + rotation, + }; +} + +export function fitToLeadingExtent(extent) { + return { + type: FITTED_TO_LEADING_EXTENT, + extent, + }; +} diff --git a/web/js/modules/map/util.js b/web/js/modules/map/util.js index 97f492649e..b5162facf5 100644 --- a/web/js/modules/map/util.js +++ b/web/js/modules/map/util.js @@ -284,6 +284,7 @@ function promiseLayerGroup(layerGroup, map) { */ export async function promiseImageryForTime(state, date, activeString) { const { map } = state; + if (!map.ui.proj) return; const { cache, selected, createLayer, layerKey, } = map.ui; From dac4a5d7f6a9ad966dc81bc39c5175e140161017 Mon Sep 17 00:00:00 2001 From: minniewong Date: Fri, 23 Dec 2022 14:55:56 -0500 Subject: [PATCH 34/42] WV-2484: HLS Tour Story updates (#4070) * Updates to the HLS tour story * update tour steps to reflect newer imagery * Added two new steps * change has to have --- .../metadata/stories/hls_intro/step002.md | 2 +- .../metadata/stories/hls_intro/step003.md | 2 +- .../metadata/stories/hls_intro/step004.md | 2 +- .../metadata/stories/hls_intro/step006.md | 2 +- .../metadata/stories/hls_intro/step007.md | 2 +- .../metadata/stories/hls_intro/step017.md | 1 + .../metadata/stories/hls_intro/step018.md | 1 + .../wv.json/stories/default/hls_intro.json | 36 ++++++++++++++----- 8 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 config/default/common/config/metadata/stories/hls_intro/step017.md create mode 100644 config/default/common/config/metadata/stories/hls_intro/step018.md diff --git a/config/default/common/config/metadata/stories/hls_intro/step002.md b/config/default/common/config/metadata/stories/hls_intro/step002.md index de55e07865..989e93b2d8 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step002.md +++ b/config/default/common/config/metadata/stories/hls_intro/step002.md @@ -1 +1 @@ -The Harmonized Landsat Sentinel-2 (HLS) project brings us 30 meter resolution true color surface reflectance imagery from the Operational Land Imager (OLI) instrument aboard the NASA/USGS Landsat 8 satellite, and the Multi-Spectral Instrument (MSI) aboard the European Space Agency (ESA) Sentinel 2A and Sentinel 2B satellites. \ No newline at end of file +The Harmonized Landsat Sentinel-2 (HLS) project brings us 30 meter resolution true color surface reflectance imagery from the Operational Land Imager (OLI) instrument aboard the NASA/USGS Landsat 8 and 9 satellites, and the Multi-Spectral Instrument (MSI) aboard the European Space Agency (ESA) Sentinel 2A and Sentinel 2B satellites. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step003.md b/config/default/common/config/metadata/stories/hls_intro/step003.md index 8d845c37d8..fb57fefaa6 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step003.md +++ b/config/default/common/config/metadata/stories/hls_intro/step003.md @@ -1 +1 @@ - The HLS imagery are approximately 8 times higher spatial resolution than the MODIS and VIIRS surface reflectance layers - watch New York City come in focus as you swipe to the left! \ No newline at end of file + The HLS imagery are approximately 1000 times finer spatial resolution than the MODIS VIIRS surface reflectance layers and 160 times finer spatial resolution than the VIIRS surface reflectance layers. Watch New York City come in focus as you swipe to the left! \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step004.md b/config/default/common/config/metadata/stories/hls_intro/step004.md index a231f280ff..37ab5e767c 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step004.md +++ b/config/default/common/config/metadata/stories/hls_intro/step004.md @@ -1,2 +1,2 @@ - To produce the Nadir Bidirectional Reflectance Distribution Function (BRDF)-Adjusted Reflectance (NBAR) imagery, the data from the two instruments aboard the three satellites are processed through a set of algorithms to make the imagery consistent and comparable across the instruments. This includes atmospheric correction, cloud and cloud-shadow masking, spatial co-registration and common gridding, illumination and view angle normalization, and spectral bandpass adjustment. Turn on and off the Landsat 8 and Sentinel 2A & 2B Reflectance layers by clicking on the eye icon to see how seamless the imagery is. + To produce the Nadir Bidirectional Reflectance Distribution Function (BRDF)-Adjusted Reflectance (NBAR) imagery, the data from the two instruments aboard the four satellites are processed through a set of algorithms to make the imagery consistent and comparable across the instruments. This includes atmospheric correction, cloud and cloud-shadow masking, spatial co-registration and common gridding, illumination and view angle normalization, and spectral bandpass adjustment. Turn on and off the Landsat 8 & 9 and Sentinel 2A & 2B Reflectance layers by clicking on the eye icon to see how seamless the imagery is. diff --git a/config/default/common/config/metadata/stories/hls_intro/step006.md b/config/default/common/config/metadata/stories/hls_intro/step006.md index 9f7b664354..8045fdd6c1 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step006.md +++ b/config/default/common/config/metadata/stories/hls_intro/step006.md @@ -1 +1 @@ -Another trade-off is with how often the satellite instrument collects imagery over a particular part of the Earth. MODIS has a high temporal revisit period therefore there is near daily coverage of the Earth's surface. MSI, aboard Sentinel 2A and 2B, have a 5 day revisit period and OLI, aboard Landsat, has a 16 day revisit period. Combined together by the HLS project, this equates to near global coverage in 2 to 3 days. +Another trade-off is with how often the satellite instrument collects imagery over a particular part of the Earth. MODIS has a high temporal revisit period therefore there is near daily coverage of the Earth's surface. MSI, aboard Sentinel 2A and 2B, have a 5 day revisit period and OLI, aboard Landsat 8 and 9, have an 8 day revisit period. Combined together by the HLS project, this equates to near global coverage in 2 to 3 days. diff --git a/config/default/common/config/metadata/stories/hls_intro/step007.md b/config/default/common/config/metadata/stories/hls_intro/step007.md index c4126c6225..b092a66223 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step007.md +++ b/config/default/common/config/metadata/stories/hls_intro/step007.md @@ -1 +1 @@ -These satellites have a similar overpass time as the Terra satellite (approximately 10:00 - 10:30am local time equatorial crossing), providing continuity to the Terra/MODIS surface reflectance layers. Orbit tracks are shown here from the Landsat 8 satellite in red, Sentinel 2A in magenta and Sentinel 2B in lime green. \ No newline at end of file +These satellites have a similar overpass time as the Terra satellite (approximately 10:00 - 10:30am local time equatorial crossing), providing continuity to the Terra/MODIS surface reflectance layers. Orbit tracks are shown here from the Landsat 8 satellite in red, Landsat 9 in green, Sentinel 2A in magenta, and Sentinel 2B in lime green. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step017.md b/config/default/common/config/metadata/stories/hls_intro/step017.md new file mode 100644 index 0000000000..446ee6fa6d --- /dev/null +++ b/config/default/common/config/metadata/stories/hls_intro/step017.md @@ -0,0 +1 @@ +Mount Taranaki in New Zealand is a dormant stratovolcano. Visible in the imagery is a protected area, in dark green, around the summit. Egmont National Park is a mostly circular area with a radius of six miles from the summit and includes older volcanic remnants of Pouakai and Kaitake. Beyond the boundaries of the park are intensively farmed dairy pastures. \ No newline at end of file diff --git a/config/default/common/config/metadata/stories/hls_intro/step018.md b/config/default/common/config/metadata/stories/hls_intro/step018.md new file mode 100644 index 0000000000..f44f0d9350 --- /dev/null +++ b/config/default/common/config/metadata/stories/hls_intro/step018.md @@ -0,0 +1 @@ +Poniente Almeriense, in Almeria, Spain is also known as the "Mar de plástico" (Sea of Plastic) due to the vast number of greenhouses across the region. These greenhouses are made from polyethylene plastic fastened to wooden posts or metal structures, and results in the prevalent white appearance of the region. The largest municipalities in the area are El Ejido and Roquetas de Mar. Roquetas de Mar is on the eastern side of the area along the shore, and El Ejido is visible as the brown patch within the sea of plastic. \ No newline at end of file diff --git a/config/default/common/config/wv.json/stories/default/hls_intro.json b/config/default/common/config/wv.json/stories/default/hls_intro.json index b3d66ae3ca..6b9d72bb90 100644 --- a/config/default/common/config/wv.json/stories/default/hls_intro.json +++ b/config/default/common/config/wv.json/stories/default/hls_intro.json @@ -13,12 +13,12 @@ "link": "https://earthdata.nasa.gov/esds/harmonized-landsat-sentinel-2" }, { - "title": "Release of HLS Sentinel-2 Version 1.5 Provisional Data", - "link": "https://lpdaac.usgs.gov/news/release-hls-sentinel-2-provisional-data/" + "title": "HLSL30 v002 HLS Landsat Operational Land Imager Surface Reflectance and TOA Brightness Daily Global 30m", + "link": "https://lpdaac.usgs.gov/products/hlsl30v002/" }, { - "title": "Release of Provisional HLS Landsat Version 1.5 Data", - "link": "https://lpdaac.usgs.gov/news/release-provisional-hls-landsat-version-15-data/" + "title": "HLSS30 v002 HLS Sentinel-2 Multi-Spectral Instrument Surface Reflectance Daily Global 30m", + "link": "https://lpdaac.usgs.gov/products/hlss30v002/" } ], "steps": [ @@ -56,7 +56,7 @@ "element": "", "action": "" }, - "stepLink": "v=-88.87933664804595,33.79775271968792,-88.3723176050772,34.024895053672296&t=2021-01-15-T16%3A46%3A06Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map(opacity=0.6),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)" + "stepLink": "v=-88.87933664804595,33.79775271968792,-88.3723176050772,34.024895053672296&t=2022-10-17-T00%3A00%3A00Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map(opacity=0.6),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)" }, { "id": "005", @@ -65,7 +65,7 @@ "element": "", "action": "" }, - "stepLink": "v=99.04244505478943,-40.69934414672497,167.13895021893114,-10.19240494263764&t=2021-01-15-T18%3A41%3A50Z&l=OrbitTracks_Landsat-8_Descending(hidden),OrbitTracks_Sentinel-2A_Descending,OrbitTracks_Sentinel-2B_Descending,Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden,opacity=0.19),HLS_L30_Nadir_BRDF_Adjusted_Reflectance(hidden),HLS_S30_Nadir_BRDF_Adjusted_Reflectance,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(opacity=0.8)" + "stepLink": "v=99.04244505478943,-40.69934414672497,167.13895021893114,-10.19240494263764&t=2021-01-15-T18%3A41%3A50Z&l=OrbitTracks_Landsat-8_Descending(hidden),OrbitTracks_Landsat-9_Descending(hidden),OrbitTracks_Sentinel-2A_Descending,OrbitTracks_Sentinel-2B_Descending,Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden,opacity=0.19),HLS_L30_Nadir_BRDF_Adjusted_Reflectance(hidden),HLS_S30_Nadir_BRDF_Adjusted_Reflectance,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(opacity=0.8)" }, { "id": "006", @@ -74,7 +74,7 @@ "element": "", "action": "" }, - "stepLink": "v=-200.8371812680095,-86.52209371542455,192.10431801301348,89.5139950740695&t=2020-10-09-T16%3A46%3A06Z&t1=2021-01-15-T18%3A41%3A50Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(opacity=0.6),HLS_S30_Nadir_BRDF_Adjusted_Reflectance(hidden),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(opacity=0.6),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map(opacity=0.6),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&ca=false&cv=49" + "stepLink": "v=-200.83718126800952,-92.22346586093234,192.1043180130135,95.21536721957729&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(opacity=0.6),HLS_S30_Nadir_BRDF_Adjusted_Reflectance(hidden),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor&lg=false&l1=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(opacity=0.6),HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map(opacity=0.6),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg1=false&ca=true&cv=50&t=2022-08-29-T00%3A00%3A00Z&t1=2022-08-29-T00%3A00%3A00Z" }, { "id": "007", @@ -83,7 +83,7 @@ "element": "", "action": "" }, - "stepLink": "v=-151.61006917231674,-60.89513264610752,154.61850889095217,76.29394322514025&t=2021-01-15-T18%3A41%3A50Z&l=OrbitTracks_Terra_Descending(hidden),OrbitTracks_Landsat-8_Descending,OrbitTracks_Sentinel-2A_Descending,OrbitTracks_Sentinel-2B_Descending,Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden,opacity=0.19),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)" + "stepLink": "v=-137.40439624235285,-48.09304200443005,107.66084123411495,68.8066548339932&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden,opacity=0.19),OrbitTracks_Landsat-8_Descending,OrbitTracks_Landsat-9_Descending,OrbitTracks_Sentinel-2A_Descending,OrbitTracks_Sentinel-2B_Descending,OrbitTracks_Terra_Descending(hidden),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-10-T00%3A00%3A00Z" }, { "id": "008", @@ -92,7 +92,7 @@ "element": "", "action": "" }, - "stepLink": "v=-200.8371812680095,-86.52209371542455,192.10431801301348,89.5139950740695&t=2021-01-15-T18%3A41%3A50Z&l=HLS_MGRS_Granule_Grid,OrbitTracks_Landsat-8_Descending(hidden),OrbitTracks_Sentinel-2B_Descending(hidden),OrbitTracks_Sentinel-2A_Descending(hidden),Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden,opacity=0.19),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&tr=hls_intro" + "stepLink": "v=-200.83718126800952,-92.22346586093234,192.1043180130135,95.21536721957729&l=HLS_MGRS_Granule_Grid,Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden,opacity=0.19),HLS_S30_Nadir_BRDF_Adjusted_Reflectance,Land_Water_Map,HLS_L30_Nadir_BRDF_Adjusted_Reflectance,OrbitTracks_Landsat-8_Descending(hidden),OrbitTracks_Landsat-9_Descending(hidden),OrbitTracks_Sentinel-2B_Descending(hidden),OrbitTracks_Sentinel-2A_Descending(hidden),VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=false&t=2022-09-15-T00%3A00%3A00Z" }, { "id": "009", @@ -165,6 +165,24 @@ "action": "" }, "stepLink": "v=-112.58220286286208,35.943216192653004,-111.75633289311408,36.31320236003197&t=2021-01-15-T18%3A41%3A50Z&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)" + }, + { + "id": "017", + "description": "step017.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=173.38161311926515,-39.62334037304031,174.8237503761267,-38.93541984272561&l=Reference_Labels_15m(hidden),Reference_Features_15m(hidden),Coastlines_15m(hidden),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,HLS_S30_Nadir_BRDF_Adjusted_Reflectance,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-10-21-T00%3A00%3A00Z" + }, + { + "id": "018", + "description": "step018.html", + "transition": { + "element": "", + "action": "" + }, + "stepLink": "v=-3.1395203754378196,36.61528270188857,-2.4938515093780786,36.92327617937082&l=Reference_Labels_15m,Reference_Features_15m(hidden),Coastlines_15m,HLS_S30_Nadir_BRDF_Adjusted_Reflectance(hidden),HLS_L30_Nadir_BRDF_Adjusted_Reflectance,VIIRS_NOAA20_CorrectedReflectance_TrueColor(hidden),VIIRS_SNPP_CorrectedReflectance_TrueColor(hidden),MODIS_Aqua_CorrectedReflectance_TrueColor(hidden),MODIS_Terra_CorrectedReflectance_TrueColor(hidden)&lg=true&t=2022-11-24-T00%3A00%3A00Z" } ] } From e803f49565a5fe49d8f6671485b8c4da57730dbc Mon Sep 17 00:00:00 2001 From: minniewong Date: Tue, 27 Dec 2022 17:29:43 -0500 Subject: [PATCH 35/42] Update step003.md --- .../default/common/config/metadata/stories/hls_intro/step003.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default/common/config/metadata/stories/hls_intro/step003.md b/config/default/common/config/metadata/stories/hls_intro/step003.md index fb57fefaa6..2e4e2038d5 100644 --- a/config/default/common/config/metadata/stories/hls_intro/step003.md +++ b/config/default/common/config/metadata/stories/hls_intro/step003.md @@ -1 +1 @@ - The HLS imagery are approximately 1000 times finer spatial resolution than the MODIS VIIRS surface reflectance layers and 160 times finer spatial resolution than the VIIRS surface reflectance layers. Watch New York City come in focus as you swipe to the left! \ No newline at end of file +The HLS imagery are approximately 8 times higher spatial resolution than the MODIS and VIIRS surface reflectance layers - watch New York City come in focus as you swipe to the left! \ No newline at end of file From f52e4ade9b7ae4d620986eb988abe6305ae313f6 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Tue, 3 Jan 2023 08:31:12 -0500 Subject: [PATCH 36/42] disable e2e lat long input test (#4073) --- .../image-download/lat-long-inputs-test.js | 100 +++++++++--------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/e2e/features/image-download/lat-long-inputs-test.js b/e2e/features/image-download/lat-long-inputs-test.js index b43e9f910f..7d259405c8 100644 --- a/e2e/features/image-download/lat-long-inputs-test.js +++ b/e2e/features/image-download/lat-long-inputs-test.js @@ -1,57 +1,57 @@ -const { loadAndSkipTour } = require('../../reuseables/skip-tour'); -const { - openImageDownloadPanel, -} = require('../../reuseables/image-download'); +// const { loadAndSkipTour } = require('../../reuseables/skip-tour'); +// const { +// openImageDownloadPanel, +// } = require('../../reuseables/image-download'); -const TIME_LIMIT = 5000; -const input = { - maxLat: '#latlong-input-3', - maxLon: '#latlong-input-2', - minLat: '#latlong-input-1', - minLon: '#latlong-input-0', -}; +// const TIME_LIMIT = 5000; +// const input = { +// maxLat: '#latlong-input-3', +// maxLon: '#latlong-input-2', +// minLat: '#latlong-input-1', +// minLon: '#latlong-input-0', +// }; -const changeInput = (c, selector, newValue) => { - [...'123456'].forEach(() => { - c.sendKeys(selector, c.Keys.ARROW_RIGHT); - }); - [...'123456789'].forEach(() => { - c.sendKeys(selector, c.Keys.BACK_SPACE); - }); - c.sendKeys(selector, newValue); - c.sendKeys(selector, c.Keys.ENTER); -}; +// const changeInput = (c, selector, newValue) => { +// [...'123456'].forEach(() => { +// c.sendKeys(selector, c.Keys.ARROW_RIGHT); +// }); +// [...'123456789'].forEach(() => { +// c.sendKeys(selector, c.Keys.BACK_SPACE); +// }); +// c.sendKeys(selector, newValue); +// c.sendKeys(selector, c.Keys.ENTER); +// }; -module.exports = { - before(client) { - loadAndSkipTour(client, TIME_LIMIT); - }, +// module.exports = { +// before(client) { +// loadAndSkipTour(client, TIME_LIMIT); +// }, - after(client) { - client.end(); - }, +// after(client) { +// client.end(); +// }, - 'Check that image download inputs are hidden on initial load': function(c) { - openImageDownloadPanel(c); - c.expect.element('.wv-image-input-title span').text.to.equal('Edit Coordinates'); - c.expect.element('.wv-image-input-subtitle').to.not.be.present; - }, - 'Check that image download extent inputs open on click': function(c) { - c.click('.wv-image-input-title span'); - c.waitForElementVisible('.wv-image-input-subtitle', TIME_LIMIT); - }, - 'Verify that input updates crop boundary labels ': function(c) { - c.waitForElementVisible(input.maxLat, TIME_LIMIT); +// 'Check that image download inputs are hidden on initial load': function(c) { +// openImageDownloadPanel(c); +// c.expect.element('.wv-image-input-title span').text.to.equal('Edit Coordinates'); +// c.expect.element('.wv-image-input-subtitle').to.not.be.present; +// }, +// 'Check that image download extent inputs open on click': function(c) { +// c.click('.wv-image-input-title span'); +// c.waitForElementVisible('.wv-image-input-subtitle', TIME_LIMIT); +// }, +// 'Verify that input updates crop boundary labels ': function(c) { +// c.waitForElementVisible(input.maxLat, TIME_LIMIT); - changeInput(c, input.maxLat, '-14'); - changeInput(c, input.maxLon, '14'); - changeInput(c, input.minLat, '-40'); - changeInput(c, input.minLon, '-20'); +// changeInput(c, input.maxLat, '-14'); +// changeInput(c, input.maxLon, '14'); +// changeInput(c, input.minLat, '-40'); +// changeInput(c, input.minLon, '-20'); - c.waitForElementVisible('#wv-image-top', TIME_LIMIT); - c.assert.containsText('#wv-image-top', '-14.0000'); - c.assert.containsText('#wv-image-top', '14.0000'); - c.assert.containsText('#wv-image-bottom', '-40.0000'); - c.assert.containsText('#wv-image-bottom', '-20.0000'); - }, -}; +// c.waitForElementVisible('#wv-image-top', TIME_LIMIT); +// c.assert.containsText('#wv-image-top', '-14.0000'); +// c.assert.containsText('#wv-image-top', '14.0000'); +// c.assert.containsText('#wv-image-bottom', '-40.0000'); +// c.assert.containsText('#wv-image-bottom', '-20.0000'); +// }, +// }; From 9da5555031f48c778f3d0c410cb396d4a9495691 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Tue, 3 Jan 2023 10:45:21 -0500 Subject: [PATCH 37/42] Fix Granule Layers getting stuck (#4072) --- web/js/mapUI/components/layers/addLayer.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web/js/mapUI/components/layers/addLayer.js b/web/js/mapUI/components/layers/addLayer.js index 7533399bfd..8e6d1a4a48 100644 --- a/web/js/mapUI/components/layers/addLayer.js +++ b/web/js/mapUI/components/layers/addLayer.js @@ -27,7 +27,7 @@ const AddLayer = (props) => { if (action.type === layerConstants.ADD_LAYER) { const def = lodashFind(action.layers, { id: action.id }); if (def.type === 'granule') { - granuleLayerAdd(def); + return granuleLayerAdd(def); } clearPreload(); addLayer(def); @@ -38,7 +38,6 @@ const AddLayer = (props) => { ui.processingPromise = new Promise((resolve) => { resolve(addLayer(def)); }); - return addLayer(def); }; /** From 0b0864e6459bf056621e016e32bad068579e080e Mon Sep 17 00:00:00 2001 From: ZachTRice Date: Tue, 3 Jan 2023 14:36:32 -0500 Subject: [PATCH 38/42] Update python and node dependencies --- Pipfile.lock | 139 +++++++++++++++++++++++----------------------- package-lock.json | 48 ++++++++++------ 2 files changed, 100 insertions(+), 87 deletions(-) diff --git a/Pipfile.lock b/Pipfile.lock index 4a019550bd..0a02ec7fb1 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -26,18 +26,18 @@ }, "attrs": { "hashes": [ - "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6", - "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c" + "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", + "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" ], - "markers": "python_version >= '3.5'", - "version": "==22.1.0" + "markers": "python_version >= '3.6'", + "version": "==22.2.0" }, "certifi": { "hashes": [ "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3", "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18" ], - "index": "pypi", + "markers": "python_version >= '3.6'", "version": "==2022.12.7" }, "cffi": { @@ -119,42 +119,39 @@ }, "cryptography": { "hashes": [ - "sha256:0e70da4bdff7601b0ef48e6348339e490ebfb0cbe638e083c9c41fb49f00c8bd", - "sha256:10652dd7282de17990b88679cb82f832752c4e8237f0c714be518044269415db", - "sha256:175c1a818b87c9ac80bb7377f5520b7f31b3ef2a0004e2420319beadedb67290", - "sha256:1d7e632804a248103b60b16fb145e8df0bc60eed790ece0d12efe8cd3f3e7744", - "sha256:1f13ddda26a04c06eb57119caf27a524ccae20533729f4b1e4a69b54e07035eb", - "sha256:2ec2a8714dd005949d4019195d72abed84198d877112abb5a27740e217e0ea8d", - "sha256:2fa36a7b2cc0998a3a4d5af26ccb6273f3df133d61da2ba13b3286261e7efb70", - "sha256:2fb481682873035600b5502f0015b664abc26466153fab5c6bc92c1ea69d478b", - "sha256:3178d46f363d4549b9a76264f41c6948752183b3f587666aff0555ac50fd7876", - "sha256:4367da5705922cf7070462e964f66e4ac24162e22ab0a2e9d31f1b270dd78083", - "sha256:4eb85075437f0b1fd8cd66c688469a0c4119e0ba855e3fef86691971b887caf6", - "sha256:50a1494ed0c3f5b4d07650a68cd6ca62efe8b596ce743a5c94403e6f11bf06c1", - "sha256:53049f3379ef05182864d13bb9686657659407148f901f3f1eee57a733fb4b00", - "sha256:6391e59ebe7c62d9902c24a4d8bcbc79a68e7c4ab65863536127c8a9cd94043b", - "sha256:67461b5ebca2e4c2ab991733f8ab637a7265bb582f07c7c88914b5afb88cb95b", - "sha256:78e47e28ddc4ace41dd38c42e6feecfdadf9c3be2af389abbfeef1ff06822285", - "sha256:80ca53981ceeb3241998443c4964a387771588c4e4a5d92735a493af868294f9", - "sha256:8a4b2bdb68a447fadebfd7d24855758fe2d6fecc7fed0b78d190b1af39a8e3b0", - "sha256:8e45653fb97eb2f20b8c96f9cd2b3a0654d742b47d638cf2897afbd97f80fa6d", - "sha256:998cd19189d8a747b226d24c0207fdaa1e6658a1d3f2494541cb9dfbf7dcb6d2", - "sha256:a10498349d4c8eab7357a8f9aa3463791292845b79597ad1b98a543686fb1ec8", - "sha256:b4cad0cea995af760f82820ab4ca54e5471fc782f70a007f31531957f43e9dee", - "sha256:bfe6472507986613dc6cc00b3d492b2f7564b02b3b3682d25ca7f40fa3fd321b", - "sha256:c9e0d79ee4c56d841bd4ac6e7697c8ff3c8d6da67379057f29e66acffcd1e9a7", - "sha256:ca57eb3ddaccd1112c18fc80abe41db443cc2e9dcb1917078e02dfa010a4f353", - "sha256:ce127dd0a6a0811c251a6cddd014d292728484e530d80e872ad9806cfb1c5b3c" + "sha256:1a6915075c6d3a5e1215eab5d99bcec0da26036ff2102a1038401d6ef5bef25b", + "sha256:1ee1fd0de9851ff32dbbb9362a4d833b579b4a6cc96883e8e6d2ff2a6bc7104f", + "sha256:407cec680e811b4fc829de966f88a7c62a596faa250fc1a4b520a0355b9bc190", + "sha256:50386acb40fbabbceeb2986332f0287f50f29ccf1497bae31cf5c3e7b4f4b34f", + "sha256:6f97109336df5c178ee7c9c711b264c502b905c2d2a29ace99ed761533a3460f", + "sha256:754978da4d0457e7ca176f58c57b1f9de6556591c19b25b8bcce3c77d314f5eb", + "sha256:76c24dd4fd196a80f9f2f5405a778a8ca132f16b10af113474005635fe7e066c", + "sha256:7dacfdeee048814563eaaec7c4743c8aea529fe3dd53127313a792f0dadc1773", + "sha256:80ee674c08aaef194bc4627b7f2956e5ba7ef29c3cc3ca488cf15854838a8f72", + "sha256:844ad4d7c3850081dffba91cdd91950038ee4ac525c575509a42d3fc806b83c8", + "sha256:875aea1039d78557c7c6b4db2fe0e9d2413439f4676310a5f269dd342ca7a717", + "sha256:887cbc1ea60786e534b00ba8b04d1095f4272d380ebd5f7a7eb4cc274710fad9", + "sha256:ad04f413436b0781f20c52a661660f1e23bcd89a0e9bb1d6d20822d048cf2856", + "sha256:bae6c7f4a36a25291b619ad064a30a07110a805d08dc89984f4f441f6c1f3f96", + "sha256:c52a1a6f81e738d07f43dab57831c29e57d21c81a942f4602fac7ee21b27f288", + "sha256:e0a05aee6a82d944f9b4edd6a001178787d1546ec7c6223ee9a848a7ade92e39", + "sha256:e324de6972b151f99dc078defe8fb1b0a82c6498e37bff335f5bc6b1e3ab5a1e", + "sha256:e5d71c5d5bd5b5c3eebcf7c5c2bb332d62ec68921a8c593bea8c394911a005ce", + "sha256:f3ed2d864a2fa1666e749fe52fb8e23d8e06b8012e8bd8147c73797c506e86f1", + "sha256:f671c1bb0d6088e94d61d80c606d65baacc0d374e67bf895148883461cd848de", + "sha256:f6c0db08d81ead9576c4d94bbb27aed8d7a430fa27890f39084c2d0e2ec6b0df", + "sha256:f964c7dcf7802d133e8dbd1565914fa0194f9d683d82411989889ecd701e8adf", + "sha256:fec8b932f51ae245121c4671b4bbc030880f363354b2f0e0bd1366017d891458" ], - "version": "==38.0.4" + "version": "==39.0.0" }, "h11": { "hashes": [ - "sha256:36a3cb8c0a032f56e2da7084577878a035d3b61d104230d4bd49c0c6b555a9c6", - "sha256:47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042" + "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", + "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761" ], - "markers": "python_version >= '3.6'", - "version": "==0.12.0" + "markers": "python_version >= '3.7'", + "version": "==0.14.0" }, "h2": { "hashes": [ @@ -173,22 +170,22 @@ }, "httpcore": { "hashes": [ - "sha256:1105b8b73c025f23ff7c36468e4432226cbb959176eab66864b8e31c4ee27fa6", - "sha256:18b68ab86a3ccf3e7dc0f43598eaddcf472b602aba29f9aa6ab85fe2ada3980b" + "sha256:c5d6f04e2fc530f39e0c077e6a30caa53f1451096120f1f38b954afd0b17c0cb", + "sha256:da1fb708784a938aa084bde4feb8317056c55037247c787bd7e19eb2c2949dc0" ], "markers": "python_version >= '3.7'", - "version": "==0.15.0" + "version": "==0.16.3" }, "httpx": { "extras": [ "http2" ], "hashes": [ - "sha256:42974f577483e1e932c3cdc3cd2303e883cbfba17fe228b0f63589764d7b9c4b", - "sha256:f28eac771ec9eb4866d3fb4ab65abd42d38c424739e80c08d8d20570de60b0ef" + "sha256:106cded342a44e443060fab70ef327139248c61939e77d73964560c8d8b57069", + "sha256:e824a6fa18ffaa6423c6f3a32d5096fc15bd8dff43663a223f06242fc69451a8" ], "index": "pypi", - "version": "==0.23.0" + "version": "==0.23.2" }, "hyperframe": { "hashes": [ @@ -227,43 +224,47 @@ "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.21" }, "pyopenssl": { "hashes": [ - "sha256:7a83b7b272dd595222d672f5ce29aa030f1fb837630ef229f62e72e395ce8968", - "sha256:b28437c9773bb6c6958628cf9c3bebe585de661dba6f63df17111966363dd15e" + "sha256:c1cc5f86bcacefc84dada7d31175cae1b1518d5f60d3d0bb595a67822a868a6f", + "sha256:df5fc28af899e74e19fccb5510df423581047e10ab6f1f4ba1763ff5fde844c0" ], - "version": "==22.1.0" + "version": "==23.0.0" }, "pyrsistent": { "hashes": [ - "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed", - "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb", - "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a", - "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95", - "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712", - "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73", - "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41", - "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b", - "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78", - "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab", - "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308", - "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425", - "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2", - "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e", - "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6", - "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2", - "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a", - "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291", - "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584", - "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a", - "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0", - "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770" + "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8", + "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440", + "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a", + "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c", + "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3", + "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393", + "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9", + "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da", + "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf", + "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64", + "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a", + "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3", + "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98", + "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2", + "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8", + "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf", + "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc", + "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7", + "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28", + "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2", + "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b", + "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a", + "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64", + "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19", + "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1", + "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9", + "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c" ], "markers": "python_version >= '3.7'", - "version": "==0.19.2" + "version": "==0.19.3" }, "requests": { "hashes": [ diff --git a/package-lock.json b/package-lock.json index 7f6ab38b9a..c43e0d5f3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6579,9 +6579,10 @@ } }, "node_modules/css-hot-loader/node_modules/json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -6634,9 +6635,10 @@ } }, "node_modules/css-loader/node_modules/json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -6894,9 +6896,9 @@ } }, "node_modules/css-url-relative-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -13375,9 +13377,10 @@ "peer": true }, "node_modules/json5": { - "version": "2.2.1", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -21946,9 +21949,10 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -28011,7 +28015,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -28050,7 +28056,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -28222,9 +28230,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -32545,7 +32553,9 @@ "peer": true }, "json5": { - "version": "2.2.1", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonfile": { @@ -38467,7 +38477,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" From 53f8a8b0498d3054a1f7177cce477d99688dcdb3 Mon Sep 17 00:00:00 2001 From: Ryan Weiler Date: Fri, 6 Jan 2023 11:30:30 -0500 Subject: [PATCH 39/42] WV-2545: Uniform styling for tooltip components (#4063) * WV-2094 - pull collection version/type from headers - display in layer row * WV-2094 - debounce update state - make sure preload and wings layers don't interfere * testing & notes * updating layer collection * functionality for updating collection types & versions * displaying collection info options * update chromedriver and change badge variations * add tooltip with placement right * update collection identifier description * remove collection identifier if layer is not visible * add hover delay * remove props warning message/update action syntax * left-aligning tooltips * updating styling for tooltips * remove left align * update tooltips with padding and slight border radius * fix coordinate setting tooltip and temperature setting tooltip Co-authored-by: Jason Kent --- .../components/animation-widget/gif-button.js | 1 + .../animation-widget/loop-button.js | 1 + .../animation-widget/play-button.js | 1 + .../coordinate-format-buttons.js | 13 ++++++------ .../temperature-unit-buttons.js | 12 +++++------ .../product-picker/browse/browse-layers.js | 1 + .../browse/measurement-layer-row.js | 1 + .../product-picker/browse/recent-layers.js | 1 + .../components/layer/product-picker/header.js | 2 ++ .../product-picker/search/product-facet.js | 1 + .../product-picker/search/search-layer-row.js | 1 + .../layer/settings/granule-count-slider.js | 1 + .../location-search/coordinates-dialog.js | 3 +++ .../location-search/copy-tooltip.js | 1 + .../location-search/location-search-input.js | 2 ++ web/js/components/map/ol-coordinates.js | 2 +- .../components/measure-tool/measure-button.js | 1 + web/js/components/sidebar/collapsed-button.js | 2 +- web/js/components/sidebar/event-icon.js | 1 + web/js/components/sidebar/events-filter.js | 2 ++ web/js/components/sidebar/nav/nav-case.js | 2 +- web/js/components/sidebar/paletteLegend.js | 1 + .../timeline-controls/animation-button.js | 1 + .../timeline-coverage/timeline-coverage.js | 2 +- web/js/components/toolbar/share/tooltips.js | 2 ++ web/js/components/util/hover-tooltip.js | 1 + web/js/components/util/switch.js | 1 + web/js/components/vector-metadata/tooltip.js | 1 + web/js/containers/sidebar/layer-row.js | 11 +++++----- web/js/containers/sidebar/smart-handoff.js | 1 + web/js/containers/sidebar/zot.js | 1 + web/js/containers/timeline/timeline.js | 2 +- web/scss/components/tooltip.scss | 20 +++++++++++++++++++ 33 files changed, 74 insertions(+), 22 deletions(-) diff --git a/web/js/components/animation-widget/gif-button.js b/web/js/components/animation-widget/gif-button.js index 6a885aa35f..b55df48d97 100644 --- a/web/js/components/animation-widget/gif-button.js +++ b/web/js/components/animation-widget/gif-button.js @@ -107,6 +107,7 @@ const GifButton = (props) => { {showWarning ? warningMessage : labelText} diff --git a/web/js/components/animation-widget/loop-button.js b/web/js/components/animation-widget/loop-button.js index f6ce786a35..8c313bbe1b 100644 --- a/web/js/components/animation-widget/loop-button.js +++ b/web/js/components/animation-widget/loop-button.js @@ -25,6 +25,7 @@ const LoopButton = ({ looping, onLoop, isMobile }) => { {isMobile ? null : ( diff --git a/web/js/components/animation-widget/play-button.js b/web/js/components/animation-widget/play-button.js index 5fe8b783c4..5ebea5fa1c 100644 --- a/web/js/components/animation-widget/play-button.js +++ b/web/js/components/animation-widget/play-button.js @@ -26,6 +26,7 @@ const PlayButton = ({ > {!isMobile && ( diff --git a/web/js/components/global-settings/coordinate-format-buttons.js b/web/js/components/global-settings/coordinate-format-buttons.js index e234e5548a..129ab37452 100644 --- a/web/js/components/global-settings/coordinate-format-buttons.js +++ b/web/js/components/global-settings/coordinate-format-buttons.js @@ -1,12 +1,12 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Button, ButtonGroup } from 'reactstrap'; +import { Button, ButtonGroup, UncontrolledTooltip } from 'reactstrap'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import HoverTooltip from '../util/hover-tooltip'; import { COORDINATE_FORMATS } from '../../modules/settings/constants'; function CoordinateFormatButtons ({ changeCoordinateFormat, coordinateFormat }) { const coordinateMenuOptions = ['DD', 'DDM', 'DMS']; + const labelText = 'Applied to all on screen coordinates'; return (
    @@ -14,12 +14,13 @@ function CoordinateFormatButtons ({ changeCoordinateFormat, coordinateFormat }) Coordinate Format (latitude, longitude) {' '} - + > + {labelText} + {COORDINATE_FORMATS.map((format, i) => ( diff --git a/web/js/components/global-settings/temperature-unit-buttons.js b/web/js/components/global-settings/temperature-unit-buttons.js index 426948a7ad..2edbc4f77f 100644 --- a/web/js/components/global-settings/temperature-unit-buttons.js +++ b/web/js/components/global-settings/temperature-unit-buttons.js @@ -1,8 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Button, ButtonGroup } from 'reactstrap'; +import { Button, ButtonGroup, UncontrolledTooltip } from 'reactstrap'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import HoverTooltip from '../util/hover-tooltip'; import { TEMPERATURE_UNITS } from '../../modules/settings/constants'; const TemperatureUnitButtons = ({ changeTemperatureUnit, globalTemperatureUnit }) => ( @@ -11,12 +10,13 @@ const TemperatureUnitButtons = ({ changeTemperatureUnit, globalTemperatureUnit } Temperature Unit {' '} - + > + Applied to relevant temperature layers + {TEMPERATURE_UNITS.map((unit) => ( diff --git a/web/js/components/layer/product-picker/browse/browse-layers.js b/web/js/components/layer/product-picker/browse/browse-layers.js index 8c7a56ae90..92d07a2c8d 100644 --- a/web/js/components/layer/product-picker/browse/browse-layers.js +++ b/web/js/components/layer/product-picker/browse/browse-layers.js @@ -140,6 +140,7 @@ function BrowseLayers (props) { : (
    )} {(layerNotices || layerIsUnavailable) && (

    Recently Used Layers

    @@ -189,6 +190,7 @@ class ProductPickerHeader extends React.Component { aria-label="Filtered layer search" > diff --git a/web/js/components/layer/product-picker/search/product-facet.js b/web/js/components/layer/product-picker/search/product-facet.js index 6af91616c4..cc7634dc44 100644 --- a/web/js/components/layer/product-picker/search/product-facet.js +++ b/web/js/components/layer/product-picker/search/product-facet.js @@ -27,6 +27,7 @@ function ProductFacet(props) { const renderHeaderIcons = () => ( <> {

    Granule Count

    diff --git a/web/js/components/location-search/coordinates-dialog.js b/web/js/components/location-search/coordinates-dialog.js index dd64dcb1fb..ec47352165 100644 --- a/web/js/components/location-search/coordinates-dialog.js +++ b/web/js/components/location-search/coordinates-dialog.js @@ -108,6 +108,7 @@ class CoordinatesDialog extends Component { {tooltipVisibilityCondition && ( {tooltipVisibilityCondition && ( {tooltipVisibilityCondition && ( {tooltipVisibilityCondition && ( {latitude && latitude && ( - + Change coordinates format )} diff --git a/web/js/components/measure-tool/measure-button.js b/web/js/components/measure-tool/measure-button.js index 2a7f3a96d2..026d5ddb00 100644 --- a/web/js/components/measure-tool/measure-button.js +++ b/web/js/components/measure-tool/measure-button.js @@ -92,6 +92,7 @@ class MeasureButton extends React.Component { style={mobileMeasureButtonStyle} > diff --git a/web/js/components/sidebar/collapsed-button.js b/web/js/components/sidebar/collapsed-button.js index 3d7a47d208..b0a04b085d 100644 --- a/web/js/components/sidebar/collapsed-button.js +++ b/web/js/components/sidebar/collapsed-button.js @@ -24,7 +24,7 @@ class CollapsedButton extends PureComponent { aria-label={labelText} onClick={onclick} > - + {labelText} diff --git a/web/js/components/sidebar/event-icon.js b/web/js/components/sidebar/event-icon.js index 005a367a9d..32fac28b0f 100644 --- a/web/js/components/sidebar/event-icon.js +++ b/web/js/components/sidebar/event-icon.js @@ -15,6 +15,7 @@ export default function EventIcon ({ return ( <> @@ -158,6 +159,7 @@ function EventFilterModalBody (props) { /> diff --git a/web/js/components/sidebar/nav/nav-case.js b/web/js/components/sidebar/nav/nav-case.js index ad416d4e25..d86df3f41b 100644 --- a/web/js/components/sidebar/nav/nav-case.js +++ b/web/js/components/sidebar/nav/nav-case.js @@ -110,7 +110,7 @@ function NavCase (props) { aria-label="Hide sidebar" style={collapseIconMobile} /> - + Hide sidebar
    diff --git a/web/js/components/sidebar/paletteLegend.js b/web/js/components/sidebar/paletteLegend.js index 8679f69c33..d6b12723a4 100644 --- a/web/js/components/sidebar/paletteLegend.js +++ b/web/js/components/sidebar/paletteLegend.js @@ -384,6 +384,7 @@ class PaletteLegend extends React.Component { {isVisible && ( { {isMobile ? null : ( diff --git a/web/js/components/timeline/timeline-coverage/timeline-coverage.js b/web/js/components/timeline/timeline-coverage/timeline-coverage.js index e2ec93f714..770d1eb559 100644 --- a/web/js/components/timeline/timeline-coverage/timeline-coverage.js +++ b/web/js/components/timeline/timeline-coverage/timeline-coverage.js @@ -380,7 +380,7 @@ class TimelineLayerCoveragePanel extends Component { onClick={this.togglePanelOpenClose} style={panelHandleStyle} > - + {panelToggleLabelText}
    diff --git a/web/js/components/toolbar/share/tooltips.js b/web/js/components/toolbar/share/tooltips.js index 2ae819e2be..47d6e9046a 100644 --- a/web/js/components/toolbar/share/tooltips.js +++ b/web/js/components/toolbar/share/tooltips.js @@ -64,6 +64,7 @@ class ShareToolTips extends PureComponent { return ( <> { return !isMobile && ( { <>
    onRemoveClick(layer.id)} > - + {removeLayerBtnTitle} @@ -237,7 +237,7 @@ function LayerRow (props) { onMouseDown={stopPropagation} onClick={() => onOptionsClick(layer, title)} > - + {layerOptionsBtnTitle} @@ -249,7 +249,7 @@ function LayerRow (props) { onMouseDown={stopPropagation} onClick={() => onInfoClick(layer, title, measurementDescriptionPath)} > - + {layerInfoBtnTitle} @@ -273,7 +273,7 @@ function LayerRow (props) { onMouseDown={stopPropagation} onClick={openVectorAlertModal} > - + {title} @@ -345,6 +345,7 @@ function LayerRow (props) { > {!isAnimating && ( @@ -370,7 +371,7 @@ function LayerRow (props) {
    {collections.version} {collections.type} - + {collectionIdentifierDescription} diff --git a/web/js/containers/sidebar/smart-handoff.js b/web/js/containers/sidebar/smart-handoff.js index c3edba2272..91a8e59703 100644 --- a/web/js/containers/sidebar/smart-handoff.js +++ b/web/js/containers/sidebar/smart-handoff.js @@ -345,6 +345,7 @@ class SmartHandoff extends Component { const url = value && `${getConceptUrl(value)}.html`; return url && ( - + {isTimelineHidden ? 'Show timeline' : 'Hide timeline'}
    Date: Mon, 9 Jan 2023 09:16:07 -0500 Subject: [PATCH 40/42] WV-2519 animation fix (#4077) * Adjusted 2 areas where speed < 1 cause computation issues. Also adjusted loopDelay to be computed based on speed as opposed to a default value. * Removed comment that was no longer relevant. --- .../components/animation-widget/play-queue.js | 59 +++++++++++-------- web/js/modules/animation/util.js | 10 ++++ 2 files changed, 44 insertions(+), 25 deletions(-) diff --git a/web/js/components/animation-widget/play-queue.js b/web/js/components/animation-widget/play-queue.js index d9902d23c9..9cf8c472eb 100644 --- a/web/js/components/animation-widget/play-queue.js +++ b/web/js/components/animation-widget/play-queue.js @@ -8,12 +8,18 @@ import LoadingIndicator from './loading-indicator'; import util from '../../util/util'; // We assume anything this fast or faster is a frame that was pulled from the cache -const MIN_REQUEST_TIME = 200; // milliseconds +const MIN_REQUEST_TIME_MS = 200; const CONCURRENT_REQUESTS = 3; const toString = (date) => util.toISOStringSeconds(date); const toDate = (dateString) => util.parseDateUTC(dateString); -// Get the initiall buffer size, using a larger buffer for higher speeds +/** + * Calculate the initial buffer size, using a larger buffer for higher speeds + * @param {Number} numberOfFrames | Number of frames for the entire animation + * @param {Number} speed | Frames Per Second selected for this animation + * + * @return {Number} | The lower of the default buffer size & the calculated buffer size. + */ const getInitialBufferSize = (numberOfFrames, speed) => { const defaultSize = 10; const buffer = defaultSize + (speed * 1.5); @@ -58,9 +64,9 @@ class PlayQueue extends React.Component { componentDidMount() { this.mounted = true; - this.queue.on('completed', (dateStr) => { - console.debug(dateStr, this.queue.size, this.queue.pending); - }); + // this.queue.on('completed', (dateStr) => { + // console.debug(dateStr, this.queue.size, this.queue.pending); + // }); this.playingDate = this.getStartDate(); this.checkQueue(); this.checkShouldPlay(); @@ -128,13 +134,15 @@ class PlayQueue extends React.Component { }; /** - * Queue up initial dates to create a minimum buffer - */ - initialPreload(date) { + * Queue up initial dates to create a minimum buffer + * @param {Date} animStartDate | 1-Day prior to the Animation Start Date + * @return {void} + */ + initialPreload(animStartDate) { const { numberOfFrames, selectDate, togglePlaying, startDate, } = this.props; - let currentDate = date; + let currentDate = animStartDate; const lastInQueue = this.getLastInQueue(); if (numberOfFrames <= 1) { // if only one frame will play just move to that date @@ -171,11 +179,11 @@ class PlayQueue extends React.Component { bufferSize = Math.ceil(preloadTime / msPerSec); } - const totalLoadTime = ((avgFetchTime * numberOfFrames) / msPerSec / CONCURRENT_REQUESTS).toFixed(2); - console.debug('Total frames: ', numberOfFrames); - console.debug('Avg fetch time: ', (avgFetchTime / msPerSec).toFixed(2)); - console.debug('Play time (t/r): ', (totalPlayTime / msPerSec).toFixed(2), (remainingPlayTime / msPerSec).toFixed(2)); - console.debug('Load time (t/r): ', totalLoadTime, (remainingLoadTime / msPerSec).toFixed(2)); + // const totalLoadTime = ((avgFetchTime * numberOfFrames) / msPerSec / CONCURRENT_REQUESTS).toFixed(2); + // console.debug('Total frames: ', numberOfFrames); + // console.debug('Avg fetch time: ', (avgFetchTime / msPerSec).toFixed(2)); + // console.debug('Play time (t/r): ', (totalPlayTime / msPerSec).toFixed(2), (remainingPlayTime / msPerSec).toFixed(2)); + // console.debug('Load time (t/r): ', totalLoadTime, (remainingLoadTime / msPerSec).toFixed(2)); const totalBuffer = bufferSize + this.initialBufferSize; if (totalBuffer >= numberOfFrames) { @@ -200,7 +208,7 @@ class PlayQueue extends React.Component { if (!this.minBufferLength) { this.minBufferLength = this.calcBufferSize(); } - console.debug(`Buffer: ${currentBufferSize} / ${this.minBufferLength}`); + // console.debug(`Buffer: ${currentBufferSize} / ${this.minBufferLength}`); return currentBufferSize >= this.minBufferLength; } @@ -214,16 +222,17 @@ class PlayQueue extends React.Component { return; } if (this.isPreloadSufficient() || restartLoop) { - console.debug('Started: ', Date.now()); + // console.debug('Started: ', Date.now()); return this.play(); } this.checkQueue(); }; checkShouldLoop() { - const { isLoopActive, startDate, togglePlaying } = this.props; - // Could base this off animation speed? - const loopDelay = 1000; + const { + isLoopActive, startDate, togglePlaying, speed, + } = this.props; + const loopDelay = speed === 0.5 ? 2000 : 1000 / speed; if (isLoopActive) { this.playingDate = toString(startDate); @@ -234,7 +243,6 @@ class PlayQueue extends React.Component { }, loopDelay); } else { togglePlaying(); - console.debug('Stopped: ', Date.now()); } } @@ -310,7 +318,7 @@ class PlayQueue extends React.Component { const startTime = Date.now(); await promiseImageryForTime(date); const elapsedTime = Date.now() - startTime; - const fetchTime = elapsedTime >= MIN_REQUEST_TIME ? elapsedTime : MIN_REQUEST_TIME; + const fetchTime = elapsedTime >= MIN_REQUEST_TIME_MS ? elapsedTime : MIN_REQUEST_TIME_MS; this.fetchTimes.push(fetchTime); this.setState({ loadedItems: loadedItems += 1 }); return strDate; @@ -353,9 +361,9 @@ class PlayQueue extends React.Component { scheduleFrame(time); }; const scheduleFrame = (time) => { - const elapsed = time - start; - const roundedElapsed = Math.round(elapsed / ms) * ms; - const targetNext = start + roundedElapsed + ms; + const elapsedTime = time - start; + const roundedElapsedTime = Math.round(elapsedTime / ms) * ms; + const targetNext = start + roundedElapsedTime + ms; const delay = targetNext - performance.now(); setTimeout(() => requestAnimationFrame(frame), delay); }; @@ -409,7 +417,8 @@ class PlayQueue extends React.Component { } this.checkQueue(); }; - this.animationInterval(1000 / speed, player); + const animIntervalMS = speed === 0.5 ? 2000 : 1000 / speed; + this.animationInterval(animIntervalMS, player); } getPlaybackPosition() { diff --git a/web/js/modules/animation/util.js b/web/js/modules/animation/util.js index 1cffca337f..99646f0f59 100644 --- a/web/js/modules/animation/util.js +++ b/web/js/modules/animation/util.js @@ -36,6 +36,16 @@ export function snapToIntervalDelta(currDate, startDate, endDate, interval, delt return currentDate || startDate; } +/** + * Calculate the required number of steps (frames) required for the animation + * @param {Date} start | The date of the first frame of animation + * @param {Date} end | The date of the last frame of animation + * @param {String} interval | The animation step value (Year/Month/Day/Custom) separating frames + * @param {Number} delta | Rate of change between states; defaults to 1 second + * @param {Number} maxToCheck | The limit on the total number of frames to be used + * + * @return {Number} | The total number of frames required + */ export function getNumberOfSteps(start, end, interval, delta = 1, maxToCheck) { let i = 1; let currentDate = start; From 7e86daec1de33f97ed89fabfa07eaaac30af0e57 Mon Sep 17 00:00:00 2001 From: ZachTRice Date: Mon, 9 Jan 2023 10:59:05 -0500 Subject: [PATCH 41/42] pin trufflehog to v3.23.0 to fix bug with since-commit flag --- .github/workflows/secret-check.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/secret-check.yml b/.github/workflows/secret-check.yml index 858522b996..8c6e449901 100644 --- a/.github/workflows/secret-check.yml +++ b/.github/workflows/secret-check.yml @@ -12,9 +12,9 @@ jobs: ref: ${{ github.ref_name }} fetch-depth: 0 - name: TruffleHog OSS - uses: trufflesecurity/trufflehog@main + uses: trufflesecurity/trufflehog@v3.23.0 with: path: ./ base: main head: ${{ github.ref_name }} - extra_args: --debug --only-verified \ No newline at end of file + extra_args: --debug --only-verified From af1173851e3a98e1b4f88566ae197c8a7a3f98fb Mon Sep 17 00:00:00 2001 From: Tom Cariello Date: Tue, 10 Jan 2023 12:03:37 -0500 Subject: [PATCH 42/42] WV-2399 Upgrade Openlayers Version (#4078) * Upgraded ol to v7.2.2 & ol-mapbox-style to v9.4.0 * Trufflehog fix for github actions. --- package-lock.json | 196 ++++++++++++++++++++++++++++++++-------------- package.json | 4 +- 2 files changed, 140 insertions(+), 60 deletions(-) diff --git a/package-lock.json b/package-lock.json index c43e0d5f3a..d304918fd6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,8 +35,8 @@ "moment": "^2.29.4", "moment-locales-webpack-plugin": "^1.2.0", "node-dir": "^0.1.17", - "ol": "7.1.0", - "ol-mapbox-style": "9.1.0", + "ol": "7.2.2", + "ol-mapbox-style": "9.4.0", "p-queue": "^7.3.0", "proj4": "2.6.1", "promise-queue": "2.2.5", @@ -2733,20 +2733,23 @@ }, "node_modules/@mapbox/jsonlint-lines-primitives": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", "engines": { "node": ">= 0.6" } }, "node_modules/@mapbox/mapbox-gl-style-spec": { - "version": "13.25.0", - "license": "ISC", + "version": "13.28.0", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz", + "integrity": "sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==", "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/point-geometry": "^0.1.0", "@mapbox/unitbezier": "^0.0.0", "csscolorparser": "~1.0.2", "json-stringify-pretty-compact": "^2.0.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "rw": "^1.3.3", "sort-object": "^0.3.2" }, @@ -2759,11 +2762,13 @@ }, "node_modules/@mapbox/point-geometry": { "version": "0.1.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" }, "node_modules/@mapbox/unitbezier": { "version": "0.0.0", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==" }, "node_modules/@nightwatch/chai": { "version": "5.0.2", @@ -2869,8 +2874,9 @@ } }, "node_modules/@petamoriken/float16": { - "version": "3.6.5", - "license": "MIT" + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.7.1.tgz", + "integrity": "sha512-oXZOc+aePd0FnhTWk15pyqK+Do87n0TyLV1nxdEougE95X/WXWDqmQobfhgnSY7QsWn5euZUWuDVeTQvoQ5VNw==" }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { "version": "0.5.7", @@ -6953,7 +6959,8 @@ }, "node_modules/csscolorparser": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" }, "node_modules/cssesc": { "version": "3.0.0", @@ -9815,25 +9822,37 @@ "license": "MIT" }, "node_modules/geotiff": { - "version": "2.0.4", - "license": "MIT", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-2.0.7.tgz", + "integrity": "sha512-FKvFTNowMU5K6lHYY2f83d4lS2rsCNdpUC28AX61x9ZzzqPNaWFElWv93xj0eJFaNyOYA63ic5OzJ88dHpoA5Q==", "dependencies": { "@petamoriken/float16": "^3.4.7", "lerc": "^3.0.0", - "lru-cache": "^6.0.0", "pako": "^2.0.4", "parse-headers": "^2.0.2", + "quick-lru": "^6.1.1", "web-worker": "^1.2.0", "xml-utils": "^1.0.2" }, "engines": { - "browsers": "defaults", "node": ">=10.19" } }, "node_modules/geotiff/node_modules/pako": { - "version": "2.0.4", - "license": "(MIT AND Zlib)" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "node_modules/geotiff/node_modules/quick-lru": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.1.tgz", + "integrity": "sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/get-caller-file": { "version": "2.0.5", @@ -13367,7 +13386,8 @@ }, "node_modules/json-stringify-pretty-compact": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz", + "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==" }, "node_modules/json-stringify-safe": { "version": "5.0.1", @@ -13501,7 +13521,8 @@ }, "node_modules/lerc": { "version": "3.0.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", + "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==" }, "node_modules/leven": { "version": "3.1.0", @@ -13868,6 +13889,7 @@ }, "node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "license": "ISC", "dependencies": { "yallist": "^4.0.0" @@ -14007,8 +14029,9 @@ } }, "node_modules/mapbox-to-css-font": { - "version": "2.4.1", - "license": "BSD-2-Clause" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz", + "integrity": "sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA==" }, "node_modules/masonry-layout": { "version": "4.2.2", @@ -15865,13 +15888,13 @@ "license": "MIT" }, "node_modules/ol": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ol/-/ol-7.1.0.tgz", - "integrity": "sha512-mAeV5Ca4mFhYaJoGWNZnIMN5VNnFTf63FgZjBiYu/DjQDGKNsD5QyvvqVziioVdOOgl6b8rPB/ypj2XNBinPwA==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/ol/-/ol-7.2.2.tgz", + "integrity": "sha512-eqJ1hhVQQ3Ap4OhYq9DRu5pz9RMpLhmoTauDoIqpn7logVi1AJE+lXjEHrPrTSuZYjtFbMgqr07sxoLNR65nrw==", "dependencies": { "earcut": "^2.2.3", - "geotiff": "2.0.4", - "ol-mapbox-style": "9.1.0", + "geotiff": "^2.0.7", + "ol-mapbox-style": "^9.2.0", "pbf": "3.2.1", "rbush": "^3.0.1" }, @@ -15881,8 +15904,9 @@ } }, "node_modules/ol-mapbox-style": { - "version": "9.1.0", - "license": "BSD-2-Clause", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-9.4.0.tgz", + "integrity": "sha512-I9dK1K41P8DjozFeQ4x1pfou86q/WedRzjCMpNhtHW9APJ/l3UT6aGsp2HcbG7cLfx3EpzK4Q7HxKwcQYR5Chw==", "dependencies": { "@mapbox/mapbox-gl-style-spec": "^13.23.1", "mapbox-to-css-font": "^2.4.1" @@ -16253,7 +16277,8 @@ }, "node_modules/parse-headers": { "version": "2.0.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, "node_modules/parse-import": { "version": "2.0.0", @@ -18961,7 +18986,8 @@ }, "node_modules/rw": { "version": "1.3.3", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, "node_modules/safe-buffer": { "version": "5.1.2", @@ -20450,12 +20476,16 @@ }, "node_modules/sort-asc": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz", + "integrity": "sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw==", "engines": { "node": ">=0.10.0" } }, "node_modules/sort-desc": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz", + "integrity": "sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw==", "engines": { "node": ">=0.10.0" } @@ -20473,6 +20503,8 @@ }, "node_modules/sort-object": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz", + "integrity": "sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==", "dependencies": { "sort-asc": "^0.1.0", "sort-desc": "^0.1.1" @@ -22533,7 +22565,8 @@ }, "node_modules/web-worker": { "version": "1.2.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" }, "node_modules/webidl-conversions": { "version": "6.1.0", @@ -23361,8 +23394,9 @@ "license": "Apache-2.0" }, "node_modules/xml-utils": { - "version": "1.1.0", - "license": "CC0-1.0" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.3.0.tgz", + "integrity": "sha512-i4PIrX33Wd66dvwo4syicwlwmnr6wuvvn4f2ku9hA67C2Uk62Xubczuhct+Evnd12/DV71qKNeDdJwES8HX1RA==" }, "node_modules/xmlchars": { "version": "2.2.0", @@ -23384,6 +23418,7 @@ }, "node_modules/yallist": { "version": "4.0.0", + "dev": true, "license": "ISC" }, "node_modules/yaml": { @@ -25206,26 +25241,34 @@ "dev": true }, "@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==" }, "@mapbox/mapbox-gl-style-spec": { - "version": "13.25.0", + "version": "13.28.0", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.28.0.tgz", + "integrity": "sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==", "requires": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/point-geometry": "^0.1.0", "@mapbox/unitbezier": "^0.0.0", "csscolorparser": "~1.0.2", "json-stringify-pretty-compact": "^2.0.0", - "minimist": "^1.2.5", + "minimist": "^1.2.6", "rw": "^1.3.3", "sort-object": "^0.3.2" } }, "@mapbox/point-geometry": { - "version": "0.1.0" + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" }, "@mapbox/unitbezier": { - "version": "0.0.0" + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==" }, "@nightwatch/chai": { "version": "5.0.2", @@ -25301,7 +25344,9 @@ } }, "@petamoriken/float16": { - "version": "3.6.5" + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.7.1.tgz", + "integrity": "sha512-oXZOc+aePd0FnhTWk15pyqK+Do87n0TyLV1nxdEougE95X/WXWDqmQobfhgnSY7QsWn5euZUWuDVeTQvoQ5VNw==" }, "@pmmmwh/react-refresh-webpack-plugin": { "version": "0.5.7", @@ -28272,7 +28317,9 @@ "dev": true }, "csscolorparser": { - "version": "1.0.3" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" }, "cssesc": { "version": "3.0.0", @@ -30227,19 +30274,28 @@ "version": "1.52.0" }, "geotiff": { - "version": "2.0.4", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-2.0.7.tgz", + "integrity": "sha512-FKvFTNowMU5K6lHYY2f83d4lS2rsCNdpUC28AX61x9ZzzqPNaWFElWv93xj0eJFaNyOYA63ic5OzJ88dHpoA5Q==", "requires": { "@petamoriken/float16": "^3.4.7", "lerc": "^3.0.0", - "lru-cache": "^6.0.0", "pako": "^2.0.4", "parse-headers": "^2.0.2", + "quick-lru": "^6.1.1", "web-worker": "^1.2.0", "xml-utils": "^1.0.2" }, "dependencies": { "pako": { - "version": "2.0.4" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "quick-lru": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.1.tgz", + "integrity": "sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==" } } }, @@ -32544,7 +32600,9 @@ "dev": true }, "json-stringify-pretty-compact": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz", + "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==" }, "json-stringify-safe": { "version": "5.0.1", @@ -32644,7 +32702,9 @@ } }, "lerc": { - "version": "3.0.0" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", + "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==" }, "leven": { "version": "3.1.0", @@ -32924,6 +32984,7 @@ }, "lru-cache": { "version": "6.0.0", + "dev": true, "requires": { "yallist": "^4.0.0" } @@ -33026,7 +33087,9 @@ } }, "mapbox-to-css-font": { - "version": "2.4.1" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.2.tgz", + "integrity": "sha512-f+NBjJJY4T3dHtlEz1wCG7YFlkODEjFIYlxDdLIDMNpkSksqTt+l/d4rjuwItxuzkuMFvPyrjzV2lxRM4ePcIA==" }, "masonry-layout": { "version": "4.2.2", @@ -34348,19 +34411,21 @@ "dev": true }, "ol": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ol/-/ol-7.1.0.tgz", - "integrity": "sha512-mAeV5Ca4mFhYaJoGWNZnIMN5VNnFTf63FgZjBiYu/DjQDGKNsD5QyvvqVziioVdOOgl6b8rPB/ypj2XNBinPwA==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/ol/-/ol-7.2.2.tgz", + "integrity": "sha512-eqJ1hhVQQ3Ap4OhYq9DRu5pz9RMpLhmoTauDoIqpn7logVi1AJE+lXjEHrPrTSuZYjtFbMgqr07sxoLNR65nrw==", "requires": { "earcut": "^2.2.3", - "geotiff": "2.0.4", - "ol-mapbox-style": "9.1.0", + "geotiff": "^2.0.7", + "ol-mapbox-style": "^9.2.0", "pbf": "3.2.1", "rbush": "^3.0.1" } }, "ol-mapbox-style": { - "version": "9.1.0", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-9.4.0.tgz", + "integrity": "sha512-I9dK1K41P8DjozFeQ4x1pfou86q/WedRzjCMpNhtHW9APJ/l3UT6aGsp2HcbG7cLfx3EpzK4Q7HxKwcQYR5Chw==", "requires": { "@mapbox/mapbox-gl-style-spec": "^13.23.1", "mapbox-to-css-font": "^2.4.1" @@ -34600,7 +34665,9 @@ } }, "parse-headers": { - "version": "2.0.5" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.5.tgz", + "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==" }, "parse-import": { "version": "2.0.0", @@ -36375,7 +36442,9 @@ "dev": true }, "rw": { - "version": "1.3.3" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" }, "safe-buffer": { "version": "5.1.2" @@ -37432,10 +37501,14 @@ } }, "sort-asc": { - "version": "0.1.0" + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz", + "integrity": "sha512-jBgdDd+rQ+HkZF2/OHCmace5dvpos/aWQpcxuyRs9QUbPRnkEJmYVo81PIGpjIdpOcsnJ4rGjStfDHsbn+UVyw==" }, "sort-desc": { - "version": "0.1.1" + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz", + "integrity": "sha512-jfZacW5SKOP97BF5rX5kQfJmRVZP5/adDUTY8fCSPvNcXDVpUEe2pr/iKGlcyZzchRJZrswnp68fgk3qBXgkJw==" }, "sort-keys": { "version": "1.1.2", @@ -37446,6 +37519,8 @@ }, "sort-object": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz", + "integrity": "sha512-aAQiEdqFTTdsvUFxXm3umdo04J7MRljoVGbBlkH7BgNsMvVNAJyGj7C/wV1A8wHWAJj/YikeZbfuCKqhggNWGA==", "requires": { "sort-asc": "^0.1.0", "sort-desc": "^0.1.1" @@ -38876,7 +38951,9 @@ } }, "web-worker": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==" }, "webidl-conversions": { "version": "6.1.0", @@ -39440,7 +39517,9 @@ "dev": true }, "xml-utils": { - "version": "1.1.0" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.3.0.tgz", + "integrity": "sha512-i4PIrX33Wd66dvwo4syicwlwmnr6wuvvn4f2ku9hA67C2Uk62Xubczuhct+Evnd12/DV71qKNeDdJwES8HX1RA==" }, "xmlchars": { "version": "2.2.0", @@ -39455,7 +39534,8 @@ "dev": true }, "yallist": { - "version": "4.0.0" + "version": "4.0.0", + "dev": true }, "yaml": { "version": "1.10.2" diff --git a/package.json b/package.json index 5a9ce954a2..fcf04897a3 100644 --- a/package.json +++ b/package.json @@ -185,8 +185,8 @@ "moment": "^2.29.4", "moment-locales-webpack-plugin": "^1.2.0", "node-dir": "^0.1.17", - "ol": "7.1.0", - "ol-mapbox-style": "9.1.0", + "ol": "7.2.2", + "ol-mapbox-style": "9.4.0", "p-queue": "^7.3.0", "proj4": "2.6.1", "promise-queue": "2.2.5",
  • S_mL>4)sJ2xA{ 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 DY@BJf literal 0 HcmV?d00001 diff --git a/web/images/layers/previews/antarctic/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.jpg b/web/images/layers/previews/antarctic/VIIRS_SNPP_CorrectedReflectance_TrueColor_Granule.jpg new file mode 100644 index 0000000000000000000000000000000000000000..82b2854141c16ebd4fa52fde53f5de33039a68dd GIT binary patch literal 65588 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