Skip to main content

API para facilitar o acesso a dados LiDAR do GeoSampa

Project description

Python Tests PyPI version Python versions License: MIT

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

splaz-0.1.4.tar.gz (266.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splaz-0.1.4-py3-none-any.whl (289.9 kB view details)

Uploaded Python 3

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

Hashes for splaz-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e2af487e30952b6b09bfd9df1c58d8c81e9d795bf6462e3db3f428b73d6d7d9b
MD5 6f54c5014d4bbe8e0f238a09660a19b0
BLAKE2b-256 32744a0ff8478fb1ba5f92a7db6bd2edbf373028eeb77892455f90a82862a7d9

See more details on using hashes here.

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

Hashes for splaz-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c2b92b76b02cd0ff01610bfcdcc15377d8fb9a74af0986c5ac0e62c1b238289a
MD5 3d0eacfa2f86eb182799f6512b47b42c
BLAKE2b-256 963716804d0a9a03ce8d88bc0070e11306aad10ade54ec0be483c7e4dcce7163

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page