API para facilitar o acesso a dados LiDAR do GeoSampa
Project description
SpLaz (Vagas Verdes)
A SpLaz é uma biblioteca Python de alto nível projetada para automatizar a obtenção de dados LiDAR (nuvens de pontos) da cidade de São Paulo via portal GeoSampa. Ela resolve complexidades de geocodificação, conversão de sistemas de coordenadas (SIRGAS 2000 / UTM 23S) e instabilidades de download de servidores legados.
Este projeto é a base técnica do projeto Vagas Verdes, focado em identificar áreas potenciais para arborização urbana utilizando sensoriamento remoto.
🚀 Funcionalidades
-
Geocodificação por Endereço: Identifica automaticamente qual quadrante LiDAR baixar a partir de um endereço textual (ex: "Rua Quatá, 300").
-
Busca por Bairro: Lista e baixa todos os quadrantes que compõem um bairro específico.
-
Tratamento de Dados Espaciais: Download e extração automática da grade de articulação (Shapefile) da prefeitura.
-
Resiliência de Rede: Sistema de correção de encoding (ISO-8859-1) e verificação de integridade de arquivos ZIP.
-
Gestão de Cache: Armazenamento inteligente na pasta local .geosp_laz_api para evitar downloads repetitivos e poupar banda.
📦 Instalação
pip install splaz
🛠 Exemplos de Uso
1. Configuração Inicial
from splaz import SpLaz, SpLazGeo
client = SpLaz()
geo = SpLazGeo(client=client)
2. Download por Código do Quadrante
Ideal quando você já possui o mapeamento da grade de 2020:
quadrante = client.download_quadrante("3316-153")
quadrante.save("data/raw/laz")
3. Download por Endereço (Geocodificação)
A forma mais intuitiva de acessar os dados para um local específico:
endereco = "Avenida Santo Amaro, 1826"
codigo = geo.get_quadrant_by_address(endereco)
print(f"Quadrante identificado: {codigo}")
client.download_quadrante(codigo).save("data/raw/laz")
4. Download por Coordenadas (Lat/Lon)
Para integração com GPS ou outros sistemas de mapeamento:
lat, lon = -23.598, -46.676
codigo = geo.get_quadrant_by_coords(lat, lon)
client.download_quadrante(codigo).save("data/raw/laz")
5. Processamento por Bairro
Obtenha todos os quadrantes que interceptam a área de um bairro:
bairro = "Itaim Bibi"
codigos = geo.get_quadrants_by_neighborhood(bairro)
for cod in codigos:
client.download_quadrante(cod).save(f"data/raw/laz/{bairro}")
6. Manipulando a Classe LidarQuadrante
A classe abstrai a complexidade dos binários baixados:
quadrante = client.download_quadrante("3316-153")
# Atributos úteis
print(quadrante.codigo) # "3316-153"
print(quadrante.esta_carregado) # True
print(len(quadrante.conteudo_binario)) # Tamanho em bytes do arquivo .laz
# Salva o arquivo final no disco
quadrante.save(dest_path="output/lidar")
📂 Estrutura do Projeto
src/splaz/
├── entities.py # Representação de objetos LiDAR
├── downloader.py # Lógica de comunicação com GeoSampa
├── geocoder.py # Cálculos espaciais e geolocalização
└── constants.py # EPSG, URLs e parâmetros de API
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file splaz-0.1.4.tar.gz.
File metadata
- Download URL: splaz-0.1.4.tar.gz
- Upload date:
- Size: 266.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2af487e30952b6b09bfd9df1c58d8c81e9d795bf6462e3db3f428b73d6d7d9b
|
|
| MD5 |
6f54c5014d4bbe8e0f238a09660a19b0
|
|
| BLAKE2b-256 |
32744a0ff8478fb1ba5f92a7db6bd2edbf373028eeb77892455f90a82862a7d9
|
File details
Details for the file splaz-0.1.4-py3-none-any.whl.
File metadata
- Download URL: splaz-0.1.4-py3-none-any.whl
- Upload date:
- Size: 289.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2b92b76b02cd0ff01610bfcdcc15377d8fb9a74af0986c5ac0e62c1b238289a
|
|
| MD5 |
3d0eacfa2f86eb182799f6512b47b42c
|
|
| BLAKE2b-256 |
963716804d0a9a03ce8d88bc0070e11306aad10ade54ec0be483c7e4dcce7163
|