Skip to content

Instantly share code, notes, and snippets.

View marcellobenigno's full-sized avatar
😃
Python ❤

Marcello Benigno marcellobenigno

😃
Python ❤
  • João Pessoa / Paraíba / Brazil
View GitHub Profile
from collections import defaultdict
from osgeo import ogr
from shapely.geometry import MultiLineString
from shapely.wkt import loads
ogr.UseExceptions()
class Demanda:
def handle(self, *args, **options):
val = options['município/estado/ano']
slug = slugify(val.split('/')[0])
sigla_uf = val.split('/')[1].strip().upper()
ano = int(val.split('/')[2].strip())
municipio = Municipio.objects.get(slug=slug, sigla_uf=sigla_uf)
SnciUsoOcupacao.objects.filter(snci__municipio=municipio.cod_ibge_m, ano=ano).delete()
SigefUsoOcupacao.objects.filter(sigef__municipio=municipio.cod_ibge_m, ano=ano).delete()
@marcellobenigno
marcellobenigno / create_point.py
Last active October 27, 2023 12:55
Exemplo de criação de pontos no QGIS
def create_point(name):
uri = "point?crs=epsg:4326"
points = QgsVectorLayer(uri, name, 'memory')
QgsProject.instance().addMapLayer(points)
# chamando o provider para poder criar
# tanto os campos, quanto validar todo o processo:
provider = points.dataProvider()
# definindo os campos da minha camada
<template>
<div class="row">
<div class="col-md-6">
<canvas id="myChart"></canvas>
</div>
<div class="col-md-6">
<select class="form-select" v-model="year" v-on:change="getTotalByYear(year)">
<option selected>Escolha o ano</option>
<option v-for="(year, index) in years" :key="index" :value="year">{{ year }}</option>
</select>
@marcellobenigno
marcellobenigno / manutencao_incra.md
Last active June 15, 2022 10:52
Manutenção Tabelas do INCRA
  1. Remover os caracteres especiais com interrogação do SIGEF:

Rode o comando:

shp2pgsql -W 'UTF-8'  -s 4326 -t '2D' -a mapas_incrasigef2.shp mapas_incrasigef > mapas_incrasigef.sql

Ele vai quebrar uma linha antes do registro que possui o problema no campo nome_area. Abra o arquivo no SUBLIME e identifique a linha com problema, em seguida abra o QGIS. Entre em modo de edição e remova o caractere do registro.

  1. Mude o nome do campo municipio_ para municipio
@marcellobenigno
marcellobenigno / geoprocessing.md
Last active March 24, 2022 17:45
Exemplos de Geoprocessing no PostGIS
-- Quais são os municípios que contém os poços com os seguintes ids:
-- 523, 524, 582, 588, 149, 367
SELECT DISTINCT municipios.nome
FROM pocos, municipios
WHERE
pocos.id IN (523, 524, 582, 588, 149, 367)
AND
ST_Contains(municipios.geom, pocos.geom);

Quais são os valores de x e y para cada poço?

SELECT 
	id,
	proprietar,
	st_x(geom) AS longitude,
	st_y(geom) AS latitude
FROM 
	pocos;
@marcellobenigno
marcellobenigno / aula02.md
Last active March 24, 2022 11:05
aula1-sig-web.md