Tagliare il mondo in poligoni di uguale dimensione della popolazione


9

Vorrei tagliare il mondo in poligoni della stessa popolazione, diciamo 100 milioni di persone (a partire ad esempio da dati raster sulla densità di popolazione forniti dalla NASA). So che questo taglio sarebbe arbitrario nel senso che ci sono molte soluzioni diverse. Ma questo non importa, ho bisogno che sia arbitrario! Per favore, qualcuno potrebbe indicarmi il modo migliore di procedere?


Sembra un tipo particolare di cartogramma (o forse cartogramma inverso?). Questa domanda ha un esempio grafico molto simile a quello che penso tu stia descrivendo, in cui la mappa è composta da "pixel" di unità standard e le forme con valori più alti ne hanno più. Sebbene non ci sia una risposta specifica su come farlo, potresti iniziare da lì alla ricerca di possibili soluzioni.
Chris W,

In realtà grattalo. Ho l'impressione che tu voglia prendere i poligoni delle masse terrestri del mondo e tagliarli in forme che variano di dimensioni ma rappresentano tutti 100 milioni di persone. I cartogrammi distorcono le forme in base al valore, quindi è un po 'l'opposto di quello che vuoi fare. Se si dispone di un raster di densità con celle di dimensioni note, è possibile convertirlo in popolazione per cella, quindi forse trovare uno strumento o un'analisi che crei poligoni dalle celle per un totale di una certa soglia. Sembra che ci sia qualcosa in Analista spaziale che lo farebbe, ma al momento mi sta sfuggendo.
Chris W,

@Julien Forse potresti usare un approccio di segmentazione (regione in crescita - vedi en.wikipedia.org/wiki/Image_segmentation ) con punti seme ai massimi locali nella superficie della densità di popolazione. Il problema potrebbe essere che potresti finire con poligoni di forma strana. Potrebbe essere necessario applicare una sorta di regola di "rotondità". In ogni caso, questa è una domanda molto interessante e non vedo l'ora di vedere alcune delle risposte.
WhiteboxDev

Risposte:


1

Potresti creare una griglia di piccoli quadrati che coprono il mondo. Quindi uno script può essere ripetuto su ogni quadrato adiacente e while (sum (squares.population) <1000000) {merge (squares)}. Per l'ultimo quadrato che ti farebbe saltare oltre 1 milione, potresti fare lo stesso con quadrati molto più piccoli. Dovresti vagare per i quadrati come un serpente, non in linea, quindi la forma poligonale finale non è sempre la stessa. È possibile utilizzare un database spaziale come PostGIS per eseguire il SUM e l'unione (ST_UNION).

La tua domanda è piuttosto interessante, tienici aggiornati sui tuoi risultati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.