quinta-feira, maio 30, 2013

Script para criação de mapas de declividade no GRASS

O script a seguir cria um mapa de declividade a partir de um Modelo Digital de Terreno, de acordo com classificação proposta por Lepsch (1991), descrita na Tabela 1.

Classe de Declividade  Porcentagem
Plano 0 - 2
Suave Ondulado  2 - 5
Moderadamente Ondulado 5 - 10
Ondulado 10 - 15
Forte Ondulado 15 - 45
Montanhoso 45 - 70
Escarpado > 70
Tabela 1 - Classes de declividade (LEPSH, 1991)

Para utilizar o script é necessário fazer o seu download (salve-o na pasta home, por exemplo) e lhe dar permissões de execução através do comando abaixo:
$ sudo chmod +x declividade.sh

Em seguida execute o comando dentro de uma sessão do GRASS:



Resultado:


REFERÊNCIAS:


LEPSCH, I. F. Manual para levantamento utilitário do meio físico e classificação de terras no sistema de capacidade de uso. Campinas : Sociedade Brasileira de Ciência do Solo, 1991.

sexta-feira, maio 24, 2013

Python: Geocodificação com a biblioteca pygeocoder

A biblioteca pygeocoder para a linguagem Python é uma mão na roda para quem precisa geocodificar com da API do Google. Com ela é possível encontrar as coordenadas de um determinado endereço, ou um endereço a partir de coordenadas conhecidas (x,y), processo conhecido como geocodificação reversa.

Vejamos como instalar e utilizar esta biblioteca:

1 - Instalação do Pip, que é um sistema de gerenciamento, usado para instalar e gerenciar pacotes de software escritos na linguagem de programação Python:
$ sudo apt-get install python-pip
2 - Instalação da biblioteca requests (caso seja necessário):
$ sudo pip install requests
3 - Instalação da biblioteca pygeocoder:
$ sudo pip install pygeocoder

4 - Obtendo as coordenadas a partir de um endereço:
from pygeocoder import Geocoder
endereco = Geocoder.geocode("Rua Violeta Formiga, 80, João Pessoa")
print(endereco[0].coordinates)
>>> (-7.0821068, -34.8407296)
print(endereco[0])
>>> Rua Violeta Formiga, 80 - Aeroclube, João Pessoa - Paraíba, Brazil

5 - Obtendo um endereço a partir das coordenadas:
coordenadas = Geocoder.reverse_geocode(-7.134660, -34.873325)
print(coordenadas[0])
>>> Avenida Primeiro de Maio, 792-866 - Jaguaribe, João Pessoa - Paraíba, 58015-430, Brazil