You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Apesar de ser um conversão simples da coluna de postalCode_ranges, o prefixo será o dado padronizado utilizado com mais frequência nas aplicações simples e por projetos como OSMBrasil/CRP ou CLP.
PS: esta é uma demanda também na Wikidata, que idealmente deveria apresentar uma "máscara de CEP" baseada no prefixo. Assim ao invés de P281 os municípios brasileiros seriam marcados pela máscara. Por exemplo São Luiz do Paraitinga/SP (Q1646919) tem indicado apenas o CEP inicial 12140-000 mas o correto seria o prefixo, 121**-*** (ou 121[456].-...) relativo ao intervalo [12140-000 12169-999].
A remoção do prefixo ajuda a dar uma ordem de grandeza do número de vias de uma cidade, e para o número de dígitos necessários para se endereçar diretamente as vias.
Municípios pequenos como Abadia de Goiás/GO com CEPs [75345-000 75349-999] (portanto prefixo 7534) e Acaiaca/MG com CEPs [35438-000 35438-999] (portanto prefixo 35438), podem ter o código de rua integralmente baseado no CEP, e reduzido a no máximo 5 e 3 dígitos respectivamente. Na maioria dos casos, como a convenção de "código de via baseado em CEP" é relativa ao menor CEP atribuído à via (em estudo a convenção de removendo-se os zeros da direita), o número de dígitos pode ser ainda menor.
Nas maiores cidades os prefixos são menores devido ao adensamento maior (São Paulo por exemplo tem prefixo de tamanho 1). São por volta de 90 municípios com prefixo de "tamanho 2 ou 1". Todos os demais ~5460 apresentam em média prefixo tamanho 4, levando portanto a códigos de via urbana de 4 dígitos (8-4), comprovando a sua viabilidade como "código opcional oficial da via municipal" no projeto CLP.
CREATEVIEWcitybr_poprefixASSELECT state, "lexLabel",
extract_common_prefix(x[1],x[2]) cep_prefix,
(x[2]::bigint-x[1]::bigint)::intas cep_diff,
"postalCode_ranges"FROM (
SELECT state, "lexLabel", "postalCode_ranges",
regexp_split_to_array( regexp_replace("postalCode_ranges",'[\[\]\-]','','g') , '') x
FROM citybr where not("postalCode_ranges"like'%] [%'or"postalCode_ranges" is null)
) t
;
SELECTavg(length(cep_prefix)) as tamed, stddev_pop(length(cep_prefix)) as tamed_err,
avg(cep_diff) as avgdiff, stddev_pop(cep_diff) as avgdiff_err,
count(*) as n
FROM citybr_poprefix WHERE length(cep_prefix)>2;
-- 3.9 | 0.4 | ...| 5461
Mais precisamente 4652 apresentam tamanho 4 ou 5. PS: nestes a média da cep_diff é de ~5640 ± 3200, ou seja, foram reservados de 2400 a 9000 CEPs para a grande maioria dos municípios brasileiros (mesmo as exceções ficam entre min. 499 e máx. 9999). O número de códigos será da ordem de 1/10 ou menos que isso (pode-se confirmar também por amostragem no OpenStreetMap).
Exemplos:
state
lexLabel
cep_prefix
postalCode_ranges
GO
abadia.goias
7534
[75345-000 75349-999]
MG
abadia.dourados
3854
[38540-000 38549-999]
GO
abadiania
729
[72940-000 72959-999]
...
...
...
...
BA
alagoinhas
48
[48000-001 48107-999]
PA
ananindeua
67
[67000-001 67199-999]
SP
bauru
17
[17000-001 17119-999]
MG
belo.horizonte
3
[30000-001 31999-999]
...
...
...
...
The text was updated successfully, but these errors were encountered:
Apesar de ser um conversão simples da coluna de
postalCode_ranges
, o prefixo será o dado padronizado utilizado com mais frequência nas aplicações simples e por projetos como OSMBrasil/CRP ou CLP.PS: esta é uma demanda também na Wikidata, que idealmente deveria apresentar uma "máscara de CEP" baseada no prefixo. Assim ao invés de P281 os municípios brasileiros seriam marcados pela máscara. Por exemplo São Luiz do Paraitinga/SP (Q1646919) tem indicado apenas o CEP inicial
12140-000
mas o correto seria o prefixo,121**-***
(ou121[456].-...
) relativo ao intervalo[12140-000 12169-999]
.A remoção do prefixo ajuda a dar uma ordem de grandeza do número de vias de uma cidade, e para o número de dígitos necessários para se endereçar diretamente as vias.
Municípios pequenos como Abadia de Goiás/GO com CEPs
[75345-000 75349-999]
(portanto prefixo7534
) e Acaiaca/MG com CEPs[35438-000 35438-999]
(portanto prefixo35438
), podem ter o código de rua integralmente baseado no CEP, e reduzido a no máximo 5 e 3 dígitos respectivamente. Na maioria dos casos, como a convenção de "código de via baseado em CEP" é relativa ao menor CEP atribuído à via (em estudo a convenção de removendo-se os zeros da direita), o número de dígitos pode ser ainda menor.Nas maiores cidades os prefixos são menores devido ao adensamento maior (São Paulo por exemplo tem prefixo de tamanho 1). São por volta de 90 municípios com prefixo de "tamanho 2 ou 1". Todos os demais ~5460 apresentam em média prefixo tamanho 4, levando portanto a códigos de via urbana de 4 dígitos (8-4), comprovando a sua viabilidade como "código opcional oficial da via municipal" no projeto CLP.
Mais precisamente 4652 apresentam tamanho 4 ou 5.
PS: nestes a média da
cep_diff
é de ~5640 ± 3200, ou seja, foram reservados de 2400 a 9000 CEPs para a grande maioria dos municípios brasileiros (mesmo as exceções ficam entre min. 499 e máx. 9999). O número de códigos será da ordem de 1/10 ou menos que isso (pode-se confirmar também por amostragem no OpenStreetMap).Exemplos:
The text was updated successfully, but these errors were encountered: