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
--
-- PostgreSQL database dump
--
-- Dumped from database version 13.13
-- Dumped by pg_dump version 13.13
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
from collections import defaultdict
from osgeo import ogr
from shapely.geometry import MultiLineString
from shapely.wkt import loads
ogr.UseExceptions()
class Demanda:
@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';
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()
sexo = input('Informe seu sexo (m/f): ')
altura = float(input('Informe sua altura em metros (ex.: 1.75): '))
peso = float(input('Informe o seu peso (em kg): '))
if sexo == 'm':
peso_ideal = round((72.7 * altura) - 58, 2)
else:
peso_ideal = round((62.1 * altura) - 44.7, 2)
if peso > peso_ideal:
@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 / dicas_postgresql_postgis.md
Last active February 14, 2023 12:44
Dicas PostgreSQL / PostGIS

Criar um Índice:

CREATE INDEX ON ctrm_cafirweb (incra);

Resetar uma Sequência:

--TRUNCATE tabela;
@marcellobenigno
marcellobenigno / boilerplate2.sh
Created March 17, 2016 13:44 — forked from rg3915/boilerplate2.sh
Shell script to create a complete Django project in Mac with Python 3.5 and Django 1.9.3
# Shell script to create a complete Django project.
# This script require Python 3.x and pyenv
# Settings.py is config to Django 1.9.3
# The project contains:
# Settings config
# Person model and form
# Person list and detail
# Person create, update and delete
# Admin config
@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