Data visualization: filtrare i dati

In fase di creazione delle istanze possono essere fatti alcuni controlli sui dati ottenuti per decidere se aggiungere o meno l’elemento considerato.

    class Stato {
    constructor(info) {
        this.info = info;                  
        let coord = info.latlng;         
        let x = map(coord[1], -180, 180, 0, width);  
        let y = map(coord[0], 90, -90, 0, height);   
        this.pos = createVector(x, y);   
    }
    display() {
        circle(this.pos.x, this.pos.y, 2); 
    }
}
let json;        
let stati = [];  

function preload() {
    let servizio = "https://restcountries.com/v3.1/all";
    let parametri = "?fields=name,latlng,population";  
    json = loadJSON(servizio + parametri);  
}
function setup() {
    createCanvas(600, 300);
    for (let indice in json) {
        let popolazione = json[indice].population;  // Ricava popolazione
        if (popolazione > 15000000) {  // Se oltre 15'000'000...  
            stati.push( new Stato(json[indice]) );  // Aggiungi istanza
        }
    }
}
function draw() {
    background(255);
    for (let stato of stati) {
        stato.display(); 
    }
}
  

Provare a modificare la soglia della popolazione usando valori diversi da 15000000.

Il filtraggio dei dati si può fare anche definendo in modo più specifico l’URL di interrogazione. Nello stesso codice di questa pagina [vedi parametri in preload()] sono già stati richiesti solo i campi con le informazioni sul nome, la posizione e la popolazione degli stati.