-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgetLocalization.js
100 lines (90 loc) · 1.93 KB
/
getLocalization.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
93
94
95
96
97
98
99
100
const fetch = require("node-fetch");
const fs = require("fs");
const citiesNearHauterives = [
{
city: "Romans-sur-Isère",
},
{
city: "Tain-l'Hermitage",
},
{
city: "Valence",
},
{
city: "Bourg-de-Péage",
},
{
city: "Saint-Péray",
},
{
city: "Saint-Marcellin",
},
{ city: "Vienne" },
{
city: "Annonay",
},
{
city: "Châteauneuf-sur-Isère",
},
{
city: "Loriol-sur-Drôme",
},
{
city: "Montélimar",
},
{ city: "Crest" },
{
city: "Livron-sur-Drôme",
},
{ city: "Die" },
{
city: "Donzère",
},
{
city: "Saint-Rambert-d'Albon",
},
{ city: "Nyons" },
{
city: "Saint-Vallier",
},
{
city: "Pierrelatte",
},
{
city: "Le Teil",
},
];
const main = async () => {
const locationsNearHauterives = await (async () => {
const locationsNearHauterives = [];
for (let i = 0; i < citiesNearHauterives.length; i++) {
await fetch(
`https://geo.api.gouv.fr/communes?nom=${citiesNearHauterives[i].city}&fields=code,nom,departement,region,centre&limit=8`
)
.then((response) => response.json())
.then((apiData) => {
console.log("index: ", i);
let foundLocation = apiData.find(
(location) => location.region.nom === "Auvergne-Rhône-Alpes"
);
foundLocation = {
id: i,
cityName: foundLocation.nom,
postalCode: foundLocation.code,
department: foundLocation.departement.nom,
region: foundLocation.region.nom,
coords: foundLocation.centre.coordinates,
};
locationsNearHauterives.push(foundLocation);
});
}
return locationsNearHauterives;
})();
// Write to JSON files
fs.writeFileSync(
"./test/sampleCities.json",
JSON.stringify(locationsNearHauterives, null, 2)
);
console.log("Sample JSON data generated successfully.");
};
main();