Làm thế nào một raster có thể được tính toán hiệu quả (bằng Python), được cung cấp một tập hợp bao gồm hàng tỷ hộp giới hạn (đọc tuần tự từ một tệp) và cho rằng các giá trị raster cho mỗi ô sẽ cho số lượng các hộp giới hạn chồng lấp?
Đối với raster 4000 * 4000
Tôi đã hẹn giờ tạo ma trận numpy:
$ python -m timeit 'import numpy' 'a = numpy.zeros(shape=(4000,4000))'
10 loops, best of 3: 51.7 msec per loop
Tạo ma trận python chuẩn:
$ python -m timeit 'a = 4000*[0]' 'for i in range(4000):' ' a[i]=4000*[0]'
10 loops, best of 3: 218 msec per loop
Vì vậy, numpy nhanh hơn, nhưng vẫn còn 50 msec mỗi vòng lặp, với một tỷ lần lặp, mang lại thời gian chạy bằng khoảng một năm (0,05msec * 1000000000/60/60/24/365 = 1,5 năm)
Vì vậy, nó không phải là một tùy chọn để lấy mẫu từng đa giác. Một cách tiếp cận điển hình cho vấn đề này là gì?