Skip to content

Instantly share code, notes, and snippets.

View marcellobenigno's full-sized avatar

Marcello Benigno marcellobenigno

  • João Pessoa / Paraíba / Brazil
View GitHub Profile
@marcellobenigno
marcellobenigno / declividade.sh
Last active December 17, 2015 21:49
Script para criação e reclassificação de mapas de declividade no GRASS
#!/bin/sh
# Author: Marcello Benigno, May/2013; copyright: GPL >= 2
# Purpose: Create a reclass slope map
# Usage: ./declividade.sh
#-----------------------------------------------------------
#verifica se o GRASS está em execução:
if [ -z "$GISBASE" ] ; then
echo "ERRO: O GRASS não está em execução!"
exit 1
fi
@marcellobenigno
marcellobenigno / reprojet.sh
Last active December 18, 2015 13:10
Realiza a reprojeção de todos os arquivos raster de uma determindada pasta, é necessário setar os EPSG's antes.
#!/bin/sh
for f in *.tif
do
echo "Processando $f ..."
gdalwarp -s_srs EPSG:32722 -t_srs EPSG:4326 $f geo/WGS84-$f
@marcellobenigno
marcellobenigno / gist:5804964
Last active December 18, 2015 15:29
Exemplo de um Mapfile para utilização de suas camadas via WMS
MAP
NAME "WMS-Mapserver"
STATUS ON
SIZE 800 600
UNITS dd
EXTENT -38.864434 -8.478194 -34.694095 -5.851767
PROJECTION
"init=epsg:3857"
END
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>Exemplo Leaflet - WMS Mapserver</title>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.5/leaflet.css" />
<script src="http://maps.google.com/maps/api/js?v=3.2&sensor=false"></script>
<script type="text/javascript" src="http://cdn.leafletjs.com/leaflet-0.5/leaflet.js"></script>
<script type="text/javascript" src="js/Google.js"></script>
<!--[if lte IE 8]>
@marcellobenigno
marcellobenigno / gist:5996003
Created July 14, 2013 20:59
Exemplo de Pivot Table
SELECT bairro,
sum(CASE WHEN sexo ='MASCULINO' THEN 1 ELSE 0 END) AS total_homens,
sum(CASE WHEN sexo ='FEMININO' THEN 1 ELSE 0 END) AS total_mulheres
FROM acidentes
GROUP BY bairro
ORDER BY total_homens DESC, total_mulheres DESC;
@marcellobenigno
marcellobenigno / gist:6042047
Last active December 20, 2015 00:29
Cálculo da precipitação média com Thiessen no GRASS
# definição do driver sqlite para armazenamento das tabelas (importante!!!)
db.connect driver=sqlite database='$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite.db'
# verificando a conexão
db.connect -p
# criação da camada contendo os polígonos de thiessen
v.voronoi input=rainfall_gauges output=thiessen
# clip da camada thiessen com os limites da bacia hidrográfica
v.overlay ainput=thiessen binput=basin output=clip_thiessen operator=and
# criação do campo area_km2
v.db.addcol map=clip_thiessen columns='area_km2 double precision'
@marcellobenigno
marcellobenigno / pm_cjs.js
Created August 7, 2013 12:09
Solução de contorno para exibir GG MM SS no p.mapper
/*****************************************************************************
* Copyright (c) 2003-2009 Armin Burger
*
* p.mapper is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version. See the COPYING file.
*
* p.mapper is distributed in the hope that it will be useful,
SELECT a.gid, ST_Closestpoint(ST_Collect(b.geom), a.geom) AS geom
FROM section_points a, streams b
GROUP BY a.gid, a.geom;
@marcellobenigno
marcellobenigno / respostas.sql
Last active February 5, 2024 01:10
Exercício de Extração de medidas - PostGIS
--1. Qual é o valor da área em km2 do município de Campo Grande?
SELECT ST_Area(Geography(geom))/1000000 AS area_km2
FROM municipios
WHERE nome = 'Campo Grande';
--2. Qual é a área total das terras indígenas da tribo Buriti?
SELECT SUM(ST_Area(Geography(geom)))/1000000 AS area_km2
FROM terras_indigenas
WHERE tribo = 'Buriti';
@marcellobenigno
marcellobenigno / respostas_ex_2.sql
Last active December 21, 2015 22:39
Exercício sobre Topologia com os dados do estado do Mato Grosso do Sul
-- 1. Quais são os municípios vizinhos de Camapuã? Utilize a função ST_Touches()
SELECT a.gid, a.nome, a.geom
FROM municipios a, municipios b
WHERE ST_Touches(a.geom, b.geom)
AND b.nome = 'Camapuã';
-- 2. Quais são os municípios cortados pela rodovia 'MS-351'? Utilize a função ST_Intersects()
SELECT DISTINCT m.gid, m.nome, m.geom
FROM municipios m, rodovias r
WHERE ST_Intersects(r.geom, a.geom)