Why
Por quê
Map apps flatten a city. To understand a neighbourhood you want to see what is tall, what is still low and could rise, where water collects when it rains, where the trains run and what a square metre actually sells for. São Paulo publishes almost all of that as open data; it just lives in a dozen portals and file formats.
Os apps de mapa achatam a cidade. Para entender um bairro você quer ver o que é alto, o que ainda é baixo e pode subir, onde a água junta quando chove, por onde passa o trem e por quanto o metro quadrado é vendido de verdade. São Paulo publica quase tudo isso como dado aberto; só que espalhado em uma dúzia de portais e formatos.
What is in it
O que tem nele
- About 16,000 buildings in a 2.3 km ring, extruded from the city's footprints and heights, with Overture filling the gaps OpenStreetMap misses.
- Terrain to 24 km, over 8,000 street trees, streets, squares and rail, plus 450 places by category.
- City layers: zoning (law 18,177/24), lots that could become towers, approved new buildings and social-housing permits, flood zones, bus, metro and rail.
- Price per m² from paid property-transfer tax records (ITBI), aggregated over 255 city blocks, and crime counts on a 100 m grid.
- Sun and shade, night mode, street level, in Portuguese and English, light and dark.
- Cerca de 16 mil prédios num anel de 2,3 km, levantados a partir dos contornos e alturas da prefeitura, com o Overture cobrindo o que falta no OpenStreetMap.
- Relevo até 24 km, mais de 8 mil árvores de rua, ruas, praças e trilhos, e 450 lugares por categoria.
- Camadas da cidade: zoneamento (Lei 18.177/24), lotes que podem virar prédio, obras novas aprovadas e alvarás de moradia popular, manchas de alagamento, ônibus, metrô e trem.
- Preço do m² das guias de ITBI pagas, agregado em 255 quadras, e ocorrências policiais numa grade de 100 m.
- Sol e sombra, modo noite, nível da rua, em português e inglês, claro e escuro.
How it is built
Como foi feito
A Python pipeline downloads each source, reprojects everything onto one local grid and writes compact JSON and binary files. The browser draws them with three.js: the near neighbourhood loads at once, and the outer ring streams in 500 m chunks as the camera moves, the way games load a world. The whole site is static files behind a tiny allowlisted Python server, sandboxed by systemd and published through a Cloudflare Tunnel.
Um pipeline em Python baixa cada fonte, projeta tudo numa grade local só e grava arquivos JSON e binários compactos. O navegador desenha com three.js: o miolo do bairro carrega de uma vez e o anel de fora chega em pedaços de 500 m conforme a câmera anda, como os jogos carregam um mundo. O site inteiro é arquivo estático atrás de um servidor Python mínimo com allowlist, isolado pelo systemd e publicado por um túnel da Cloudflare.
Privacy by design
Privacidade desde o desenho
Public data can still point at people. Sales prices appear only as block medians with a minimum number of sales; crime only as counts in 100 m cells; lots that could become towers are private homes, so they carry no address. Only large new buildings with a public permit show where they are.
Dado público ainda pode apontar para pessoas. Os preços de venda só aparecem como mediana por quadra, com mínimo de vendas; os crimes só como contagem em células de 100 m; os lotes que podem virar prédio são casas de alguém, então saem sem endereço. Só obras novas de porte, com alvará público, mostram onde estão.
Where it came from
De onde veio
It started as one piece of the home decision engine, rebuilt around a single candidate home. This is the public cut: recentred on Largo da Batata, anonymised and open source.
Começou como uma peça do motor de decisão de moradia, montada em volta de um imóvel candidato. Esta é a versão pública: recentrada no Largo da Batata, anonimizada e com código aberto.