osmc:Convenções/Identificadores inteligentes: mudanças entre as edições
Sem resumo de edição |
m (→ID de endereço) |
||
Linha 75: | Linha 75: | ||
Existem duas situações para o batismo do endereço com seu ID: | Existem duas situações para o batismo do endereço com seu ID: | ||
# Quando são exigidos previamente os lotes dos endereços: o identificador de lote é usado como referência, e os endereços são | # Quando são exigidos previamente os lotes dos endereços: o identificador de lote é usado como referência, e os '''endereços são contadores dentro do lote'''. Isso dá liberdade para se reposicionar pontos de endereço, por exemplo para as proximidades da rua. | ||
# Quando os lotes são desconhecidos ou um ID posicional é exigido: .. | # Quando os lotes são desconhecidos ou um ID posicional é exigido: os endereços são pontos exatos. Há o risco de se mover os pontos, por exemplo para mais próximos da via (testada de lote). Nesse caso o ID é | ||
A situação-1 é recomendada no caso de meio urbano. | A situação-1 é recomendada no caso de meio urbano. |
Edição das 15h20min de 17 de outubro de 2023
Identificadores inteligentes, de vias, lotes, etc. possuem as seguintes características:
- auto-confirmáveis: dado o ID o usuário consegue confirmar no mapa a sua veracidade.
- parcial ou totalmente independentes de uma autoridade central: não precisa ser o ID oficial, basta que seja um ID válido de 64 bits e que tenha uma expressão simples para o usuário humano.
Outros elementos da metodologia:
- os IDs públicos (ou nomes oficial e praticado) são associados depois.
- a primeira associação é com ID do objeto OSM, depois a partir do OSM confirma-se o ID (nomenclatura) oficial.
- a dinâmica natural (ex. terremotos deslocam objetos originais dos pontos) e urbana (novas vias, desmembramento de terrenos, etc.) é gerenciável e estável.
ID de via
O ID de via pode ser apenas interno ao banco de dados, para controle de segmentos sem compromisso com o controle OSM.
No caso de vias rurais, entretanto, é importante que seja legível ao humano, pois vias carecem de identificação pública consensual. Seria uma forma "oficial temporária" para se identificar as vias em seu contexto".
Passo a passo para se identificar uma via através de seus atributos de localização:
- Confirmar por algoritmo topologico e rótulos OSM quais os segmentos que compõe a via. Se for descontínua (ex. rua quebrada por uma praça) pode receber dois IDs, um para cada parte contínua.
PS: avaliar se vale criar relations para unir segmentos dispersos no OSM. As rotas (ex. BR-116) não devem ser confundidas com vias e seu nome/administração dentro do município. - Escolher um ponto sobre a via como referência de ponto único, mais central e livre de cruzamentos. De preferência com alguma referência geográfica.
- Obter o AFAcode desse ponto
- Entre as diversas vias assim identificadas, estabelecer o número de dígitos mínimos para que sejam distintas no escopo do município.
Exemplo: no ponto sobre via, BR-SP-SaoPaulo~28338U e suas vizinhanças (Marsilac).
- Passos 1 e 2: 28338U, 2832FR (F. Belmonte), 283260Y (sobre a ponte), 281QZBC (Carvoeiro), 2832PBP, 2839LZG (travessa M.M.Araújo)
- Passo 3: 28338, 2832F, 28326, 281QZ, 2832P, 2839L;
ou 2833, 2832F, 28326, 281Q, 2832P, 2839.
(em Geo URIgeo:idvia:BR-SP-SPA-28338
,geo:idvia:BR-SP-SPA-2832F
, etc.)
Ou seja, com código do município mais 25 bits (5 dígitos) conseguimos definir identificadores de via rural que levam a um ponto dentro da via.
PS1: pode-se reiniciar a escolha de pontos quando muito próximos entre si, gerando códigos muito longos.
Por exemplo as células 28380 e 281RZ estão sobre a mesma via, porém apresentam prefixos mais distintos, descartamos 281RZ por ser parecido com o pequeno vizinho 281RX. Vias curtas possuem preferência por terem menos opções.
PS2: depois da escolha do número de dígitos, pode-se recorrer à "estabilidade", conferindo as células que cobrem maior extensão de via, e descartando aquelas com extensão muito baixa.
PS3: reparar que o ID interno pode ser mais preciso (tipicamente 5m) do que o ID público, para reduzir o risco de ambiguidade futura, ao acrescentarem-se vias vizinhas. Há um balanço entre discernimento (distinguir das vias vizinhas) e estabilidade (a via pode ser editada e mudar ligeiramente de posição).
Questões da dinâmica do crescimento urbano:
- o segmento utilizado no batismo pode vir a ser abandonado (trecho de via sem manutenção), demandando refazer a identificação em caso de ambiguidade com vizinhança.
- um mesmo segmento de via pode vir a ser particionado por nomes oficiais distintos. Nesse caso o ID existente fica para um dos nomes e o outro requer novo ponto para referência do seu ID.
Algoritmos
Algoritmo de recuperação do segmento a partir do ID: o polígono da célula serve de seletor de segmento. Se por acaso retornar mais de uma via, calcular aquela que possui maior extensão na interseção com a célula.
Algoritmo de eleição do ID: segue a metodologia descrita acima, requer supervisão humana em diversos casos, para maior estabilidade do ID, ou para simples definição de escopo (ex. bairro).
ID de lote
Todo lote é um polígono, que pode ser referenciado por um ponto qualquer no seu interior, tipicamente um ponto central, por ter baixa incerteza (nas proximidades das bordas a incerteza é maior). Outra forma de minimizar incerteza é adotar centros ou pontos sobre construções (building), em geral mais estáveis que o terreno livre (mais sujeito a desmembramentos e aquisição de vizinhos).
Passo a passo para se identificar um lote através de seus atributos de localização:
- Usar ST_PointOnSurface, confirmando se dentro de certo
ST_Buffer(ST_GeometricMedian)
. Se não for, usar um buffer maior (com diâmetro característico da área) e sua interseção com o polígono, para garantir estabilidade do ponto. O processo, a princípio, dá conta de lotes com buracos, mas não é garantido em lotes descontínuos — ideal nesse caso identificar cada parte como lote independente. - Obter o AFAcode desse ponto, com precisão de 1m.
Em geral o lote já foi modelado por uma subpavimentação de resolução compatível com a área ocupada (tipicamente cobrindo 90% ou mais da área do lote), viabilizando a escolha de um ID público mais curto e estável. Neste caso temos outra metodologia, mais simples e eficiente:
- Obter comprimento mínimo do conjunto dos IDs de cobertura interna do lote.
- Se houver apenas um, usar ele; se houver mais de um, eleger o mais próximo do ponto ST_GeometricMedian.
Outras situações:
- Desmembramento de lote: a parte que ficou com o centroide do ID herda o ID, a outra será submetida ao algoritmo de batismo.
- União de lotes: preserva-se o de maior área, ou, em caso de áreas iguais, o de ID mais baixo.
- Deslocamento de lote: seja por falha no mapeamento (ex. revisão de divisas) ou natural (ex. terremoto), o ID pode ser mantido se ainda tiver seu centroide e 75% (ou mais) de sua área dentro do lote revisado. Há que se estudar o impacto disso, mas ideal rebatizar com resolução maior para manter-se como célula interior.
Caso o centroide caia fora porém com mais um dígito caia dentro, vale avaliar política de cadastro que aceite essa mudança de precisão.
Algoritmos
Algoritmo de recuperação do lote a partir do ID, antes de ser batizado: o ponto central da célula ID serve de seletor de polígino.
Algoritmo de eleição do ID: segue a metodologia descrita acima, sem necessidade de supervisão humana, exceto em caso (em geral inválido) de multipolígono.
ID de endereço
Todo endereço horizontal é relativo a um lote e a uma via. Deve ser representado por um ponto interior ao lote e próximo da via.
Existem duas situações para o batismo do endereço com seu ID:
- Quando são exigidos previamente os lotes dos endereços: o identificador de lote é usado como referência, e os endereços são contadores dentro do lote. Isso dá liberdade para se reposicionar pontos de endereço, por exemplo para as proximidades da rua.
- Quando os lotes são desconhecidos ou um ID posicional é exigido: os endereços são pontos exatos. Há o risco de se mover os pontos, por exemplo para mais próximos da via (testada de lote). Nesse caso o ID é
A situação-1 é recomendada no caso de meio urbano.
ID de rio
Hidrovias, córregos e rios podem receber IDs, de forma análoga às vias...