Bagaimana raster dapat dihitung secara efisien (dengan Python), diberikan satu set yang terdiri dari milyaran kotak pembatas (dibaca berurutan dari sebuah file), dan mengingat bahwa nilai-nilai raster untuk setiap sel harus memberikan jumlah kotak pembatas yang tumpang tindih?
Untuk raster 4000 * 4000
Saya sudah menghitung waktu pembuatan numpy matrix:
$ python -m timeit 'import numpy' 'a = numpy.zeros(shape=(4000,4000))'
10 loops, best of 3: 51.7 msec per loop
Pembuatan matriks python standar:
$ python -m timeit 'a = 4000*[0]' 'for i in range(4000):' ' a[i]=4000*[0]'
10 loops, best of 3: 218 msec per loop
Jadi numpy lebih cepat, tetapi masih 50 msec per loop, dengan satu miliar iterasi, menghasilkan waktu berjalan yang sama dengan sekitar satu tahun (0,05 msec * 1000000000/60/60/24/365 = 1,5 tahun)
Jadi ini bukan pilihan untuk mengambil sampel setiap poligon. Apa pendekatan khas untuk masalah ini?