diff --git a/public/js/appCesium.js b/public/js/appCesium.js index fd93302a9fe3c27568cae3e549add79f1c004098..eff550b82624b7d274d6b55cce5271c7e8892e14 100644 --- a/public/js/appCesium.js +++ b/public/js/appCesium.js @@ -1,7 +1,8 @@ "use strict"; -// Functions import { + BASE_URL, + QUERY_PARAMS_COMBINED, getDatastreamIdFromBuildingNumber, getDatastreamUrl, getObservationsUrl, @@ -16,9 +17,6 @@ import { getMetadataPlusObservationsForChart, } from "./appChart.js"; -// Constants -import { BASE_URL, QUERY_PARAMS_COMBINED } from "./appChart.js"; - Cesium.Ion.defaultAccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyODgxYzJlNi1kNDZiLTQ3ZmQtYmUxYy0yMWI0OGM3NDA5MzAiLCJpZCI6NDczOSwic2NvcGVzIjpbImFzciIsImdjIl0sImlhdCI6MTU0MTUyMzU0MX0.shj2hM3pvsvcmE_wMb2aBDuk_cKWmFmbolltInGImwU"; diff --git a/public/js/appChart.js b/public/js/appChart.js index a047b7420556b5e157f6f2328249d2063a68ff42..e988ceb45d36562bb2f44a0a5507771c583a3ca5 100644 --- a/public/js/appChart.js +++ b/public/js/appChart.js @@ -1,10 +1,6 @@ "use strict"; -// DEBUG: -// Observations WITHOUT data gap - Bau 225 / Datastream ID = 80 -// Observations WITH data gap - Bau 112 / Datastream ID = 78 - -export const BASE_URL = "http://193.196.39.91:8080/frost-icity-tp31/v1.1"; +const BASE_URL = "http://193.196.39.91:8080/frost-icity-tp31/v1.1"; /** * Retrieve the datastream ID that corresponds to a particular building @@ -13,7 +9,7 @@ export const BASE_URL = "http://193.196.39.91:8080/frost-icity-tp31/v1.1"; * @param {String} samplingRate String representing the sampling rate of the observations * @returns {Number} Datastream corresponding to the input building */ -export const getDatastreamIdFromBuildingNumber = function ( +const getDatastreamIdFromBuildingNumber = function ( buildingNumber, phenomenon, samplingRate @@ -104,7 +100,7 @@ export const getDatastreamIdFromBuildingNumber = function ( * @param {Number} datastreamID Integer representing the Datastream ID * @returns {String} URL string for fetching a single Datastream */ -export const getDatastreamUrl = function (baseUrl, datastreamID) { +const getDatastreamUrl = function (baseUrl, datastreamID) { if (!datastreamID) return; const fullDatastreamURL = `${baseUrl}/Datastreams(${datastreamID})`; return fullDatastreamURL; @@ -116,7 +112,7 @@ export const getDatastreamUrl = function (baseUrl, datastreamID) { * @param {Number} datastreamID Integer representing the Datastream ID * @returns {String} URL string for fetching Observations */ -export const getObservationsUrl = function (baseUrl, datastreamID) { +const getObservationsUrl = function (baseUrl, datastreamID) { if (!datastreamID) return; const fullObservationsURL = `${baseUrl}/Datastreams(${datastreamID})/Observations`; return fullObservationsURL; @@ -142,7 +138,7 @@ const QUERY_PARAM_FILTER = createTemporalFilterString( "2021-01-01" ); const QUERY_PARAM_SELECT = "result,phenomenonTime"; -export const QUERY_PARAMS_COMBINED = { +const QUERY_PARAMS_COMBINED = { "$resultFormat": QUERY_PARAM_RESULT_FORMAT, "$orderBy": QUERY_PARAM_ORDER_BY, "$filter": QUERY_PARAM_FILTER, @@ -155,7 +151,7 @@ export const QUERY_PARAMS_COMBINED = { * @param {Object} urlParamObj The URL parameters to be sent together with the GET request * @returns {Promise} A promise that contains the first page of results when fulfilled */ -export const axiosGetRequest = function (urlObservations, urlParamObj) { +const axiosGetRequest = function (urlObservations, urlParamObj) { return axios.get(urlObservations, { params: urlParamObj, }); @@ -167,7 +163,7 @@ export const axiosGetRequest = function (urlObservations, urlParamObj) { * @param {String} urlDatastream A URL that fetches a Datastream from an STA instance * @returns {Promise} A promise that contains a metadata object for a Datastream when fulfilled */ -export const getDatastreamMetadata = async function (urlDatastream) { +const getDatastreamMetadata = async function (urlDatastream) { try { // Extract properties of interest const { @@ -185,7 +181,7 @@ export const getDatastreamMetadata = async function (urlDatastream) { * @param {Object} datastreamMetadata An object containing a Datastream's metadata * @returns {Object} An object containing the formatted metadata that is suitable for use in a line chart or heatmap */ -export const formatDatastreamMetadataForChart = function (datastreamMetadata) { +const formatDatastreamMetadataForChart = function (datastreamMetadata) { const { description: datastreamDescription, name: datastreamName, @@ -221,7 +217,7 @@ export const formatDatastreamMetadataForChart = function (datastreamMetadata) { * @param {Array} obsArray Response from SensorThings API as array * @returns {Array} Array of formatted observations suitable for use in a heatmap */ -export const formatSTAResponseForHeatMap = function (obsArray) { +const formatSTAResponseForHeatMap = function (obsArray) { if (!obsArray) return; const dataSTAFormatted = obsArray.map((obs) => { @@ -250,7 +246,7 @@ export const formatSTAResponseForHeatMap = function (obsArray) { * @param {Object} formattedDatastreamMetadata Object containing Datastream metadata * @returns {undefined} undefined */ -export const drawHeatMapHC = function ( +const drawHeatMapHC = function ( formattedObsArrayForHeatmap, formattedDatastreamMetadata ) { @@ -377,7 +373,7 @@ export const drawHeatMapHC = function ( * @param {Array} obsArray Response from SensorThings API as array * @returns {Array} Array of formatted observations suitable for use in a line chart */ -export const formatSTAResponseForLineChart = function (obsArray) { +const formatSTAResponseForLineChart = function (obsArray) { if (!obsArray) return; const dataSTAFormatted = obsArray.map((result) => { @@ -395,7 +391,7 @@ export const formatSTAResponseForLineChart = function (obsArray) { * @param {Object} formattedDatastreamMetadata Object containing Datastream metadata * @returns {undefined} undefined */ -export const drawLineChartHC = function ( +const drawLineChartHC = function ( formattedObsArrayForLineChart, formattedDatastreamMetadata ) { @@ -473,7 +469,7 @@ const followNextLink = function (responsePromise) { * @param {Promise} httpGetRequestPromise Promise object resulting from an Axios GET request * @returns {Promise} A promise that contains an array of Observations from a single Datastream when fulfilled */ -export const getCombinedObservationsFromAllNextLinks = function ( +const getCombinedObservationsFromAllNextLinks = function ( httpGetRequestPromise ) { return followNextLink(httpGetRequestPromise) @@ -502,7 +498,7 @@ export const getCombinedObservationsFromAllNextLinks = function ( * @param {Promise} metadataPlusObsPromiseArray An array that contains two promises, one for datastream metadata, the other for observations * @returns {Promise} A promise that contains two arrays when fulfilled, one for datastream metadata and the other for observations */ -export const getMetadataPlusObservationsForChart = async function ( +const getMetadataPlusObservationsForChart = async function ( metadataPlusObsPromiseArray ) { // Array to store our final result @@ -576,3 +572,21 @@ const observationsPromisesRLArr = datastreamsUrlRLArr.map((obsUrl) => // getObservationsFromMultipleDatastreams(observationsPromisesRLArr).then((x) => // console.log(x) // ); + +export { + BASE_URL, + QUERY_PARAMS_COMBINED, + getDatastreamIdFromBuildingNumber, + getDatastreamUrl, + getObservationsUrl, + createTemporalFilterString, + axiosGetRequest, + getDatastreamMetadata, + formatDatastreamMetadataForChart, + formatSTAResponseForHeatMap, + drawHeatMapHC, + formatSTAResponseForLineChart, + drawLineChartHC, + getCombinedObservationsFromAllNextLinks, + getMetadataPlusObservationsForChart, +};