Как я могу превратить мои данные в карту температур / интенсивности?

14

У меня есть база данных, которая отслеживает большое количество объектов. У каждого объекта есть «зона покрытия» или «зона охвата» - радиус в милях от указанного почтового индекса Великобритании, например

Leyton office     4.3m    E11 4LL
Stratford office  5.2m    E15 6ZZ
East Ham office   2.1m    E4 8QQ

Я хочу превратить это в географическую карту интенсивности - карту региона, которая затенена или окрашена, чтобы указать количество объектов, которые покрывают каждую точку на карте. Сегментация на небольшие регионы также приемлема.

Это, вероятно, разовый проект, поэтому вряд ли моя организация предоставит деньги на покупку программного обеспечения. Это означает, что предпочтительны нулевые или, по крайней мере, недорогие решения.

Джимми Брек-МакКай
источник
3
Я думаю, вам нужно предоставить больше информации. В каком формате ваша база данных? Насколько вы компетентны с пакетами ГИС / пространственными базами данных? Ваши данные уже находятся в шейп-файле / каком-либо другом формате файла ГИС или вы знаете, как их преобразовать? Трудно ответить без этого контекста, так как это может быть очень большой ответ!
Stev_k
Моя база данных на самом деле является базой данных PostgreSQL, но я могу получать каналы в форме CSV. Это на самом деле не намного больше, чем данные, которые я перечислил в вопросе выше - довольно спартанский. Что касается ГИС, то, вероятно, я впервые столкнулся с этой областью, и я действительно ничего не знаю даже о распространенных инструментах ГИС. Кроме того, у меня нет шейп-файла, нет.
Джимми Брек-Макки

Ответы:

8

Может быть, эти ссылки помогут вам:

Как построить эффективные тепловые карты?

с QGIS: http://alexsciuto.com/blog/2010/11/how-to-make-your-own-heat-map-pt-1-gathering-the-materials/

Сценарий Python: http://www.sethoscope.net/heatmap/

http://sk53-osm.blogspot.com/2011/01/heat-maps-from-osm-pois.html

Извините за необработанный ответ ..

Педро Мендес
источник
Это хорошие ресурсы, и я обязательно их проверю.
Джимми Брек-Макки
alexsciuto.com/blog/2010/11/… : я не нашел вторую часть описанного метода, но это не тепловая карта. Просто очень простая карта хороплета ...
Simo
4

Я предполагаю, что вам нужна карта плотности того, насколько «хорошо покрыта» каждая область, то есть, сколько офисов она находится рядом, включая «радиус» этих офисов?

Вы можете сделать все это в PostgreSQL или, по крайней мере, в PostGIS , который является бесплатным расширением. Я предлагаю вам разобраться с этим и прочитать некоторые документы.

Вам, вероятно, потребуется геокодировать ваши почтовые индексы. Простое решение состоит в том, чтобы загрузить набор данных кодовой точки Ordnance Survey ( https://www.ordnancesurvey.co.uk/opendatadownload/products.html ) (это бесплатно) и предоставить вашим точкам базу данных местоположение почтового индекса с помощью PostGIS. функции - вам нужно использовать ST_GeomFromText () и, возможно, прочитать о хорошо известных текстовых координатах.

Таким образом, у вас должна быть пространственная таблица всех ваших точек.

Затем вы можете буферизовать (создать радиус вокруг каждой точки) их в новую пространственную таблицу, используя функцию ST_Buffer.

Затем вам потребуется создать неперекрывающееся наложение полигонов в PostGIS - см. Разделение полигонов на основе пересечения с использованием PostGIS . Это должно сегментировать набор данных на маленькие регионы, как вы сказали выше.

Затем вам нужно узнать, сколько буферов пересекает каждый ваш новый сегментированный регион. Это будет довольно сложный запрос SQL, но это должно быть возможно.

Это довольно сложная процедура, которую вы можете увидеть даже для кого-то, имеющего опыт работы с ГИС, и здесь есть много подводных камней, таких как прогнозы и т. Д., Поэтому я хотел бы рассмотреть вашу потребность в этом, прежде чем начать, однако вполне могут быть более эффективные решения, которые кто-то может предлагает.

Вероятно, гораздо проще было бы взять сетку точек с регулярным разнесением и определить среднее расстояние, скажем, пять ближайших офисов, и цветовое кодирование каждого квадрата сетки по среднему расстоянию. Однако это не будет принимать во внимание «радиус» офисов - не уверен, что это представляет - влияние?

Stev_k
источник
2

Вы можете сделать это просто онлайн с помощью Mapsdata.co.uk

Приложение считывает данные из .xls или .csv и предварительно запрограммировано для преобразования геоданных, таких как почтовые индексы Великобритании. Вы можете сделать несколько визуальных эффектов: одна может быть пузырьковой картой, использующей площадь водосбора в качестве значения, штифты с непрозрачностью для отображения плотности или тепловая карта. Во всех вариантах вы можете изменить непрозрачность, цвет и т. Д., А затем экспортировать либо в формате PNG, либо в виде HTML-фрейма для использования на других веб-страницах.

Вам нужно привязать размер пузырьков? Это также может быть достигнуто с помощью некоторых настроек.

user15786
источник