<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>eu.NET Web de cada dia</title><description>Um blog de tecnologia que aborda diversos assuntos sobre tecnologia e desenvolvimento web.</description><managingEditor>noreply@blogger.com (Ronaldo Andrade)</managingEditor><pubDate>Mon, 21 Oct 2024 02:17:46 -0700</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">89</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://euprogramonet.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>Um blog de tecnologia que aborda diversos assuntos sobre tecnologia e desenvolvimento web.</itunes:subtitle><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>Gerando um Shapefile à partir de uma consulta SQL</title><link>http://euprogramonet.blogspot.com/2018/04/gerando-um-shapefile-partir-de-uma.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Wed, 11 Apr 2018 13:14:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-2519515358276263947</guid><description>pgsql2shp -f &lt;path to output shapefile&gt; -h &lt;hostname&gt; -u &lt;username&gt; -P &lt;password&gt; databasename "&lt;query&gt;"</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Adicionando Foreign key e primary key no PostgresSQL</title><link>http://euprogramonet.blogspot.com/2018/03/adicionando-foreign-key-e-primary-key.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Fri, 16 Mar 2018 09:46:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-7700021743384767061</guid><description>&lt;br /&gt;
Alterando a coluna para não receber nulo&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: csharp"&gt;ALTER TABLE tabela ALTER COLUMN coluna SET NOT NULL&lt;/pre&gt;
&lt;br /&gt;
Adicionando uma primary key&lt;br /&gt;
&lt;pre class="brush: csharp"&gt;ALTER TABLE tabela
&amp;nbsp; ADD PRIMARY KEY (coluna);&lt;/pre&gt;
&lt;pre class="brush: csharp"&gt;&lt;/pre&gt;
Adicionando uma chave estrangeira
&lt;pre class="brush: csharp"&gt;ALTER TABLE tabela
ADD CONSTRAINT nome_relacao
  FOREIGN KEY (campo)
&amp;nbsp; &amp;nbsp;REFERENCES tabela(campo);
&lt;/pre&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Fazendo update de tabela no PostgresSQL com INNER JOIN</title><link>http://euprogramonet.blogspot.com/2018/03/fazendo-update-de-tabela-no-postgressql.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Fri, 16 Mar 2018 07:45:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-5816951617469213598</guid><description>Para realizar um UPDATE com INNER JOIN é um comando muito simples :)&lt;br /&gt;
&lt;pre class="brush: csharp"&gt;
UPDATE tabela1 T1
SET campo = T2.campo
FROM tabela2 T2
WHERE (T1.campo2 = T2.campo2)
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Listando arquivos por formato no ubuntu</title><link>http://euprogramonet.blogspot.com/2018/03/listando-arquivos-por-formato-no-ubuntu.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Mon, 12 Mar 2018 13:15:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-5128052921767104502</guid><description>&lt;div style="text-align: center;"&gt;
sudo find . -type f -name "*.tif"&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Listando Métodos de um objeto Javascript</title><link>http://euprogramonet.blogspot.com/2018/02/metodo-de-um-objeto-javascript.html</link><category>javascript</category><category>js</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Fri, 16 Feb 2018 09:25:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-6526089565363475921</guid><description>Um método muito útil é o de recuperação de métodos disponíveis para um objeto javascript.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: csharp"&gt;
var obj = { locaMethod: function() { alert("hello"); }, a: "b", c: 2 };
for(var p in obj)
{
    if(typeof obj[p] === "function") {
     console.log(p);
    }
}
&lt;/pre&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Gerando shapefile à partir de um Raster</title><link>http://euprogramonet.blogspot.com/2018/02/gerando-shapefile-partir-de-um-raster.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Thu, 8 Feb 2018 09:33:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-8611634092478230208</guid><description>Para gerar um arquivo shapefile tendo como base um shapefile basta o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
gdal_polygonize.py arquivo.tiff -f "ESRI Shapefile" arquivo.shp&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Gerando Crop (clip) de um Raster com ShapeFile</title><link>http://euprogramonet.blogspot.com/2018/02/gerando-crop-clip-de-um-raster-com.html</link><category>clip</category><category>cut</category><category>python</category><category>raster</category><category>shapefile</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Wed, 7 Feb 2018 11:00:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-3821759725821041526</guid><description>De uma maneira simples, para gerar um clip de raster à partir de um shapefile.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;gdalwarp -cutline INPUT.shp -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif&lt;/i&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Micro servidor Web com Python</title><link>http://euprogramonet.blogspot.com/2017/12/micro-servidor-web-com-python.html</link><category>python</category><category>server</category><category>servidor</category><category>web</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Tue, 19 Dec 2017 09:49:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-7756056282413039688</guid><description>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.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;python 2.7&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;python -m SimpleHTTPServer&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;Python 3&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;python3 -m http.server&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Isso irá criar um micro servidor na porta 8000.&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Chamadas assíncronas com GNU Parallel</title><link>http://euprogramonet.blogspot.com/2017/10/chamadas-assincronas-com-gnu-parallel.html</link><category>gnu</category><category>parallel</category><category>python</category><category>R</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Mon, 16 Oct 2017 12:19:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-7678933219791644833</guid><description>Uma maneira bem simples de aproveitar todo o potencial do seu processador é criar chamadas em paralelo utilizando o GNU Parallel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Instalando Parallel&lt;/b&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;i&gt;sudo apt-get install parallel&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;&lt;b&gt;Criar uma lista de comando txt com os scripts à serem chamados por ex: (R, Pyhon) já com os argumentos à serem passados&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Abrir o terminal de comando e digite o comando:&lt;/b&gt;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;i&gt;parallel -j 8 &amp;lt; lista.txt &lt;/i&gt;(-j significa o número de núcleos da máquina para serem utilizados).&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;&lt;b&gt;Tecle Enter e sua lista de scripts serão chamados de acordo com a lista em paralelo.&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Converter TIFF para SHAPE</title><link>http://euprogramonet.blogspot.com/2017/06/converter-tiff-para-shape.html</link><category>geo</category><category>shape</category><category>shapefile</category><category>shp</category><category>tiff</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Tue, 13 Jun 2017 07:22:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-7446592043134974662</guid><description>Uma função bastante útil é a geração de Shapefille à partir de um arquivo Tiff. Para isso usamos a biblioteca GDAL. Segue exemplo abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;i&gt;&lt;b&gt;gdal_polygonize.py arquivo.tiff -f "ESRI Shapefile" arquivo.shp&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Alterando coluna do Postgres para Timestamp</title><link>http://euprogramonet.blogspot.com/2017/04/alterando-coluna-do-postgres-para.html</link><category>postgressql</category><category>sql</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Thu, 20 Apr 2017 11:09:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-120412370391627311</guid><description>Para alterar o tipo de coluna de string por exemplo para timestamp no Postgres basta executar como exemplo abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;ALTER TABLE tabela ALTER COLUMN coluna TYPE TIMESTAMP USING coluna::TIMESTAMP;&lt;/i&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Download de E-Book na faixa!</title><link>http://euprogramonet.blogspot.com/2017/03/download-de-e-book-na-faixa.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Tue, 21 Mar 2017 11:46:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-5811191014921757654</guid><description>&lt;br /&gt;
Olá para todos!&lt;br /&gt;
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...&lt;br /&gt;
se ai o link:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;div style="text-align: center;"&gt;
&lt;a href="http://www.computer-books.us/"&gt;http://www.computer-books.us/&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Chamada de scripts R por linha de comando</title><link>http://euprogramonet.blogspot.com/2017/03/chamada-de-scripts-r-por-linha-de.html</link><category>R</category><category>R linguagem</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Tue, 21 Mar 2017 11:45:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-7295190019401855294</guid><description>Para executar uma chamada do script R por linha de comando basta executar como abaixo onde é chamado o script e passado alguns parâmetros:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Rscript --vanilla sillyScript.R iris.txt out.txt&lt;/i&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Instalando pacotes R </title><link>http://euprogramonet.blogspot.com/2017/03/instalando-pacotes-r.html</link><category>linguagem R</category><category>pacotes R</category><category>R</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Tue, 21 Mar 2017 11:12:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-3126139887720824891</guid><description>Para efetuar a instalação de pacotes do R basta um comando simples, basta entrar dentro da plataforma R e digitar o comando abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;install.packages('nome_do_pacote', dependencies=TRUE)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo apt-get -y build-dep libcurl4-gnutls-dev&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;sudo apt-get -y install libcurl4-gnutls-dev&lt;/i&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Instalando R por linha de comando no Ubuntu</title><link>http://euprogramonet.blogspot.com/2017/03/instalando-r-por-linha-de-comando-no.html</link><category>instalação do R</category><category>instalação por linha de comando</category><category>R</category><category>R linguagem</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Tue, 21 Mar 2017 11:01:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-3814380965588085108</guid><description>Para efetuar a instalação do R por linha de comando é necessário alguns passos simples:&lt;br /&gt;
&lt;br /&gt;
1. Inserir a fonte na lista do Ubntu&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" &amp;gt;&amp;gt; /etc/apt/sources.list'&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
2. Criando uma chave para o registro&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
3. Adicionando a chave para o registro:&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;gpg -a --export E084DAB9 | sudo apt-key add -&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
4.Atualizando as fontes de dados:&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;sudo apt-get update&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
5.Instalando o R&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;sudo apt-get -y install r-base&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
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:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkXiW8wBM4Aaywunk_drMPSejICVTILV6ngO5vtfNf6wt2SsACAKlfqZZgo-x9zjwfoyyy-fH_p7zYeK_gIPVaHCF_hXVLiqWnT9L5eRYQvWMVuVl9_9trcPgiEkLeoM5j6_24hoHqlqY/s1600/r-inicio.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkXiW8wBM4Aaywunk_drMPSejICVTILV6ngO5vtfNf6wt2SsACAKlfqZZgo-x9zjwfoyyy-fH_p7zYeK_gIPVaHCF_hXVLiqWnT9L5eRYQvWMVuVl9_9trcPgiEkLeoM5j6_24hoHqlqY/s320/r-inicio.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkXiW8wBM4Aaywunk_drMPSejICVTILV6ngO5vtfNf6wt2SsACAKlfqZZgo-x9zjwfoyyy-fH_p7zYeK_gIPVaHCF_hXVLiqWnT9L5eRYQvWMVuVl9_9trcPgiEkLeoM5j6_24hoHqlqY/s72-c/r-inicio.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Scape de string no PostGres</title><link>http://euprogramonet.blogspot.com/2016/10/scape-de-string-no-postgres.html</link><category>postgressql</category><category>scape</category><category>string</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Tue, 25 Oct 2016 04:42:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-8634964954639154379</guid><description>Para dar scape de string no Postgres é muito simples, segue exemplo abaixo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: csharp"&gt;select E'd\'agua';
&lt;/pre&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Instalando o Gdal 2.1 no Ubuntu 16.04</title><link>http://euprogramonet.blogspot.com/2016/10/instalando-o-gdal-21-no-ubuntu-1604.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Wed, 19 Oct 2016 14:58:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-957426715367457084</guid><description>Primeiramente baixe o instalador que pode ser encontrado &lt;a href="http://download.osgeo.org/gdal/2.1.0/gdal-2.1.0.tar.gz" target="_blank"&gt;AQUI&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Após o download basta executar os seguintes comandos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class="brush: csharp"&gt;
$ cd gdal-2.1.0/
$ ./configure --prefix=/usr/
$ make
$ sudo make install
$ cd swig/python/
$ sudo python setup.py install
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><enclosure length="12819400" type="application/octet-stream" url="http://download.osgeo.org/gdal/2.1.0/gdal-2.1.0.tar.gz"/><itunes:explicit/><itunes:subtitle>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</itunes:subtitle><itunes:author>noreply@blogger.com (Ronaldo Andrade)</itunes:author><itunes:summary>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</itunes:summary></item><item><title>Criando funções em R</title><link>http://euprogramonet.blogspot.com/2016/10/criando-funcoes-em-r.html</link><category>funções</category><category>linguagem R</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Fri, 14 Oct 2016 10:56:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-857022943788062960</guid><description>&lt;pre class="brush: csharp"&gt;
#criando funções com valores de entrada padrão
soma_valores = function(x=0,y=0){
  return (x+y)
}
soma_valores()
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Manipulando data em R</title><link>http://euprogramonet.blogspot.com/2016/10/manipulando-data-em-r.html</link><category>data</category><category>linguagem R</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Fri, 14 Oct 2016 10:56:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-8200146125794314928</guid><description>&lt;pre class="brush: csharp"&gt;
dta &lt;- Sys.Date() #recuperando a data corrente

as.character(dta) #convertendo para string

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

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

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

dtaFormatada2 &lt;- 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 &lt;- 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 &lt;- dtas &gt; as.Date("2016-05-05") &amp; dtas &lt;= as.Date("2016-05-15") #criando subset com comparativo de datas
&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Operações aritméticas com vetores em R</title><link>http://euprogramonet.blogspot.com/2016/10/operacoes-aritmeticas-com-vetores-em-r.html</link><category>linguagem R</category><category>operações aritméticas</category><category>R</category><category>vetores</category><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Thu, 13 Oct 2016 12:59:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-2750443892842339047</guid><description>&lt;pre class="brush: csharp"&gt;// Comment
#OPERAÇÕES COM VETORES
v1 &lt;- 1:10="" 2="" de="" do="" multiplicando="" os="" por="" quadrada="" raiz="" sqrt="" todas="" um="" v1="" valores="" vetor=""&gt;= 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&amp;gt;1 &amp;amp; v1 &amp;lt; 4] #recuperando um intervalo de valores
v1[v1&amp;gt;4 | v1 &amp;lt; 10]

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

clean &lt;- 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
&lt;/-&gt;&lt;/pre&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Comparando geometrias dentro de uma área específica com PostGIS</title><link>http://euprogramonet.blogspot.com/2016/08/comparando-geometrias-dentro-de-uma.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Wed, 31 Aug 2016 07:55:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-4344282707153176259</guid><description>Uma tarefa muito útil nos bancos de dados geográficos é a possibilidade de se comparar geometrias mesmo que seja virtualmente, no exemplo abaixo pode se comparar um ponto no exemplo com uma geometria que é gerada pelo operador st_envelope do PostGIS. No segundo exemplo tem executamos a mesma tarefa do primeiro porém comparando os valores min e max de X e Y.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;1- SELECT x &amp;nbsp;FROM table where geom &amp;amp;&amp;amp; ST_MakeEnvelope(-85.994,-55.994, -32.994,10.005)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;2- SELECT x FROM table&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;where (ST_X(geom) &amp;gt;= -85.994 and ST_X(geom) &amp;lt;= -32.994)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;and (ST_Y(geom) &amp;gt;= -55.994 and ST_Y(geom) &amp;lt;= 10.005)&lt;/i&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Exportando GEOJson do Postgis</title><link>http://euprogramonet.blogspot.com/2016/08/exportando-geojson-do-postgis.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Wed, 31 Aug 2016 07:21:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-8594271377460045133</guid><description>Um recurso muito bom do Postgis é a facilidade de exportar um geojson diretamente pela consulta de sql, &amp;nbsp;eliminando aquela tarefa um tanto quanto chata de utilizar o ogr2. Segue script abaixo, exportando um polígono para geojson.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;SELECT ST_AsGeoJSON(ST_MakeEnvelope(-89.296875,-58.539595,-31.992188,13.068777),4326)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;a href="http://bl.ocks.org/d/c22ec6f90f47d1558a01267ba0002551" rel="nofollow" target="_blank"&gt;O exemplo da saída pode ser visualizado aqui.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Referência:&amp;nbsp;http://postgis.net/docs/ST_AsGeoJSON.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Criando rotinas python com crontab</title><link>http://euprogramonet.blogspot.com/2016/08/criando-rotinas-python-com-crontab.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Thu, 25 Aug 2016 05:46:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-5545476374450599097</guid><description>Uma maneira de operacionalizar tarefas diárias com python é utilizando o recurso crontab do linux que executa tarefas de acordo com seus parâmetros.&lt;br /&gt;
&lt;br /&gt;
O primeiro passo é adicionar na primeira linha do seu arquivo python o cabeçalho que o torna executável. obs(não fica mais necessário utlizar python script.py).&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;#!/usr/bin/env python2&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
O segundo passo é dar permissão do arquivo de ser executável, para isso utilizamos o chmod&amp;nbsp;+x script.py&lt;br /&gt;
&lt;br /&gt;
o próximo passo é abrir a ferramenta crontab utilizando o comando crontab -e, abrirá um editor de texto com as configurações das tarefas que você pode ter já configuradas. Para adicionar a sua basta ir até o final do arquivo e configurar seu script.&lt;br /&gt;
&lt;br /&gt;
A sequência de execução do crontab é primeiramente o tempo de MM HH DM M DS &amp;nbsp;caminho do script /&amp;nbsp;script.py &amp;gt;&amp;gt; caminho do log de execução /log.txt 2&amp;gt;&amp;amp;1 REF:&amp;nbsp;http://www.infowester.com/linuxcron.php&lt;br /&gt;
&lt;br /&gt;
Voilá!, após estas configurações seu script será executado de acordo com a data configurada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Filtrando um dicionário em python</title><link>http://euprogramonet.blogspot.com/2016/08/filtrando-um-dicionario-em-python.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Wed, 3 Aug 2016 07:51:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-339444023228515134</guid><description>Um recurso muito útil é filtrar um ou vários objetos dentro de um dicionário, segue abaixo os exemplos de filtragem de objetos de um dicionário pela key (índice) e valor.&lt;br /&gt;
&lt;br /&gt;
Primeiramente nosso dicionário de exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #cccccc; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;dict = {'conc_co':'monoxido_carbono','conc_pm':'material_particulado','umid_ar':'umidade_relativa', 'tmp_ar':'temperatura', 'vento_dir':'vento_direcao', 'vento_vel':'vento_velocidade'}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Agora o filtro pelo valor do objeto:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #cccccc; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;dict2 = {k: v for k, v in prefixos.items() if v == 'vento_velocidade'}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
O resultado de dict2 será:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #cccccc; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;{'vento_vel': 'vento_velocidade'}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Agora filtrando pela chave do objeto:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #cccccc; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;dict2 = {k: v for k, v in prefixos.items() if k == 'umid_ar'}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
O resultado será:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #cccccc; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"&gt;{'umid_ar': 'umidade_relativa'}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Removendo espaços em branco de uma string com python</title><link>http://euprogramonet.blogspot.com/2016/08/removendo-espacos-em-branco-de-uma.html</link><author>noreply@blogger.com (Ronaldo Andrade)</author><pubDate>Wed, 3 Aug 2016 07:13:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5259323755515423930.post-3504193325054593448</guid><description>Uma função para remover espaços em branco de uma string à esquerda, direita ou totalmente em python.&lt;br /&gt;
&lt;br /&gt;
Removendo todos os espaços em branco de uma string&lt;br /&gt;
&lt;pre class="lang-py prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"&gt;&lt;code style="border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;s &lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;=&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt; &lt;/span&gt;&lt;span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;"&gt;"  \t a string example\t  "&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;
s &lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;=&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt; s&lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;.&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;strip&lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Removendo os espaços à esquerda&lt;br /&gt;
&lt;pre class="lang-py prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"&gt;&lt;code style="border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;s &lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;=&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt; s&lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;.&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;lstrip&lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Removendo os espaços à direita&lt;br /&gt;
&lt;pre class="lang-py prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"&gt;&lt;code style="border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;s &lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;=&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt; s&lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;.&lt;/span&gt;&lt;span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;rstrip&lt;/span&gt;&lt;span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>