Obrigado, e obrigado Cleidir.
OBS - Ao final, o Cleidir separou uns links bacanas, vale a pena conferir.
O documento pode ser baixado aqui.
O documento pode ser baixado aqui.
sudo apt-get install grass grass-guiEste comando irá instalar a versão estável do GRASS, a versão 6.4.3. Para a maioria das aplicações a versão atual é suficiente, porém a versão 7 apresenta algumas funcionalidades novas. Quem sabe em breve saia uma publicação aqui mostrando algumas delas. Para a versão 7, ainda em versão beta, é necessário adicionar o canal de repositório do GRASS como descrito no próprio site e em seguida atualizar a lista de repositório do sistema.
sudo add-apt-repository ppa:grass/grass-stablesudo apt-get updateComo mencionado anteriormente, caso esteja atrás de uma conexão com proxy será necessário usar os seguintes comandos (fonte é a mesma citada acima):
export http_proxy=http://proxy.furg.br:3128export https_proxy=http://proxy.furg.br:3128E para instalação, diferente do mencionado no site do GRASS, em vez de instalar os pacotes 'grass70' e 'grass70-gui', instale os pacotes 'grass70-core' e 'grass70-gui':
sudo -E add-apt-repository ppa:grass/grass-stablesudo apt-get update
sudo apt-get install grass70-core grass70-guiPara iniciar o programa pode procurar o grass7 no dash ou excecutar:
grass70
sudo add-apt-repository 'deb http://qgis.org/debian trusty main'Em seguida vamos adicionar a chave de autenticação para este repositório:
gpg --keyserver keyserver.ubuntu.com --recv DD45F6C3Para aqueles que estiverem atrás de uma conexão com proxy, como acontece na FURG, então é necessário modificar o comando para que o ubuntu a importação da chave utilizando o proxy. Aprendei aqui.
gpg --export --armor DD45F6C3 | sudo apt-key add -
sudo apt-key adv --keyserver-options http-proxy=http://proxy.furg.br:3128/ --keyserver keyserver.ubuntu.com --recv DD45F6C3Com o novo repositório adicionado, basta então atualizar a lista de repositório do sistema e então instalar os pacotes a seguir.
sudo apt-get updatePronto só aguardar o fim da instalação. Caso, você já tenha o QGIS instalado, basta mandar atualizar (sudo apt-get upgrade), mas certifique-se de que havia instalado o pacote 'python-qgis'.
sudo apt-get install qgis python-qgis
2. Conexão com o PostgreSQL:library(sqldf) ##execução de sqllibrary(RPostgreSQL) ##conexão com Postgreslibrary(KernSmooth)library(raster) ##construção de rasterslibrary(maps) ##importação de shapes e muitas outras funções de mapas
3. Criação das variáveis:options(sqldf.RPostgreSQL.user="seu_usuario",sqldf.RPostgreSQL.password="sua_senha",sqldf.RPostgreSQL.dbname ="nome_do_bd",sqldf.RPostgreSQL.host ="localhost_ou_IP_do_servidor",sqldf.RPostgreSQL.port =5432)
encalhes<- sqldf("select lon,lat from encalhes_2002p where extract ('year' from data)= 2013")No caso da linha de costa, iremos carregar um shapefile:
costa <-shapefile('../divisao_politica.shp', stringsAsFactors=FALSE, verbose=FALSE)4. Cálculo do Índice de Densidade Kernel
dens <- bkde2D(encalhes, # nome da variável com lat, lon
bandwidth=c(0.05,0.05), #maior distância de influência de cada ponto, neste caso em graus
gridsize=c(2000,2000), #número de linhas e colunas (resolução) do arquivo gerado
range.x=list(c(-53.5,-50),c(-33.8,-31.2))) #coordenadas mínimas e máximas do cálculo5. Transformando em raster
dens.raster = raster(list(x=dens$x1, y=dens$x2, z=dens$fhat))
projection(dens.raster) <- CRS("+init=epsg:4326")# Sistema de Referência
xmin(dens.raster) <- -53.5 #Coordenadas do retângulo de extensão do raster
xmax(dens.raster) <- -50
ymin(dens.raster) <- -33.8
ymax(dens.raster) <- -31.26. Fazendo o plot:
plot(dens.raster)
plot(costa, bg="transparent", add=TRUE)Note que o parâmetro "bg" define que o background dos polígonos será transparente e o "add" que este plot deverá ser adicionado ao anterior, e não simplesmente gerado em uma nova figura
png("../heatmap_total.png", width=1000, height=1000)
plot(dens.raster)
plot(costa, bg="transparent", add=TRUE)
dev.off()8. Se quiser salvar o kernel como GeoTIFF para utilizar em outros programas, basta:
writeRaster(../kern.tif',"GTiff",overwrite=TRUE)
convert -delay 100 -loop 0 heatmap*.jpg animation.gif