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.
free-software
heat-map
Jimmy Breck-McKye
fonte
fonte
Respostas:
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 ..
fonte
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?
fonte
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.
fonte