Visão geral
Como o sistema está organizado
O Programa +4D combina camadas geográficas (polígonos e pontos no mapa) com fontes de dados tabulares (CSV/JSON exportados de sistemas municipais). O cruzamento entre as duas é feito por chaves de junção — normalmente endereço normalizado, número do imóvel, lote fiscal ou expediente único.
Os 4 mundos do sistema
| Mundo | O que é | Origem |
| Geografia | Setores, bairros, quadras, EUs, lotes fiscais, eixos | GeoJSONs (MapLibre) |
| Licenciamento | Projetos, vistorias, habite-se, processos SEI | Portal de Licenciamento (CSV + JSON) |
| Cadastro / Tributos | IPTU, ITBI, SDADOS (áreas), economias | Bases tributárias municipais (JSON) |
| Atividade econômica | Alvarás, atividades CNAE, finalidades IPTU | Sistema de Alvarás + IPTU (JSON) |
Como ler este manual
- Cada camada e fonte tem sua própria seção com: o arquivo de origem, a chave de junção, os campos usados e quais painéis/indicadores consomem.
- Os indicadores (Urbanismo e Econômico) descrevem o cálculo aplicado em cima das fontes.
- As telas (Painéis, Explorar, Dashboard) explicam como a informação é apresentada.
- Onde aparecer o ícone ? no sistema, ele leva direto à seção correspondente aqui.
Chaves de junção
Como as fontes se conectam
O mesmo imóvel aparece em várias bases com identificadores diferentes. O sistema mantém vários índices em memória que permitem ir de uma representação a outra.
| Chave | Formato | Quem usa | Observação |
numero (EU) |
String do número do Expediente Único |
Vistorias, Projetos Edif., Portal Licenc., Endereços do EU |
O EU é o "CPF" do imóvel no licenciamento |
LOGRADOURO|numimovel |
Logradouro literal + nº (pipe-separado) |
CADASTRO (vw_cadastropredial) |
Logradouro como vem do portal, sem normalização extra |
normLogr|num |
Logradouro normalizado + nº |
SDADOS, ALVARAS, IPTU_FINALIDADE, CADASTRO_HIST/PROJ |
Normalização remove acentos, abrevia (AV → AVENIDA), uppercase |
idLote |
Identificador único do lote fiscal |
SDADOS (área), ITBI_LOTES, SDADOS_ECONOMIAS |
Vem do índice SDADOS — liga endereço ao lote |
NUMBLOCO |
Identificador do lote em lotes_4d.geojson |
IPTU_LOTES, LOTES_ADDRESS, geometria do lote |
Equivalente ao idLote para a geometria do mapa |
setor_qtr |
{Setor}_{QTR} (ex.: 5_42) |
ITBI_QTR, LOTES_AREA_QTR, IPTU_NBS_QTR, QTR_MAP |
Agregações por quadra |
idprojeto / idprojetoedif |
Inteiro |
PROJETOS_EDIF, VISTORIAS_BY_PROJ |
Liga vistorias ao projeto que originou |
| Geometria |
Polígono / ponto WGS84 |
Cruzamento espacial Quadra ↔ Setor ↔ Distrito ↔ EU |
Cada feature já vem com props Setor, QTR, Distrito Inovação |
Fluxo típico de junção
Exemplo: encontrar todos os alvarás ativos numa quadra
- Quadra (geometria) tem
Setor + QTR → chave setor_qtr
QTR_MAP[setor_qtr] → lista de numero (EUs) da quadra
- Para cada EU:
ENDERECOS[numero] → endereços (logradouro, num)
- Para cada endereço: gerar
normLogr|num → ALVARAS[chave]
- Filtrar por
alvara.status === 'Ativo'
Bairros
Camada geográfica · bairros oficiais que tocam o 4º Distrito
Bairros + centroides
- Arquivos
bairros_4d_wgs84.geojson (polígonos) e bairros_centroids.geojson (pontos para rótulos)
- Atualização
- Manual
- Consumidores
- Toggle "Bairros" na sidebar; painel ao clicar no bairro
Distrito da Inovação
Polígono de recorte para análises específicas do DI
Distrito Inovação
- Arquivo
Distrito.geojson
- Atualização
- Manual
- Área de referência
- 2.578.461 m² (hard-coded p/ dashboards)
- Consumidores
- Toggle "Distrito Inovação"; filtro de área no Explorar; Dashboard do DI; índices
DIST_NUMEROS e DIST_QTR_FEATS (EUs e quadras dentro do polígono)
- Identificação
- Quadras têm a prop
Distrito Inovação = "Sim" quando aplicável
Quadras (quarteirões)
Unidade espacial de agregação principal
Quadras com Setor + DI
- Arquivo
quarteiroes_com_setor_distrito_wgs84.geojson
- Campos
Setor, QTR, Distrito Inovação (Sim/Não), geometria
- Chave derivada
setor_qtr = "{Setor}_{QTR}" (ex.: 5_42)
- Consumidores
- Painel da Quadra ao clicar; indicadores agregados por quadra (Área Construída, Lotes Vazios, ITBI/IPTU por quadra, etc.); ligação com
QTR_MAP que mapeia setor_qtr → [EUs]
EUs — Expedientes Únicos
Endereços tratados como pontos com histórico de licenciamento
EUs (Lotes urbanísticos)
- Arquivo
EUs_4d_wgs84.geojson
- Campos
numero (= número do EU), geometria (ponto/polígono)
- Chave
numero — usada como índice em quase todas as bases de licenciamento
- Consumidores
- Painel do EU; agregações por setor (
SETOR_NUMEROS) e DI (DIST_NUMEROS); cruzamento com VISTORIAS, PROJETOS_EDIF, PORTAL_LICENC
- Observação
- O EU é a unidade onde "tudo se encontra" no mundo do licenciamento — basta ter o número para puxar todo o histórico de processos
- No menu de camadas
- A camada não aparece mais no menu — o desenho dos EUs sobre o mapa saiu. O dado continua inteiro: é ele que alimenta o painel do EU, a detecção de testada e todo o cruzamento com licenciamento acima
Lotes Fiscais
Unidade fiscal do IPTU/ITBI
Lotes Fiscais (NUMBLOCO)
- Arquivo (geometria)
lotes_4d.geojson (lazy-load — só carrega quando necessário)
- Campo identificador
NUMBLOCO — equivalente ao idLote usado em SDADOS
- Endereços do lote
LOTES_ADDRESS[NUMBLOCO] → lista de {l: logradouro, n: numero}
- Consumidores
- Painel do Lote Fiscal; camadas IPTU/ITBI por lote; "Lotes Vazios"; "Alvarás ativo por lote" e variações; "Área Construída"
- Diferença vs EU
- Um EU pode cobrir múltiplos lotes fiscais e vice-versa; o sistema cruza pelos endereços (
normLogr|num)
Lotes Públicos (próprios)
Imóveis municipais, estaduais e federais dentro do Distrito da Inovação
Lotes Públicos · Municipal / Estadual / Federal
- Arquivo
lotes_proprios_distrito.geojson — 104 lotes (56 municipais, 36 estaduais, 12 federais)
- Origem
- Camada
POAProprios240516_Clip (ArcGIS SMAMUS/PMPA), a mesma usada no projeto distrito4d. Lá as três esferas são três FeatureLayers sobre a mesma URL, separadas por definitionExpression em TIPO_ISENC; aqui viram um só arquivo com a coluna esfera
- Recorte
- Interseção com
Distrito.geojson. Os 104 lotes estão inteiramente dentro do perímetro, então nenhum foi cortado ao meio
- Critério de esfera
TIPO_ISENC contendo MUNICIPAL/PREFEI, ESTADUAL ou FEDERAL — mesmo critério do distrito4d. São imunidades de IPTU
- Chave de junção
numbloco — casa 100% com o NUMBLOCO de lotes_4d.geojson e com os índices de IPTU/ITBI/SDADOS
- No painel
- Clicar num lote público abre o mesmo painel do Lote Fiscal, acrescido do bloco PATRIMÔNIO PÚBLICO (proprietário, esfera, área cadastral, setor/quarteirão). É assim que as informações dos dois projetos aparecem num lugar só
- Regerar
python build_lotes_proprios.py (rebaixa do serviço e refaz o recorte)
- Observação
- O serviço devolve os acentos corrompidos no campo
contribuin; o script normaliza os nomes dos proprietários por de-para
Altura Máxima · Aeródromo
Plano Básico de Zona de Proteção do Aeródromo — quanto um objeto pode se elevar
O que a cota significa
- Unidade
- Altura do objeto acima do nível do solo no local, em metros — não é altitude. A Prefeitura já desconta o terreno, então o número responde direto "quanto pode subir aqui", sem precisar de modelo de elevação
- Origem
- Serviço
01_PUBLICACOES/pbzpa_rampa (SMAMUS/PMPA, mantido pela DMWEB) — raster vetorizado, ~1 milhão de células na cidade, célula mediana de 2,4 m²
- Recorte
- Distrito da Inovação. Restam 4.977 faixas, com cota de 0 a 122 m
- Superfícies
- Aproximação, decolagem, transição, horizontal interna, cônica, ALS1, GS1 e limitadora de interesse público — do Aeroporto Salgado Filho e do Heliponto Hosp. Moinhos
- Sobreposição
- Onde as superfícies dos dois se cruzam, vale a menor cota. É esse mínimo que o painel do lote mostra
- Regerar
python build_pbzpa.py
Como ler
- No mapa
- Grade de consulta de 20 m, com a cota escrita a partir do zoom 16. A cor é degrau, não gradiente: 45 e 46 m são limites distintos e entre duas faixas não existe valor intermediário. As faixas cruas de 1 m chegaram a existir como camada ("Curvas publicadas") e foram retiradas — mostravam a forma do cone, mas não respondiam à pergunta da consulta, e custavam 4 MB de download
- Ponto ↔ célula
- O slider da camada atravessa as duas leituras da grade: no extremo ponto aparecem os centroides — a amostra, onde o valor foi apurado; no extremo célula, os quadrados de 20 m que ela governa. No meio do curso os dois convivem, e é aí que se enxerga a relação entre a amostra e a área que ela representa. A cota escrita acompanha as duas leituras
- Publicado × derivado
- No modo ponto, o anel branco marca a célula cujo centro cai dentro de uma faixa publicada (913 das 6.422); sem anel, o valor veio da faixa mais próxima. O preenchimento da célula é uniforme de propósito — variar a opacidade por procedência fazia cotas iguais aparecerem com brilhos diferentes, e isso se lia como falha de desenho, não como informação
- Cota 0 · a classe vermelha
- Não significa "altura permitida zero". O serviço marca essas feições como
tipo 2, cuja regra é outra: "deve ser submetido à autorização do DECEA novo objeto, ou extensão de objeto, de qualquer natureza, temporária ou permanente, fixa ou móvel" — ou seja, não existe altura livre abaixo da qual se possa construir sem análise. São 164 lotes do Distrito, na Superfície de Transição e no sistema de iluminação de aproximação (ALS1) do Salgado Filho. A plataforma exibia "nenhuma elevação livre", que sugeria proibição em vez de exigência de análise, e foi corrigido
- No painel do lote
- Bloco âmbar abaixo de área e testada, com a cota mínima. Quando o lote é atravessado por mais de uma faixa, mostra "de X a Y m — vale a menor"
- Alcance
- Todos os 2.796 lotes do Distrito têm cota. O índice é montado sobre a grade, não sobre as faixas cruas — se fosse sobre elas, 81% dos lotes ficariam sem valor, porque as rampas cruzam o Distrito em diagonal e o miolo denso cai nos vãos entre elas. Lote fora do Distrito não tem cota aqui, como não tem IPTU nem ITBI: o recorte da plataforma é o mesmo para todos os dados
- Lote sem inscrição
- 623 feições de
lotes_4d compartilham o NUMBLOCO nulo 000000000000 — não é um lote, é o preenchimento de quem não tem inscrição cadastral. O índice trazia uma entrada com essa chave, e o painel de qualquer uma das 623 mostrava a cota de outra. Foi removida: sem identidade não há o que indexar, e o painel se cala. Mesma correção feita em build_redes.py
- Publicada ou próxima
- O aviso do bloco distingue as duas: cota publicada sobre o lote quando alguma célula dele cai dentro de uma faixa, ou cota da faixa mais próxima quando nenhuma incide diretamente
Limite de uso — leia antes de decidir por isto
O valor é orientativo. A própria mensagem do serviço diz "ALTURA MÁXIMA do Objeto aprox. X m" e manda submeter à análise do DECEA acima disso. A plataforma repete esse aviso junto de cada número, e ele não deve ser removido: nenhuma decisão de gabarito se fecha aqui.
A ausência de faixa significa que nenhuma rampa deste serviço alcança o ponto — não é atestado de que não há restrição alguma. Outras limitações (inclusive a superfície horizontal em cotas mais altas e o ruído aeroportuário, camada pbzpa_ruido, não incorporada) seguem valendo.
Patrimônio Cultural
Imóveis com proteção cultural — Tombado e Estruturação
O que é
- Arquivos
Data_distrito/patrimonio_cultural.geojson (220 lotes, 80 KB) e patrimonio_lotes_index.json (215 lotes, 30 KB)
- Origem
- Serviço
Hosted/Lotes_Patrimonio_Cultural_200126 (SMAMUS/PMPA) — um polígono por lote com algum grau de proteção. 3.344 feições na cidade
- Recorte
- Distrito da Inovação. Das 403 feições que caem no envelope, 220 têm o centro dentro do Distrito: 124 na Floresta, 59 no São Geraldo e 37 nos Navegantes
- Regerar
python build_patrimonio.py
As duas classes — e o que ficou de fora
- Tombado
- Bem tombado. Alteração e demolição dependem de anuência do órgão que tombou (município, estado ou União). No Distrito há um: a Igreja São Pedro, na Cristóvão Colombo, tombada pelo município — conferido contra o servidor, não é perda do recorte
- Estruturação
- Imóvel de estruturação: qualquer intervenção na edificação passa por análise da EPAHC. São 219 no Distrito, e é o que a camada de fato desenha
- Entorno de Bem Tombado
- Fora da camada, por decisão de recorte, e é a única coisa que ficou de fora. O serviço traz 776 feições dessa família na cidade e 27 no Distrito, todas de entorno municipal — não há entorno estadual nem federal aqui. Entorno não é imóvel protegido: é a vizinhança de um bem tombado, onde a restrição incide sobre o que se constrói ao redor, não sobre a edificação. Somá-las faria o mapa afirmar que 27 lotes são bens culturais quando não são. No recorte do Distrito o serviço tem 247 feições ao todo: 220 na camada, 27 de entorno
- "com TPC"
- Também não é uma terceira classe. TPC é Transferência de Potencial Construtivo — o instrumento pelo qual o proprietário do bem vende o índice que não pode usar. É atributo do imóvel, não grau de proteção: um "Estruturação com TPC" é um Estruturação que já transferiu. Por isso aparece como textura, não como cor: um contorno tracejado branco sobre a divisa do lote, e um selo TPC no painel. Uma quarta cor na legenda o transformaria num terceiro grau de proteção, que é o que ele não é. São 13 no Distrito — 12 de estruturação e o próprio tombado
Como ler
- No mapa
- Preenchimento translúcido com contorno na cor da classe. O laranja da Estruturação é o do renderer publicado no próprio serviço, para quem conhece o mapa da Prefeitura reconhecer o mesmo desenho. O Tombado saiu do vermelho da origem: vermelho e laranja são vizinhos de matiz, e num mapa em que a Estruturação forma manchas contínuas de 219 lotes o único tombado sumia dentro delas — justamente a feição que mais precisa ser achada. Ficou magenta, cor que não se repete em nenhuma outra camada, com preenchimento mais opaco e contorno o dobro mais grosso
- Filtro por classe
- Os dois sub-itens do menu ligam e desligam cada classe. A legenda acompanha: classe desligada some da lista, para não mandar o leitor procurar no mapa uma cor que não está lá
- Clique
- Continua abrindo o painel do lote, e não um popup próprio. Esta camada qualifica o lote; não o substitui
- No painel do lote
- Bloco laranja logo abaixo da altura máxima, com o grau de proteção, o nome do bem quando cadastrado e o selo TPC quando houver. Ao contrário do bloco do PBZPA, só aparece nos lotes protegidos — 215 dos 2.780. Declarar "sem tombamento" nos outros 2.565 seria ruído em quase todos e, pior, soaria como certidão negativa
Limite de uso
Camada informativa. A situação oficial de proteção de um imóvel, e o que ela permite ou veda, é a que consta na EPAHC/SMAMUS — não a que este mapa desenha.
O casamento polígono→lote é por centro do lote dentro do polígono. Das 220 feições, 10 não encontraram lote correspondente em lotes_4d e não aparecem no painel (seguem desenhadas no mapa). Um mesmo imóvel pode ocupar vários lotes fiscais — os endereços em série no cadastro ("São Carlos, 967, 973, 981, 977") são o sinal disso.
Redes de Saneamento
Esgoto cloacal e pluvial (DMAE) — o que passa na rua, e o que passa por dentro do lote
O que é
- Arquivos
geo/rede_esgoto_distrito.geojson (1.094 trechos, 0,42 MB) e geo/rede_pluvial_distrito.geojson (2.433 trechos, 0,47 MB); mais Data_distrito/redes_lotes_index.json (2.796 lotes, 0,60 MB)
- Origem
- Cadastro do DMAE/PMPA, as duas redes em extensão de cidade inteira: 59.166 trechos de cloacal e 133.428 de pluvial, 159 MB somados. Os brutos ficam em
geo_build/ e não sobem no deploy — o que vai ao ar são os 0,9 MB do recorte
- Recorte
- Distrito da Inovação, com o limite dilatado em ~40 m. Não é folga de segurança: tubo enterrado corre no meio da caixa da via, e o limite do Distrito corre em cima da Av. Farrapos — com recorte justo a rede das vias de borda desapareceria, e todo lote com frente para elas apareceria como não atendido. É o mesmo motivo e o mesmo valor do recorte dos eixos de logradouro
- Regerar
python build_redes.py (requer shapely)
As duas relações com o lote são diferentes — e o painel separa
Rede de saneamento não é como as outras camadas do bloco "O que incide sobre este lote": ela quase nunca está dentro do lote — está na rua, em frente a ele. Tratar as duas situações como uma só perderia a distinção que importa.
- Atravessa o lote
- Ônus real. O tubo cruza o polígono do lote: a faixa de servidão sobre a canalização limita o que se constrói em cima dela, e remanejar a rede é obra por conta do interessado. São 89 lotes na cloacal e 189 na pluvial. Os 49 trechos de pluvial cadastrados em
AreaParticular são exatamente esse caso
- Na testada
- O oposto de um ônus: é disponibilidade de ligação — responde "dá para ligar aqui?". O trecho passa a até 25 m do lote, pela via. São 2.701 lotes na cloacal e 2.678 na pluvial
- Por que 25 m
- É o mesmo limiar da detecção de testada do painel de EU. Se os dois divergissem, o painel diria que a rede está na testada de um lote cuja testada ele não reconhece. Na prática sobra folga: a distância mediana é de 5,4 m na cloacal e 2,4 m na pluvial — a rede está mesmo na frente
- Distância em metros, não em grau
- Um grau de longitude nesta latitude vale 96,5 km e um de latitude vale 110,9 km — 13% de diferença, o bastante para um limiar de 25 m errar por vários metros conforme a direção da rua. A medida roda num plano local em metros
Como ler
- No mapa
- Marrom para a cloacal, ciano para a pluvial — as cores convencionais de saneamento, e as duas estavam livres na paleta. A espessura do traço lê o diâmetro, em três faixas: numa rede, o que distingue um coletor de um tronco é a bitola, e um traço de largura única faria os 2.433 trechos do pluvial parecerem uma malha homogênea quando 1.535 deles são Ø300 e 5 são Ø2000. A partir do zoom 17 cada trecho ganha o rótulo do diâmetro
- No clique
- O trecho, e só o que ele tem: diâmetro, material, extensão, e — na cloacal — sistema, sub-bacia, destino final e declividade. Não há salto daqui para o painel do lote: a rede corre na via, e parear trecho→lote por proximidade daria o lote errado nas esquinas
- No painel do lote
- Duas linhas no bloco "O que incide sobre este lote", uma por rede. Aparecem sempre para lote do Distrito, mesmo sem rede por perto — 2.792 dos 2.796 lotes têm alguma, e nos 4 restantes a ausência é ela própria a informação. Lote de fora do recorte não recebe entrada: a rede ao lado dele foi cortada, e um número medido contra o que sobrou sairia errado
O que o dado não tem
- Profundidade
- Os campos existem na origem e vêm zerados em 100% dos trechos. Não entraram no recorte — campo vazio que parece dado é pior que campo ausente
- Diâmetro da cloacal
- Falta em 413 dos 1.094 trechos (38%). No mapa esses caem na faixa fina, que é onde a maioria dos coletores sem bitola cadastrada de fato está — não na grossa, que sugeriria tronco
- Ano
- Na cloacal,
datainstal é instalação de verdade: 623 trechos, de 1973 a 2015. Na pluvial, datacriaca traz a mesma data (29/12/2021) para 90% da rede — é a carga do cadastro, não a obra, e por isso não vira ano. Só dataimplan entra, e existe em 25 trechos
- Lote sem inscrição
- 623 feições de
lotes_4d compartilham o NUMBLOCO nulo 000000000000 — não é um lote, é o preenchimento de quem não tem inscrição cadastral. Indexá-lo colapsaria as 623 numa entrada só, e o painel de qualquer uma mostraria a rede de outra. Ficam de fora, e o painel se cala sobre elas
- Material e classe
- Ficam com o código da origem (MG, FC, CR, PVC, FoFo, PS2, PA2), sem tradução: não há dicionário publicado no serviço, e um rótulo adivinhado é pior que a sigla
Limite de uso
Camada informativa, de cadastro. Traçado, profundidade e situação operacional oficiais são do DMAE. Não é atestado de atendimento nem de viabilidade de ligação — "há coletor na testada" descreve o cadastro, não a capacidade da rede nem a autorização para se ligar a ela. Para projeto ou ligação, consultar o órgão.
Intervenções Prioritárias
Camadas de projeto do 4º Distrito — em extensão completa, sem recorte
O que são
- Arquivo
Data_distrito/intervencoes_prioritarias.geojson — 50 feições em 4 camadas, geometrias mistas (linha/polígono) num único FeatureCollection, discriminadas pelo campo _camada
- Origem
- Grupo "Intervenções Prioritárias" do projeto distrito4d (
js/camadas-extras.js → layersConfig), serviços ArcGIS da SMAMUS/PMPA. Ids, rótulos e cores foram mantidos
- Recorte
- Nenhum. Ao contrário do resto da plataforma, estas camadas não são cortadas pelo Distrito da Inovação — é justamente o entorno que interessa ler
- Regerar
python build_intervencoes.py
As 4 camadas
- Parque do Porto
- 1 polígono — perímetro do parque. A etiqueta no mapa é o rótulo da camada, não o campo
nome do serviço: ele traz "Área do porto organizado de Porto Alegre", a designação administrativa da área portuária, que aparecia desenhada sobre o polígono. A designação segue no popup
- Corredor Verde
- 1 polígono — eixo de qualificação ambiental
- Caminhos Sustentáveis
- 23 linhas — rotas cicláveis/pedonais por nome de via. É a única das quatro que perpassa o Distrito da Inovação: as rotas seguem para os bairros vizinhos, e é essa conectividade que elas descrevem. A ressalva de escopo aparece ao passar o mouse na linha do menu — as outras três não a recebem, porque não há o que ressalvar nelas
- Urbanismo Tático
- 25 linhas — trechos por tipo de intervenção e rua
- Fora do grupo
- Do grupo original no distrito4d, Áreas Contaminadas e Unidades de Triagem foram retiradas da plataforma. Estações Trensurb e Pontos de Interesse não saíram: viraram camadas de contexto no grupo CAMADAS, como Conectividade e Âncoras do Território
No mapa
- Menu
- Seção INTERVENÇÕES na barra lateral, com toggle-mestre e um por camada
- Simbologia
- O símbolo no menu repete o desenho no mapa: quadrado = área (contorno grosso + preenchimento leve), barra = linha (traço nítido sobre glow; tracejada no Urbanismo Tático). Menu, legenda e mapa saem da mesma configuração
- Clique
- Abre um popup com os atributos da feição. Estas camadas têm prioridade sobre lotes e quadras no clique
- Rótulos
- Áreas a partir do zoom 13 e linhas do 14,5 — escalonado para não poluir
Conectividade e Âncoras do Território
Camadas de contexto no grupo CAMADAS — em extensão completa, sem recorte
Conectividade
- Arquivo
Data_distrito/conectividade.geojson — 9 feições (8 polígonos e 1 ponto)
- O que tem
- As 6 estações Trensurb do eixo norte (São Pedro, Farrapos, Anchieta, Aeroporto), a estação Rodoviária, a Rodoviária de Porto Alegre (3,05 ha) e o perímetro do Aeroporto Salgado Filho (4,20 km²)
- Origem
- As 6 estações do eixo norte: serviço
estacoes_trensurb da SMAMUS/PMPA, o mesmo do projeto distrito4d. Aeroporto, Rodoviária e estação Rodoviária: OpenStreetMap (ODbL) — o município não publica esses perímetros
- Geometrias
- Cada equipamento entra como a fonte o tem. O aeroporto é uma relação multipolygon com 45 trechos abertos, costurados num anel pelo script; a Rodoviária é um way fechado, vira polígono direto; a estação Rodoviária só existe como nó no OSM — não há plataforma nem edificação identificada no local, então entra como ponto, e não como polígono inventado. No mapa ela ganha uma marca circular própria, filtrada por
geometry-type — sem esse filtro, uma camada de círculo desenharia um ponto em cada vértice dos polígonos das outras estações
- Regerar
python build_camadas_extras.py. As respostas do OSM ficam em osm_cache.json, uma chave por elemento: o Overpass público cai com frequência e perímetro de aeroporto e rodoviária não muda de mês para mês. Apagar a chave (ou o arquivo) força rebaixar
Âncoras do Território
- Arquivo
Data_distrito/ancoras_territorio.geojson — 10 pontos
- O que tem
- Equipamentos de referência do 4º Distrito e entorno: MACRS, Vila Flores, Fiateci, Instituto Caldeira, Fábrica do Futuro, NAU, Fly 51, Scala Data Center, Kley Hertz Farmacêutica e 4D Complex House
- Origem
- Camada "Pontos de Interesse" do projeto distrito4d (SMAMUS/PMPA). Os nomes saem como estão no cadastro, em caixa alta;
ANCORAS_NOMES no script guarda o de-para dos que foram renomeados (a sigla "DC/CALDEIRA" virou Instituto Caldeira)
- Acrescentadas
- Scala Data Center (Av. Pernambuco, 1124), Kley Hertz Farmacêutica (R. Comendador Azevedo, 224) e 4D Complex House (R. Alm. Tamandaré, 100) não estão na camada da SMAMUS. Entram pela lista
ANCORAS_EXTRAS como endereço, não como coordenada: o script resolve o endereço em lotes_address_index.json → NUMBLOCO → polígono em lotes_4d.geojson e marca o centro do lote. A âncora cai sobre o lote que o mapa já desenha, e dá para conferir clicando nele
- Número aproximado
- O cadastro fiscal não tem todos os números de porta — a Almirante Tamandaré, por exemplo, salta de 95 para 115. Quando o número exato não existe, o script usa o mais próximo da mesma rua e grava o desvio na propriedade
_aprox da feição, em vez de descartar a âncora. É o caso do 4D Complex House: o nº 100 não consta, e o ponto fica no lote do nº 95, do outro lado da rua e a ~20 m de onde o 100 cairia
- Descartados
- Praça Navegantes e Parque Moinhos de Vento saem da camada (lista
ANCORAS_FORA no script): são áreas verdes, não equipamentos-âncora, e as duas já aparecem em Parques e Praças
- No mapa
- Disco magenta com o símbolo da âncora — o mesmo desenho do ícone no menu. O símbolo é rasterizado em canvas na carga do mapa, sem sprite externo
- Regerar
python build_camadas_extras.py
Por que aqui e não em INTERVENÇÕES
- Motivo
- As duas nasceram no grupo "Intervenções Prioritárias" do distrito4d, mas descrevem o território que já existe — não obras previstas. Ficam em CAMADAS, junto de Bairros, Quadras e Parques
- Recorte
- Nenhum. O aeroporto e metade das estações ficam fora do Distrito da Inovação, e é justamente essa relação de proximidade que interessa ler
- Cores
- Violeta para Conectividade, magenta para as Âncoras — as duas faixas que sobraram livres no grupo
Numeração e Eixos
Camadas auxiliares de visualização
Numeração predial
- Arquivo
numeracao_4d.geojson
- Uso
- Mostra os números dos imóveis sobre o mapa quando o toggle "Numeração" está ativo. Também vincula empresas a lotes: o rótulo do número é desenhado dentro do polígono do lote, então resolve endereços que o lote não tem no cadastro (ex.: R Câncio Gomes 80 → lote 000799060000, cujo único endereço cadastrado é Voluntários da Pátria 2213)
- Índice derivado
Data/numeracao_lote_index.json (rua|número → NUMBLOCO), gerado por gera_proposta_lote_numeracao.py e consumido por build_cnpj_empresas_4d.py. Concordância com o cadastro de endereços do lote: 99,74%
- No painel
- Empresa vinculada assim aparece com ≈ aprox. e a nota "Incluída pela numeração predial da SMF"
Eixos de logradouro
- Arquivo
eixos_4d.geojson (centerlines das ruas)
- Uso
- Exibição da malha viária + detecção de testadas (segmentos de rua adjacentes a um lote) usando turf.js
- Cache
EIXOS_SEGS guarda os segmentos pré-processados para performance
Portal de Licenciamento
Bases do portal_licenciamento — vistorias, cadastro, endereços, processos
São quatro arquivos derivados do Portal de Licenciamento. Os 3 CSVs vêm direto das views do banco; o portal_licenciamento_index.json agrega processos SEI por EU.
vw_vistorias
- Arquivo
Data/portal_licenciamento vw_vistorias.csv CSV
- Índices criados
VISTORIAS[numero] (por EU) e VISTORIAS_BY_PROJ[idprojetoedif]
- Campos relevantes
- numero (EU), idprojetoedif, datavistoria, resultado, observacoes…
- Consumidores
- Histórico de vistorias no painel do EU; estatísticas de habite-se
vw_cadastropredial
- Arquivo
Data/portal_licenciamento vw_cadastropredial.csv CSV
- Índices criados
CADASTRO[LOGRADOURO|numimovel], CADASTRO_HIST (filtrado p/ tipo vistoria), CADASTRO_PROJ (filtrado p/ aprovação/licenciamento/regularização/revalidação)
- Consumidores
- Painel do EU (histórico cadastral); referência cruzada com SDADOS
vw_enderecosexpediente
- Arquivo
Data/portal_licenciamento vw_enderecosexpediente.csv CSV
- Índice criado
ENDERECOS[numero] → lista de endereços associados ao EU
- Consumidores
- Painel do EU mostra todos os endereços; alimenta cruzamentos EU →
normLogr|num → Alvarás/IPTU
portal_licenciamento_index
- Arquivo
Data/portal_licenciamento_index.json JSON
- Índice criado
PORTAL_LICENC[numero] → lista de processos
- Campos
- sei, tipo, grupo, situacao, datacriacao, dataconclusao, resultado
- Consumidores
- Aba PORTAL do Explorar (busca por SEI, filtros por tipo/resultado); painel do EU
projetos_edif_index
- Arquivo
Data/projetos_edif_index.json JSON
- Índice criado
PROJETOS_EDIF[numero] → projetos de edificação por EU
- Campos
- idprojeto, dataprojeto, tipoprojeto, resultado, atividades, areaOcupada, areaConstr, areaPerm, areaTotal
- Consumidores
- Aba PROJ & HAB do Explorar; indicadores "Projetos Aprovados", "Área a Construir", "Habite-se"
SDADOS
Índice mestre que liga endereço → lote → áreas
SDADOS — coluna vertebral do cadastro
- Arquivo
Data/sdados_index.json JSON
- Índice criado
SDADOS[normLogr|num] → {areaConstruida, areaTerreno, idLote}
- Papel
- É a ponte que liga o "mundo do endereço" (
normLogr|num) ao "mundo do lote fiscal" (idLote/NUMBLOCO)
- Consumidores
- Área Construída por lote; agregações de área por quadra (
LOTES_AREA_QTR); ligação com SDADOS_ECONOMIAS (nº de inscrições imobiliárias por lote)
IPTU
Imposto Predial — venal, alíquotas e finalidade
IPTU por lote
- Índice em memória
IPTU_LOTES[NUMBLOCO] → {imp, aliq, venal, venal_t, venal_c, anos, vazio}
- Anos cobertos
- 2021, 2022, 2023, 2024, 2025, 2026 (o último é o exibido por padrão)
- Consumidores
- Camada "Dados por Lote Fiscal" (IPTU); "Dados por Quadra" (agregação); "Venal Terreno/m²" e "Venal Construída/m²" por quadra; painel do Lote Fiscal
Finalidade IPTU
- Índice
IPTU_FINALIDADE[normLogr|num] → lista de DES_FINALIDADE
- Mapeamento
- O dicionário
IPTU_FINALIDADE_ATIV traduz finalidades (ex.: APARTAMENTO, RESIDENCIA ISOLADA…) em "Habitação unifamiliar" / "Habitação multifamiliar"
- Consumidores
- Indicadores "Habitação unifamiliar/multifamiliar por lote"; complementa a contagem de atividades quando não há alvará ativo
ITBI
Imposto sobre transmissão — preço de venda por lote
ITBI por lote e por quadra
- Por lote
ITBI_LOTES[idLote] → {n, media, mediana, anos} — número de transações, média e mediana de R$/m², série anual
- Por quadra/distrito
ITBI_QTR[setor_qtr] e ITBI_QTR["distrito"] → estatísticas agregadas (n, n_m2, media, mediana_m2, série anual)
- Consumidores
- Camadas "Preço/m² por Lote Fiscal" e "Preço/m² por Quadra"; "Nº Transf. por Lote/Quadra"; Dashboard do DI e 4º Distrito (Eco)
Alvarás
Alvarás de funcionamento (T = tipo padrão, LF = lote fiscal)
Índice de Alvarás
- Arquivos
alvaras_index.json + cnpj_status.json + alvaras_cnpj_fill.json
- Índice criado
ALVARAS[normLogr|num] → {t: [alvarás], lf: [alvarás]}
- Campos por alvará
- status (Ativo/Inativo/…), atividade_principal, atividades_secundarias, cnpj, datas
- Status do CNPJ
- Cruzamento adicional com
cnpj_status permite filtrar por situação cadastral RFB
- Consumidores
- "Alvarás ativo por lote/quadra"; "Sem alvarás ativo"; subgrupo "Atividades Alvarás" (Todos/Comércio/Serviço/Indústria); contagem de atividades no Dashboard
Atividades (CNAE+)
Hierarquia e classificação das atividades econômicas
Três índices que trabalham juntos
ATIVIDADESatividades_index.json · "De-Para" — normaliza variações textuais da atividade original para uma forma canônica
ATIVIDADES_TIPOatividades_tipo.json · classifica como R (Residencial) ou NR (Não Residencial)
ATIVIDADES_HIERatividades_hier_index.json · hierarquia em 4 níveis (n1, n2, n3, n4) — usada nos filtros do Explorar e no Dashboard
- Consumidores
- Aba ATIV do Explorar (busca, atalhos, top atividades); contagem de atividades por nível no Dashboard (Top 12); subgrupo "Atividades Alvarás" no Econômico
FIPE-ZAP
Preço médio de imóveis residencial/comercial
FIPE-ZAP latest
- Arquivo
Data/fipezap_latest.json JSON
- Campos
residencial, comercial, dataResidencial, dataComercial (R$/m² médio)
- Consumidores
- Cálculo de VGV Estimado (área × preço FIPE-ZAP); referência de preço nos painéis e dashboards
Indicadores — Urbanismo
Sidebar · seção URBANISMO
| Indicador | Cálculo | Fonte |
| Área Construída | Soma de areaConstruida dos lotes da quadra soma | SDADOS |
| Lotes Vazios por Quadra | Quadra com NUMBLOCOs onde IPTU venal_c = 0 ou sem área construída | IPTU_LOTES + lotes_4d |
| Lotes Vazios | Pintura de lote vazio individual (mesmo critério acima) | IPTU_LOTES + lotes_4d |
| Projetos Aprovados | PROJ_COUNT_BY_OID — projetos com resultado "Aprovado" | PROJETOS_EDIF |
| Proj. sem Habite-se | PROJ_SEM_HABITE_COUNT_BY_OID — aprovados que ainda não têm vistoria de habite-se | PROJETOS_EDIF + VISTORIAS |
| Projetos em andamento | Status do projeto ≠ Aprovado/Indeferido (em tramitação) | PROJETOS_EDIF |
| Área a Construir | Soma de areaConstr de projetos aprovados (com ou sem habite-se) | AREA_PROJ_BY_OID |
| Habite-se emitidos | HABITE_COUNT_BY_OID — vistorias de habite-se concluídas | VISTORIAS |
| Área Habite-se emitidos | Soma de área dos projetos cujo habite-se foi emitido | AREA_HABITE_BY_OID |
| Potencial a Construir | Estimativa de potencial construtivo restante por quadra (regime urbanístico) | Cálculo derivado |
Indicadores — Econômico
Sidebar · seção ECONÔMICO
VGV / Impostos (estimados)
| Indicador | Cálculo |
| VGV Estimado | Área construída × R$/m² FIPE-ZAP (residencial/comercial conforme finalidade) |
| ISS Estimado | Estimativa em cima do VGV de obra (alíquota de construção) |
| ITBI Estimado | VGV × alíquota ITBI municipal |
| IPTU Estimado | Venal × alíquota IPTU |
ITBI (real)
- Preço/m² por Lote Fiscal —
ITBI_LOTES[idLote].mediana (R$/m²)
- Preço/m² por Quadra —
ITBI_QTR[setor_qtr].mediana_m2
- Nº Transferências por Lote/Quadra — contagem
.n
IPTU (real)
- Dados por Quadra / por Lote Fiscal — imposto, alíquota e venal direto de
IPTU_LOTES
- Venal Terreno/m² e Venal Construída/m² por quadra — venal_t/venal_c divididos pelas áreas correspondentes
Valor m² mercado (oferta de venda)
- Preço de mercado R$/m² —
mediana(oferta de venda ÷ área útil) das ofertas de imobiliárias (base imoveis_lotes_4d), por lote/quadra. Mediana é robusta a anúncios com área/preço absurdos.
- Toggle LOTE/QUADRA — no lote, usa a mediana do próprio lote; sem oferta, cai na mediana da quadra (fallback) para dar cobertura visual.
- Índice
M2_MERCADO (m2_mercado_index.json) gerado por build_m2_mercado_index.py. Também no card M² IMOBILIÁRIO da Economia Ativa e no Dashboard (por bairro/setor/distrito).
- Índice
ITBI_M2_BAIRROS (itbi_m2_bairros_index.json) gerado por build_itbi_m2_bairros.py. É o gêmeo transacional do anterior: R$/m² = base de cálculo do ITBI ÷ área privativa, por bairro de POA e por ano (2021→hoje), com recortes dentro do 4D e do DI. Alimenta o toggle FONTE: M² Imobiliário × M² · ITBI na seção Preço de m² de Mercado do Dashboard. Anúncio = preço pedido; ITBI = preço registrado. Traz também o toggle TIPO (Todos · Apartamento · Casa · Não residencial), por whitelist de finalidade_construcao — vaga de estacionamento, terreno e finalidade em branco ficam fora de todos os recortes.
- Ofertas de venda (pinos) — camada de pontos (1 por anúncio,
imoveis_ofertas_4d.geojson), cor por R$/m². Clique abre o anúncio (endereço, preço, área, m², lote). Use para localizar uma oferta específica no mapa.
Atividades
- Atividades Alvarás (Todos/Comércio/Serviço/Indústria) — alvarás ativos filtrados por categoria via hierarquia
ATIVIDADES_HIER
- Alvarás ativo por lote/quadra e Sem alvarás ativo — presença/ausência em
ALVARAS com status Ativo
- Habitação unifamiliar/multifamiliar por lote — via finalidade IPTU mapeada em
IPTU_FINALIDADE_ATIV
- Sem alvarás ativo (não habitação) — combinação: sem alvará ativo + finalidade não residencial
Painéis — clicar no mapa
Cada camada clicável tem seu próprio painel lateral
Ao clicar em uma feature, abre o painel lateral identificado pela faixa colorida. A faixa indica o tipo:
Setor
- Faixa
- Azul ·
p4d-layer-setor - Mostra
- Número do setor + agregações (nº de EUs, nº de quadras, totais)
Distrito
- Faixa
- Amarela ·
p4d-layer-distrito - Mostra
- Resumo do DI + atalho para o Dashboard do DI
Quadra
- Faixa
- Verde ·
p4d-layer-quadra - Mostra
- Setor/QTR, EUs da quadra, agregados (área construída, lotes vazios, alvarás ativos, IPTU/ITBI da quadra)
EU (Expediente Único)
- Faixa
- Rosa ·
p4d-layer-eu - Mostra
- Nº do EU, endereços (vw_enderecosexpediente), histórico de projetos (PROJETOS_EDIF), vistorias (VISTORIAS), processos do portal (PORTAL_LICENC)
Lote Fiscal
- Faixa
- Azul ·
p4d-layer-lote-fiscal - Mostra
- NUMBLOCO, área terreno/construída (SDADOS), endereços (LOTES_ADDRESS), IPTU (IPTU_LOTES), ITBI (ITBI_LOTES), alvarás (via endereços → ALVARAS)
Cotas do lote no mapa
Abrir o painel de um lote — Fiscal, Vazio, Público ou EU — desenha no mapa, em amarelo, o comprimento de cada divisa e a área no centro do polígono. Divisas compartilhadas entre lotes vizinhos recebem um rótulo só, e arestas de menos de 30 cm (resíduo de recorte) são ignoradas.
Quem liga e desliga é o botão de régua, no cabeçalho da seção LOTES da barra lateral, ao lado dos ícones de relatório e de filtro. Aceso (amarelo, a cor dos próprios rótulos) = cada lote aberto desenha as suas cotas; apagado = nenhum desenha. A escolha vale para toda a sessão e o efeito é imediato no lote que já estiver aberto. Fechar o painel, ou abrir um painel que não seja de lote, apaga as cotas do mapa sem mexer no interruptor.
A área vem do cadastro predial (LOTES_SDADOS[nb].areaTerreno), com queda para a AREA do geojson e, por último, para o cálculo pela geometria — que é sempre o caso do EU, sem área cadastral.
Explorar
Painel lateral direito · 3 modos
◉ ATIV — Atividades
- Atalhos rápidos: chips pré-configurados (oficinas, mercados, restaurantes, escolas, indústria)
- Filtrar área: restringe a busca a um setor ou ao DI
- Visualização: pontos no mapa (lotes com a atividade)
- Atividades / Top atividades: seleção por nível da hierarquia
ATIVIDADES_HIER
▢ PORTAL — Portal de Licenciamento
- Filtros por Tipo de Processo e Resultado
- Buscar Nº SEI: localiza um processo direto pelo número
- Lista de Processos: resultado filtrado, com totais e clicáveis no mapa
- Fonte:
PORTAL_LICENC
▤ PROJ & HAB — Projetos e Habite-se
- Toggle PROJETOS vs CARTAS / HABITE-SE
- Filtros: Origem, Resultado, Tipo, Atividade, Status, Área construída, Endereço
- Fonte:
PROJETOS_EDIF + VISTORIAS
Dashboard
Visão consolidada por região (DI e 4º Distrito)
O dashboard agrega todas as fontes em uma única tela para uma região (Distrito da Inovação ou 4º Distrito completo).
Como o dashboard agrega
- Define o conjunto de quadras da região (DI:
DIST_QTR_FEATS; 4D: todas)
- Resolve os NUMBLOCOs dessas quadras via
IPTU_NBS_QTR
- Resolve os EUs (
regionNums) via QTR_MAP ou DIST_NUMEROS
- Agrega IPTU (imp, venal, venal_t, venal_c, série anual), ITBI (n, mediana_m2, série anual), Áreas (terreno/constr de
LOTES_AREA_QTR), Economias (SDADOS_ECONOMIAS)
- Conta atividades por nível: para cada lote, combina alvarás ativos (
ALVARAS) + finalidade IPTU (IPTU_FINALIDADE → IPTU_FINALIDADE_ATIV)
- Top 12 atividades coloridas por categoria (Residencial/Comercial/Serviços/Industrial/Equipamentos/Vago/Outros)
Cuidados de interpretação
- A taxa de ocupação = área construída ÷ área de terreno; pode ultrapassar 100% (verticalização)
- Área geográfica do DI é hard-coded em 2.578.461 m² (vem do polígono)
- O 4º Distrito usa a soma das áreas dos lotes como área de referência (não o polígono total)
- Habitação detectada por finalidade IPTU pode dobrar com alvará residencial — o sistema dedupe via
Set por nível
Temporal e Comparar
Outras visões da topbar
Temporal
Inteligência temporal — reproduz a evolução histórica de uma métrica ao longo dos anos (usando as séries anos de IPTU/ITBI e datas de projetos/habite-se). Possui painel reduzido e modo "Análise" full-screen.
Comparar
Compara territórios (ex.: Setor 5 vs Setor 6) ou períodos (ex.: 2022 vs 2025) lado a lado, reusando os mesmos cálculos do Dashboard.
Insights
Botão na topbar marcado como "soon" — funcionalidade em desenvolvimento.
Área de estudo
Recorte livre desenhado sobre o mapa
Todas as demais análises de lote respondem por unidade administrativa — quadra, bairro, setor — ou pelo enquadramento da tela. Perímetro de projeto não coincide com nenhum deles. A Área de estudo deixa você desenhar o seu e transforma esse polígono no universo das análises de lote.
Como usar
- Ligue o interruptor "Área de estudo" na seção FERRAMENTAS (o cursor vira uma cruz).
- Clique no mapa para marcar os vértices do perímetro.
- Clique no primeiro vértice (ou tecle Enter, ou dê duplo-clique) para fechar o recorte. O modo de desenho se encerra sozinho e o recorte passa a valer.
- Backspace desfaz o último vértice · Esc limpa o traçado em curso (e, sem traçado, sai do modo de desenho) · o ✕ no cartão do mapa apaga o recorte fechado.
O que ele muda
- Cartão de resumo no canto inferior esquerdo: área do recorte, nº de lotes, m² de terreno, m² construídos, aproveitamento (construído ÷ terreno), lotes vazios e valor venal somado. Ele soma as camadas de lote ligadas — é o resumo do que está desenhado no mapa. Sem nenhuma ligada não há o que somar, e o cartão diz isso em vez de exibir zeros. Para a contagem que não depende dos interruptores, abra o painel do recorte (clique na área em hectares): ele conta pelo cadastro inteiro, e por isso os dois números podem divergir — não é erro, são perguntas diferentes.
- Etiqueta de contagem aparece no canto do mapa mostrando
N / total — os lotes do recorte sobre os que estão desenhados na tela.
- Relatório impresso relaciona só os lotes do recorte, e o campo Recorte territorial registra o polígono e a sua área.
- Os filtros de tamanho continuam valendo: recorte e filtro se somam.
Critério de pertencimento
Entra no recorte o lote cujo centro geométrico cai dentro do polígono. Interseção de área seria mais exata em tese, mas devolveria lote pela metade — e não existe meio lote num relatório: ou ele entra na conta de área, ou não entra. Pelo centro, a regra se confere a olho no mapa.
Limites
- O universo continua sendo o que está carregado: os lotes fiscais vêm por viewport, a partir do zoom 13. Um recorte maior que a tela só conta o que já foi desenhado — aproxime e percorra a área, ou desenhe dentro de um enquadramento que a contenha.
- O resumo deduplica por NUMBLOCO: com Lotes Fiscais e Lotes Vazios ligados juntos, o mesmo terreno não é contado duas vezes (o contador do mapa, esse sim, mostra a linha de cada camada).
- Lote sem registro de IPTU não entra no valor venal nem na contagem de vazios; o cartão informa quantos são.
- O recorte não é salvo: recarregar a página começa do zero.
Medir distância e área
Régua interativa sobre o mapa
Ferramenta de medição no estilo do Google Maps. Fica na seção FERRAMENTAS da barra lateral, como o interruptor "Medir distância e área". Ligue-o para entrar no modo de medição (o cursor vira uma cruz); desligue para sair e limpar.
Como usar
- Clicar no mapa adiciona pontos; cada trecho mostra seu comprimento no meio, e um balão perto do cursor mostra o total acumulado ao vivo.
- Fechar a área: clique de volta no 1º ponto — o polígono fecha e passa a exibir a área (no centro) além do perímetro.
- Encerrar como linha (sem área): duplo-clique ou Enter.
- Desfazer o último ponto: Backspace ou clique direito.
- Limpar: Esc ou Delete (continua no modo, pronto para nova medição).
Unidades
Automáticas, em português: comprimento em m até 1.000 e km acima; área em m² até 10.000 e hectares (ha) acima. Os cálculos são geodésicos (Turf.js) sobre as coordenadas do mapa.
Observações
- Enquanto o modo está ligado, clicar no mapa não abre o painel de lote/setor — os cliques servem só para medir. Desligue para voltar a clicar nos lotes.
- A medição é uma ferramenta visual; não altera filtros nem dados.
FAQ & Glossário
Dúvidas frequentes
Por que o EU é tão importante?
O Expediente Único é o identificador estável do imóvel no Portal de Licenciamento. Praticamente todas as bases tributárias e de processos podem ser puxadas a partir do numero do EU — é a chave que conecta o mundo geográfico ao mundo dos processos.
Qual a diferença entre EU e Lote Fiscal?
Um Lote Fiscal (NUMBLOCO) é a unidade do IPTU/ITBI; um EU é a unidade do licenciamento. Um EU pode abranger múltiplos lotes (caso de unificação de matrículas) e vice-versa. O sistema cruza pelos endereços comuns (normLogr|num).
Por que existem 3 índices de atividades?
ATIVIDADES — normaliza variações textuais (e.g. "OFICINA MECÂNICA" e "OFIC. MECÂNICA" → mesma chave)
ATIVIDADES_TIPO — classifica em R/NR para os filtros rápidos
ATIVIDADES_HIER — hierarquia em 4 níveis para drill-down nos dashboards e filtros
Os dados estão atualizados?
Os arquivos GeoJSON e JSON sob Data/ são exportações estáticas. Para atualizar, é preciso regerar os índices e substituir os arquivos. Não há sync automático com nenhum banco em produção.
O que é normalização de logradouro (normLogr)?
Função do código que: remove acentos, expande abreviações comuns (AV → AVENIDA, R → RUA, …), converte para maiúsculas e remove espaços extras. Garante que o mesmo endereço escrito de formas ligeiramente diferentes nas várias bases produza a mesma chave.
O que é "Distrito Inovação = Sim"?
Propriedade calculada no arquivo de quadras (quarteiroes_com_setor_distrito_wgs84.geojson) indicando se a quadra está dentro do polígono do DI. Usada para filtrar agregações que só interessam ao DI.