This repository has been archived by the owner on Jun 14, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpeps.js
92 lines (82 loc) · 3.4 KB
/
peps.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
'use strict';
const request = require('request');
const moment = require('moment');
const getParams = function (event) {
let params = {};
if (event.httpMethod === 'POST') {
params = JSON.parse(event.body);
} else if (event.queryStringParameters) {
params = event.queryStringParameters;
}
return params;
};
module.exports.S1search = function(event, context, callback) {
const params = getParams(event);
const results = [];
request({
url: 'https://peps.cnes.fr/resto/api/collections/S1/search.json',
qs:params
}, function(err, response, data){
let outResponse;
if (!err && response.statusCode == 200) {
if (data.hasOwnProperty('ErrorMessage')) {
outResponse = {
statusCode: 400,
headers: {
'Access-Control-Allow-Origin' : '*'
},
body: JSON.stringify({
errorMessage: 'PEPS api request failed',
results: [],
}),
};
} else {
data = JSON.parse(data);
for (let i = 0; i < data.features.length; i += 1) {
const scene = {};
scene.sceneID = data.features[i].properties.title;
scene.sat = 'sentinel-1';
scene.date = moment(data.features[i].properties.startDate).utc().format('YYYY-MM-DD');
scene.fullDate = data.features[i].properties.startDate;
scene.mode = data.features[i].properties.sensorMode;
scene.geometry = data.features[i].geometry;
scene.orbType = data.features[i].properties.orbitDirection;
scene.polarisation = data.features[i].properties.polarisation;
scene.product = data.features[i].properties.productType;
if (scene.product !== 'SLC') continue;
scene.pepsURL = 'https://peps.cnes.fr/rocket/#/collections/S1/' + data.features[i].id;
scene.pepsdownURL = data.features[i].properties.services.download.url;
//scene.pepsWMSURL = data.features[i].properties.services.layer.url;
scene.browseURL = data.features[i].properties.quicklook;
scene.refOrbit = data.features[i].properties.orbitNumber;
scene.orbit = data.features[i].properties.orbitNumber;
results.push(scene);
}
outResponse = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin' : '*'
},
body: JSON.stringify({
message: 'PEPS API request succeed',
scenesFound: results.length,
results: results,
}),
};
}
} else {
console.log(err);
outResponse = {
statusCode: 500,
headers: {
'Access-Control-Allow-Origin' : '*'
},
body: JSON.stringify({
errorMessage: 'PEPS API request failed',
results: [],
}),
};
}
return callback(null, outResponse);
});
};