generate_particles = function (particles, n) {
let lonlatitude,
xinit,
yinit,
x0,
y0,
x1,
y1,
loninit,
latinit,
lon0,
lat0,
lat1,
lon1,
visible,
age;
for (let i = 0; i < n; i++) {
loninit = longitude[Math.floor(Math.random() * longitude.length)];
lonlatitude = Object.keys(data[loninit]).map((i) => Number(i));
latinit = lonlatitude[Math.floor(Math.random() * lonlatitude.length)];
age = rand(10, settings.maxParticleAge);
particles.push({
xinit: Math.round(projection([loninit, latinit])[0]),
yinit: Math.round(projection([loninit, latinit])[1]),
loninit: loninit,
latinit: latinit,
x0: Math.round(projection([loninit, latinit])[0]),
y0: Math.round(projection([loninit, latinit])[1]),
lon0: loninit,
lat0: latinit,
x1: Math.round(projection([loninit, latinit])[0]),
y1: Math.round(projection([loninit, latinit])[1]),
lon1: loninit,
lat1: latinit,
visible: 1,
age: age
});
}
return particles;
}