quarta-feira, 11 de abril de 2018

Gerando um Shapefile à partir de uma consulta SQL

pgsql2shp -f -h -u -P databasename ""

sexta-feira, 16 de março de 2018

Adicionando Foreign key e primary key no PostgresSQL


Alterando a coluna para não receber nulo

ALTER TABLE tabela ALTER COLUMN coluna SET NOT NULL

Adicionando uma primary key
ALTER TABLE tabela
  ADD PRIMARY KEY (coluna);

Adicionando uma chave estrangeira
ALTER TABLE tabela
ADD CONSTRAINT nome_relacao
  FOREIGN KEY (campo)
   REFERENCES tabela(campo);

Fazendo update de tabela no PostgresSQL com INNER JOIN

Para realizar um UPDATE com INNER JOIN é um comando muito simples :)
UPDATE tabela1 T1
SET campo = T2.campo
FROM tabela2 T2
WHERE (T1.campo2 = T2.campo2)

segunda-feira, 12 de março de 2018

sexta-feira, 16 de fevereiro de 2018

Listando Métodos de um objeto Javascript

Um método muito útil é o de recuperação de métodos disponíveis para um objeto javascript.

var obj = { locaMethod: function() { alert("hello"); }, a: "b", c: 2 };
for(var p in obj)
{
    if(typeof obj[p] === "function") {
     console.log(p);
    }
}

quinta-feira, 8 de fevereiro de 2018

Gerando shapefile à partir de um Raster

Para gerar um arquivo shapefile tendo como base um shapefile basta o seguinte comando:

gdal_polygonize.py arquivo.tiff -f "ESRI Shapefile" arquivo.shp

quarta-feira, 7 de fevereiro de 2018

Gerando Crop (clip) de um Raster com ShapeFile

De uma maneira simples, para gerar um clip de raster à partir de um shapefile.

gdalwarp -cutline INPUT.shp -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif

terça-feira, 19 de dezembro de 2017

Micro servidor Web com Python

Um recurso bem simples para testar páginas web com python ou html. Basta digitar o comando na página onde contém suas páginas web.

python 2.7
python -m SimpleHTTPServer

Python 3 
python3 -m http.server

Isso irá criar um micro servidor na porta 8000.

segunda-feira, 16 de outubro de 2017

Chamadas assíncronas com GNU Parallel

Uma maneira bem simples de aproveitar todo o potencial do seu processador é criar chamadas em paralelo utilizando o GNU Parallel.


  1. Instalando Parallel
    1. sudo apt-get install parallel
  2. Criar uma lista de comando txt com os scripts à serem chamados por ex: (R, Pyhon) já com os argumentos à serem passados
  3. Abrir o terminal de comando e digite o comando:
    1. parallel -j 8 < lista.txt (-j significa o número de núcleos da máquina para serem utilizados).
  4. Tecle Enter e sua lista de scripts serão chamados de acordo com a lista em paralelo.

terça-feira, 13 de junho de 2017

Converter TIFF para SHAPE

Uma função bastante útil é a geração de Shapefille à partir de um arquivo Tiff. Para isso usamos a biblioteca GDAL. Segue exemplo abaixo:

gdal_polygonize.py arquivo.tiff -f "ESRI Shapefile" arquivo.shp

quinta-feira, 20 de abril de 2017

Alterando coluna do Postgres para Timestamp

Para alterar o tipo de coluna de string por exemplo para timestamp no Postgres basta executar como exemplo abaixo:

ALTER TABLE tabela ALTER COLUMN coluna TYPE TIMESTAMP USING coluna::TIMESTAMP;

terça-feira, 21 de março de 2017

Download de E-Book na faixa!


Olá para todos!
Dando uma vasculhada na internet achei um site onde se pode baixar vários e-books na faixa, tem muita coisa boa, porém todos em inglês... mas vale muito dar uma conferida no material do site...
se ai o link:


Chamada de scripts R por linha de comando

Para executar uma chamada do script R por linha de comando basta executar como abaixo onde é chamado o script e passado alguns parâmetros:

Rscript --vanilla sillyScript.R iris.txt out.txt

Instalando pacotes R

Para efetuar a instalação de pacotes do R basta um comando simples, basta entrar dentro da plataforma R e digitar o comando abaixo:

install.packages('nome_do_pacote', dependencies=TRUE)

obs: No Ubuntu para instalar alguns pacotes é necessário instalar o OpenSSL para isso basta seguir os passos abaixo antes de instalar o pacote no R.

sudo apt-get -y build-dep libcurl4-gnutls-dev
sudo apt-get -y install libcurl4-gnutls-dev

Instalando R por linha de comando no Ubuntu

Para efetuar a instalação do R por linha de comando é necessário alguns passos simples:

1. Inserir a fonte na lista do Ubntu
sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list'

2. Criando uma chave para o registro
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9

3. Adicionando a chave para o registro:
gpg -a --export E084DAB9 | sudo apt-key add -

4.Atualizando as fontes de dados:
sudo apt-get update

5.Instalando o R
sudo apt-get -y install r-base

Voilá! se tudo correu bem o R ja está instalado, para testar basta digitar na linha de comando a letra R, se o R se instalou corretamente a seguinte mensagem será apresentada:


terça-feira, 25 de outubro de 2016

Scape de string no PostGres

Para dar scape de string no Postgres é muito simples, segue exemplo abaixo:


select E'd\'agua';

quarta-feira, 19 de outubro de 2016

Instalando o Gdal 2.1 no Ubuntu 16.04

Primeiramente baixe o instalador que pode ser encontrado AQUI

Após o download basta executar os seguintes comandos:

$ cd gdal-2.1.0/
$ ./configure --prefix=/usr/
$ make
$ sudo make install
$ cd swig/python/
$ sudo python setup.py install

sexta-feira, 14 de outubro de 2016

Criando funções em R

#criando funções com valores de entrada padrão
soma_valores = function(x=0,y=0){
  return (x+y)
}
soma_valores()

Manipulando data em R

dta <- Sys.Date() #recuperando a data corrente

as.character(dta) #convertendo para string

dta2 <- as.Date("2016-04-30") #convertendo string para data

dtas <- seq(from = dta2, to = dta, by=1) # lista com sequencia de datas

dtaFormatada <- as.Date("07/Ago/12", format = "%d/%b/%y") #data formatada

dtaFormatada2 <- as.Date("2012-Agosto-07", format = "%Y-%B-%d") #data formatada

format(dtaFormatada, "%d") #recuperando o dia da data

format(dtaFormatada, "%m/%Y") #recuperando o mes e ano

range(dtas) #recuperando o range de datas envolvidas

dta3 <- seq(from = as.Date("2016-04-01"), to = dta2, by=1)

all(dtas %in% dta3) #verificando se todas as datas de um array está contido em outro

which(dtas %in% dta3) #verificando quais datas estão contidas em outro array

which(!(dtas %in% dta3)) #verficando quais datas não estão contidas dentro de um array

dtas[which(!(dtas %in% dta3))] #recuperando os valores das datas de quais não estão contidas dentro de um array

dtas4 <- dtas > as.Date("2016-05-05") & dtas <= as.Date("2016-05-15") #criando subset com comparativo de datas

quinta-feira, 13 de outubro de 2016

Operações aritméticas com vetores em R

// Comment
#OPERAÇÕES COM VETORES
v1 <- 1:10="" 2="" de="" do="" multiplicando="" os="" por="" quadrada="" raiz="" sqrt="" todas="" um="" v1="" valores="" vetor="">= 3 #checando quais valores são maiores ou igual a 3

c(1,2,3,4) %in% v1 #verificando se determinados valores existem dentro de um vetor

c(1,2,3,4) * tail(v1,4) #pegando alguns elementos de um vetor e multiplicando dois vetores

c(1,2,3,4) * c(3,5) #multiplicando dois vetores

seq(from=10, to=100, by=0.5) #criando uma sequencia de números

vector(mode = "numeric", length = 2) #criando vetores em branco

vector(mode = "character", length = 10) #criando vetores de texto em branco

vector(mode = "logical", length = 3) #criando vetores de boleano em branco

rep(x = 22, times = 10) #criando vetor com valores repetidos
x = c(18, 0, 9)

rep(x, 3) #criando um vetor a partir da repetição de outro

v1[1:2] #recuperando elementos específicos de um array

v1[c(1,2,3)] 
v1[v1>1 & v1 < 4] #recuperando um intervalo de valores
v1[v1>4 | v1 < 10]

#Manipulando Vetores em R
a <- c(1:5)
b <- c(6,NA,7,NA,8,NA,9)
c <- c("1","2","5","6")

clean <- complete.cases(b) #filtra apenas os itens completos de uma array
is.na(b) #filtra apenas os objetos vazios de um array

b[clean] #filtrando os itens do array completos