|
|
@@ -56,20 +56,7 @@ app.get('/refresh', async (req, res, next) => {
|
|
|
app.get('/:aoi?/datasets/', async (req, res, next) => {
|
|
|
console.log('received datasets/ GET request')
|
|
|
const aoi = req.params.aoi || 'eu'
|
|
|
- let datasets = aoi == 'cz' ? _datasetsCZ : _datasetsEu
|
|
|
- if (!datasets) {
|
|
|
- try {
|
|
|
- if (aoi == 'cz') {
|
|
|
- _datasetsCZ = await nutsData.loadDatasets(_datasetsCzFilePath)
|
|
|
- datasets = _datasetsCZ
|
|
|
- } else {
|
|
|
- _datasetsEu = await nutsData.loadDatasets(_datasetsEuFilePath)
|
|
|
- datasets = _datasetsEu
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- res.send(e.toString() || e)
|
|
|
- }
|
|
|
- }
|
|
|
+ const datasets = loadDatasetsIfNeeded(req, res, aoi)
|
|
|
helpers.formatResponse(datasets, req, res)
|
|
|
});
|
|
|
|
|
|
@@ -96,34 +83,8 @@ app.get('/:aoi?/scores/:nuts', async (req, res, next) => {
|
|
|
app.get('/:aoi?/scores', async (req, res, next) => {
|
|
|
console.log('received scores/cz GET request')
|
|
|
const aoi = req.params.aoi || 'eu'
|
|
|
- let datasets = aoi == 'cz' ? _datasetsCZ : _datasetsEu
|
|
|
- let ruralData = aoi == 'cz' ? _ruralDataCZ : _ruralDataEu
|
|
|
- if (!datasets) { // datasets must be loaded prior to data loading
|
|
|
- try {
|
|
|
- if (aoi == 'cz') {
|
|
|
- _datasetsCZ = await nutsData.loadDatasets(_datasetsCzFilePath)
|
|
|
- datasets = _datasetsCZ
|
|
|
- } else {
|
|
|
- _datasetsEu = await nutsData.loadDatasets(_datasetsEuFilePath)
|
|
|
- datasets = _datasetsEu
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- res.send(e.toString() || e)
|
|
|
- }
|
|
|
- }
|
|
|
- if (!ruralData) {
|
|
|
- try {
|
|
|
- if (aoi == 'cz') {
|
|
|
- _ruralDataCZ = await nutsData.loadRuralData(_dataCzFilePath, datasets)
|
|
|
- ruralData = _ruralDataCZ
|
|
|
- } else {
|
|
|
- _ruralDataEu = await nutsData.loadRuralData(_dataEuFilePath, datasets)
|
|
|
- ruralData = _ruralDataEu
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- res.send(e.toString() || e)
|
|
|
- }
|
|
|
- }
|
|
|
+ loadDatasetsIfNeeded(req, res, aoi)
|
|
|
+ const ruralData = loadRuralDataIfNeeded(req, res, aoi)
|
|
|
helpers.formatResponse(ruralData, req, res)
|
|
|
});
|
|
|
|
|
|
@@ -133,34 +94,8 @@ app.post('/:aoi?/scores', async (req, res, next) => {
|
|
|
console.log('received scores/ POST request')
|
|
|
//console.log("query: " + JSON.stringify(req.body.factors, null, 4));
|
|
|
const aoi = req.params.aoi || 'eu'
|
|
|
- let datasets = aoi == 'cz' ? _datasetsCZ : _datasetsEu
|
|
|
- let ruralData = aoi == 'cz' ? _ruralDataCZ : _ruralDataEu
|
|
|
- if (!datasets) { // datasets must be loaded prior to data loading
|
|
|
- try {
|
|
|
- if (aoi == 'cz') {
|
|
|
- _datasetsCZ = await nutsData.loadDatasets(_datasetsCzFilePath)
|
|
|
- datasets = _datasetsCZ
|
|
|
- } else {
|
|
|
- _datasetsEu = await nutsData.loadDatasets(_datasetsEuFilePath)
|
|
|
- datasets = _datasetsEu
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- res.send(e.toString() || e)
|
|
|
- }
|
|
|
- }
|
|
|
- if (!ruralData) {
|
|
|
- try {
|
|
|
- if (aoi == 'cz') {
|
|
|
- _ruralDataCZ = await nutsData.loadRuralData(_dataCzFilePath, datasets)
|
|
|
- ruralData = _ruralDataCZ
|
|
|
- } else {
|
|
|
- _ruralDataEu = await nutsData.loadRuralData(_dataEuFilePath, datasets)
|
|
|
- ruralData = _ruralDataEu
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- res.send(e.toString() || e)
|
|
|
- }
|
|
|
- }
|
|
|
+ loadDatasetsIfNeeded(req, res, aoi)
|
|
|
+ loadRuralDataIfNeeded(req, res, aoi)
|
|
|
returnAllScores(req, res, aoi)
|
|
|
});
|
|
|
|
|
|
@@ -202,24 +137,10 @@ app.get('/:aoi?/clusters/', (req, res, next) => {
|
|
|
*/
|
|
|
app.post('/:aoi?/clusters/', async (req, res, next) => {
|
|
|
const aoi = req.params.aoi || 'eu'
|
|
|
- let datasets = aoi == 'cz' ? _datasetsCZ : _datasetsEu
|
|
|
+ const datasets = loadDatasetsIfNeeded(req, res, aoi)
|
|
|
const dataFilePath = aoi == 'cz' ? _clusteringCzInputFilePath : _dataEuFilePath
|
|
|
const clusteringModifiedFilePath = aoi == 'cz' ? _clusteringCzModifiedFilePath : _clusteringEuModifiedFilePath
|
|
|
const idString = aoi == 'cz' ? 'LAU2' : 'NUTS_ID'
|
|
|
- if (!datasets) { // datasets must be loaded prior to data loading
|
|
|
- try {
|
|
|
- const datasetsFilePath = aoi == 'cz' ? _datasetsCzFilePath : _datasetsEuFilePath
|
|
|
- if (aoi == 'cz') {
|
|
|
- _datasetsCZ = await nuts.loadDatasets(_datasetsCzFilePath)
|
|
|
- datasets = _datasetsCZ
|
|
|
- } else {
|
|
|
- _datasetsEu = await nutsData.loadDatasets(_datasetsEuFilePath)
|
|
|
- datasets = _datasetsEu
|
|
|
- }
|
|
|
- } catch (e) {
|
|
|
- res.send(e.toString() || e)
|
|
|
- }
|
|
|
- }
|
|
|
try {
|
|
|
//console.log(req.body);
|
|
|
const clusteringData = await nutsData.loadClusteringInput(
|
|
|
@@ -352,4 +273,41 @@ function handleRCall(req, res, aoi = 'eu') {
|
|
|
}
|
|
|
}
|
|
|
);
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+function loadDatasetsIfNeeded(req, res, aoi) {
|
|
|
+ let datasets = aoi == 'cz' ? _datasetsCZ : _datasetsEu
|
|
|
+ if (!datasets) {
|
|
|
+ try {
|
|
|
+ if (aoi == 'cz') {
|
|
|
+ _datasetsCZ = await nutsData.loadDatasets(_datasetsCzFilePath)
|
|
|
+ datasets = _datasetsCZ
|
|
|
+ } else {
|
|
|
+ _datasetsEu = await nutsData.loadDatasets(_datasetsEuFilePath)
|
|
|
+ datasets = _datasetsEu
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ res.send(e.toString() || e)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return datasets
|
|
|
+}
|
|
|
+
|
|
|
+function loadRuralDataIfNeeded(req, res, aoi) {
|
|
|
+ let ruralData = aoi == 'cz' ? _ruralDataCZ : _ruralDataEu
|
|
|
+ const datasets = aoi == 'cz' ? _datasetsCZ : _datasetsEu
|
|
|
+ if (!ruralData) {
|
|
|
+ try {
|
|
|
+ if (aoi == 'cz') {
|
|
|
+ _ruralDataCZ = await nutsData.loadRuralData(_dataCzFilePath, datasets)
|
|
|
+ ruralData = _ruralDataCZ
|
|
|
+ } else {
|
|
|
+ _ruralDataEu = await nutsData.loadRuralData(_dataEuFilePath, datasets)
|
|
|
+ ruralData = _ruralDataEu
|
|
|
+ }
|
|
|
+ } catch (e) {
|
|
|
+ res.send(e.toString() || e)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return ruralData
|
|
|
+}
|