Я припускаю, що ви хочете карту щільності того, наскільки "добре покрита" кожна зона, тобто скільки офісів вона знаходиться поруч, включаючи "радіус" цих офісів?
Ви можете зробити це все в PostgreSQL або принаймні в PostGIS , що є безкоштовним розширенням. Я пропоную вам скористатися цим і прочитати деякі документи.
Ймовірно, тоді вам доведеться геокодувати свої поштові індекси. Просте рішення - завантажити набір даних Ordnance Survey Code Point ( https://www.ordnancesurvey.co.uk/opendatadownload/products.html ) (який є безкоштовним) та надати своїм пунктам базу даних поштовий індекс за допомогою PostGIS функції - вам потрібно буде використовувати ST_GeomFromText () і, ймовірно, прочитати про добре відомі текстові координати.
Отже, у вас повинна бути просторова таблиця всіх ваших точок.
Потім можна буферувати (створити радіус навколо кожної точки) їх у нову просторову таблицю за допомогою функції ST_Buffer.
Потім вам потрібно буде створити перекриття полігону, що не перекривається, в PostGIS - див. Окремі полігони на основі перетину за допомогою PostGIS . Це повинно сегментувати набір даних на невеликі регіони, як ви сказали вище.
Потім потрібно запитати, скільки буферів перетинає кожен ваш новий сегментований регіон. Це буде досить складний запит SQL, але це має бути можливим.
Це досить складна процедура, як ви можете побачити навіть того, хто має досвід ГІС, і є багато підводних каменів, таких як прогнози тощо, тому я би врахував вашу потребу в цьому перед початком, проте, можливо, є кращі рішення, які може хтось інший пропозиція.
Набагато простіше було б взяти регулярно розташовану сітку точок і опрацювати середню відстань, щоб сказати, п’ять найближчих офісів, і кольоровий код кожної сітки квадратом середньої відстані. Однак це не враховувало б "радіус" офісів - не впевнені, що це означає - вплив?