Como transformar meus dados em um mapa de calor / intensidade?

14

Eu tenho um banco de dados que rastreia um grande número de entidades. Cada entidade possui uma 'área de cobertura' ou 'área de influência' - um raio em milhas a partir de um código postal especificado no Reino Unido, por exemplo

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

Quero transformar isso em um mapa de intensidade geográfica - um mapa de uma região sombreada ou colorida para indicar o número de entidades que cobrem cada ponto do mapa. A segmentação em pequenas regiões também é aceitável.

Provavelmente, esse é um projeto pontual, por isso é improvável que minha organização ofereça dinheiro para comprar software. Isso significa que zero ou pelo menos soluções de baixo custo são preferíveis.

Jimmy Breck-McKye
fonte
3
Eu acho que você precisa fornecer mais algumas informações. Qual é o formato do seu banco de dados? Qual é a sua competência com pacotes GIS / bancos de dados espaciais? Seus dados já estão em um shapefile / em algum outro formato de arquivo GIS ou você sabe como convertê-lo? É difícil responder sem esse contexto, pois pode ser uma resposta muito grande!
Stev_k
Meu banco de dados é na verdade um banco de dados do PostgreSQL, mas posso extrair feeds no formato CSV. Realmente não é muito mais do que os dados que listei na pergunta acima - bastante espartanos. Quanto ao GIS, esta é provavelmente a primeira vez que encontrei o campo e realmente não sei nada sobre ferramentas GIS comuns. Além disso, eu não tenho um shapefile, não.
Jimmy Breck-McKye

Respostas:

8

Talvez esses links o ajudem a:

Como criar mapas de calor eficazes?

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

Script Python: http://www.sethoscope.net/heatmap/

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

Desculpe por uma resposta não elaborada ..

Pedro Mendes
fonte
Esses são alguns bons recursos e eu irei verificar.
Jimmy Breck-McKye 04/11
alexsciuto.com/blog/2010/11/… : não encontrei a parte 2 do método descrito, mas ele não parece ser um mapa de calor. Apenas um mapa choropleth muito básico ...
simo
4

Suponho que você queira um mapa de densidade de quão "bem coberta" cada área é, ou seja, quantos escritórios estão próximos, incorporando o "raio" desses escritórios?

Você pode realmente fazer tudo isso no PostgreSQL, ou pelo menos no PostGIS , que é uma extensão gratuita. Sugiro que você se apegue a isso e leia alguns dos documentos.

Você provavelmente precisará geocodificar seus códigos postais. Uma solução simples é fazer o download do conjunto de dados Ordnance Survey Code Point ( https://www.ordnancesurvey.co.uk/opendatadownload/products.html ) (gratuito) e fornecer aos seus pontos o banco de dados um local de código postal, usando o PostGIS funções - você precisará usar ST_GeomFromText () e provavelmente ler sobre as coordenadas de texto conhecido.

Então você deve ter uma tabela espacial de todos os seus pontos.

Você pode então armazená-los em buffer (criar um raio em torno de cada ponto) em uma nova tabela espacial usando a função ST_Buffer.

Você precisaria criar uma sobreposição de polígono não sobreposta no PostGIS - consulte Polígonos separados com base na interseção usando o PostGIS . Isso deve segmentar o conjunto de dados em pequenas regiões, como você disse acima.

Em seguida, você precisa consultar quantos buffers interceptam cada uma das suas novas regiões segmentadas. Essa será uma consulta SQL bastante complicada, mas deve ser possível.

Este é um procedimento bastante complicado, como você pode ver, mesmo para alguém com experiência em SIG, e existem muitas armadilhas, como projeções, etc. oferta.

Uma maneira muito mais fácil seria, provavelmente, pegar uma grade de pontos regularmente espaçada e calcular a distância média para dizer, os cinco escritórios mais próximos, e codificar por cor cada quadrado da grade pela distância média. No entanto, isso não levaria em conta o "raio" dos escritórios - não sabe o que isso representa - influência?

Stev_k
fonte
2

Você pode fazer isso simplesmente online usando o Mapsdata.co.uk

O aplicativo lê dados de .xls ou .csv e é pré-programado para converter dados geográficos, como os códigos postais do Reino Unido. Você pode fazer vários visuais: um pode ser um mapa de bolhas usando a área de captação como valor, pinos com opacidade para mostrar a densidade ou um mapa de calor. Em todas as opções, você pode alterar a opacidade, a cor etc. e exportar como PNG ou iframe html para uso em outras páginas da web.

Você precisa georreferenciar o tamanho das bolhas? Isso também pode ser alcançado com alguns ajustes.

user15786
fonte