Я предполагаю, что вам нужна карта плотности того, насколько «хорошо покрыта» каждая область, то есть, сколько офисов она находится рядом, включая «радиус» этих офисов?
Вы можете сделать все это в PostgreSQL или, по крайней мере, в PostGIS , который является бесплатным расширением. Я предлагаю вам разобраться с этим и прочитать некоторые документы.
Вам, вероятно, потребуется геокодировать ваши почтовые индексы. Простое решение состоит в том, чтобы загрузить набор данных кодовой точки Ordnance Survey ( https://www.ordnancesurvey.co.uk/opendatadownload/products.html ) (это бесплатно) и предоставить вашим точкам базу данных местоположение почтового индекса с помощью PostGIS. функции - вам нужно использовать ST_GeomFromText () и, возможно, прочитать о хорошо известных текстовых координатах.
Таким образом, у вас должна быть пространственная таблица всех ваших точек.
Затем вы можете буферизовать (создать радиус вокруг каждой точки) их в новую пространственную таблицу, используя функцию ST_Buffer.
Затем вам потребуется создать неперекрывающееся наложение полигонов в PostGIS - см. Разделение полигонов на основе пересечения с использованием PostGIS . Это должно сегментировать набор данных на маленькие регионы, как вы сказали выше.
Затем вам нужно узнать, сколько буферов пересекает каждый ваш новый сегментированный регион. Это будет довольно сложный запрос SQL, но это должно быть возможно.
Это довольно сложная процедура, которую вы можете увидеть даже для кого-то, имеющего опыт работы с ГИС, и здесь есть много подводных камней, таких как прогнозы и т. Д., Поэтому я хотел бы рассмотреть вашу потребность в этом, прежде чем начать, однако вполне могут быть более эффективные решения, которые кто-то может предлагает.
Вероятно, гораздо проще было бы взять сетку точек с регулярным разнесением и определить среднее расстояние, скажем, пять ближайших офисов, и цветовое кодирование каждого квадрата сетки по среднему расстоянию. Однако это не будет принимать во внимание «радиус» офисов - не уверен, что это представляет - влияние?