osm-codes / co_new Goto Github PK
View Code? Open in Web Editor NEWColombian Hierarchical Grid
License: Apache License 2.0
Colombian Hierarchical Grid
License: Apache License 2.0
En la secion sobre Proyección adoptada ilustramos la "Caja de cuadrícula", pero no es una proposta final. Es necesario refinar: pendente definir los parametros de la caja:
(x0,y0)
de la caja.los valores son relativamente arbitrarios, se pueden redondear.
La imagen actual es incorrecta, es solo un boceto ilustrativo. Aquí vamos a definir mejor.
Os municípios Colombianos a seguir não constam na base de dados e, assim, não estão cobertos.
Muzo: https://www.wikidata.org/wiki/Q1431785
Marapí: https://www.wikidata.org/wiki/Q1574705
San Pablo de Borbur: https://www.wikidata.org/wiki/Q1575910
Motivo provável: dado ruim no OpenStreetMap na época da importação. Hoje, parecem estar com as geometrias corretas.
Próxima atualização trará esses dados.
A area https://www.openstreetmap.org/relation/1554330 não está coberta. Não pertence a nenhum município.
Ilhas não estão cobertas. Verificações em https://wiki.addressforall.org/doc/dg_talk:Stable#Bugs_de_2023-06 podem determinar qual o identificador da relação no OpenStreetMap.
A fonte tipográfica utilizada nas placas de carro do Mercosul, FE-Schrift, é comprovadamente mais legível (para humanos e computadores), evitando ambiguidade entre letras. Quando se tratar de geocódigo misto (p. ex. CO-MAG-SantaMaria~3T6L-L1K
), usar, como na placa, o prefixo nominal (CO-MAG-SantaMaria) com tamanho de fonte menor (de 50% a 75%).
Abaixo a comparação do uso da fonte apenas no final do geocódigo, e no geocódigo inteiro, com ou sem ponto de separação — tendo em vista que a fonte não oferece representação de letras minúsculas.
Em mapas ou interfaces de apresentação de pontos pode-se adotar a expressão sem o "~", em duas linhas:
Em placas de numeração predial, onde o contexto é certo e conhecido, pode-se omitir o contexto ou fazer uso do geocódigo absoluto, por exemplo BR~123-XY234Z
.
Todos os símbolos (glifos) da fonte e seu uso típico nas placas de automóveis do Mercosul:
Exemplo https://osm.codes/CO-ANT-Itagui-O deceria retonar a célula Oeste recortada por Itagui.
Considerando apenas parte continental:
Imagem mostrando grid, com células que compõem a cobertura em 512 kim sendo destacadas.
A referencia do canto inferior esquerdo é 4200000,970000:
Imagem mostrando a cobertura L0 exibindo o código da célula em base16h. A ordem atribuída foi de cima para baixo e da esquerda para direita:
Imagem mostrando as distâncias mínimas e aproximadas entre a jurisdição e os lados mais externos das células que compõem a cobertura:
O código utilizado para gerar view foi:
DROP SCHEMA IF EXISTS newgridco CASCADE;
CREATE SCHEMA newgridco;
DROP VIEW newgridco.jurisd;
CREATE VIEW newgridco.jurisd AS
SELECT *
FROM optim.vw01full_jurisdiction_geom g
WHERE isolabel_ext = 'CO'
;
-- matriz retangular com 3 colunas e 4 linhas.
-- referencia: canto inferior esquerdo,
-- nível: l0 524288 metros
DROP VIEW IF EXISTS newgridco.grid_co CASCADE;
CREATE VIEW newgridco.grid_co AS
SELECT lpad((j*10+i)::text,2,'0') AS ij,
(j*10+i) AS ij_int,
osmc.ij_to_geom(i,j,4200000,970000,524288,9377) as geom
FROM generate_series(0,3) as j, generate_series(0,2) as i
;
DROP VIEW IF EXISTS newgridco.L0cover_cell512km_new;
CREATE VIEW newgridco.L0cover_cell512km_new AS
SELECT gid,
ij,
ij_int,
lower(vbit_to_baseh(gid::bit(4),16,0)) AS base16h,
geom
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY ij_int/10 DESC, ij_int%10 ASC) as gid,
ij,
ij_int,
geom
FROM newgridco.grid_co
WHERE ST_Intersects(geom, (SELECT ST_Transform(geom,9377) FROM newgridco.jurisd WHERE isolabel_ext='CO') )
) r
;
As imagens foram geradas a partir do software QGIS. Este pequeno guia mostra como visualizar no QGIS um POSTGIS remoto. O schema utilizado para gerar essa nova cobertura foi newgridco
na base dl03t_main
.
Issues e wiki's relacionadas ao assunto:
O geocódigo ISO CO-DC
precisa ser implementado como sinônimo de CO-DC-Bogota
(canônico) ... Ou o inverso já que DC é mais curto e igualmente oficial.
Os códigos postais e mais populares são base32, já temos por exemplo CO~12345
como geocódigo absoluto da Colômbia. Para se ter acesso a todos os níveis da grade, necessário em aplicações estatísticas e científicas, é oferecida também a base 16h.
Sintaxe: CO+12345
O nível zero da base 16h fará uso de 2 dígitos, representando as coordenadas ij da matriz de células e conforme ordem dos eixos no sistema de coordenadas da projeção.
Notas
Apenas explicar na documentação que o buffer do mar territorial pode variar de largura, de modo que a remoção do pequeno trecho não é significativa. E, principalmente, é "alto mar", não compromete a demarcação nem a fronteira com outros países. Abaixo a ilustração com rótulos base32 das células vizinhas da lacuna.
Está pendente trazer as abreviações da Colômbia e publicar a lista de-para dessas abreviações a cada departamento.
Uma vez legitimadas as abreviações, elas podem ser tratadas como "oficiais do código postal". Assim as referências em nome seriam sempre reduzidas na URL a referências em abreviação.
Quanto ao so do hifem , "-", no lugar de "~", atualmente podemos referenciar cidades através do nome, por exemplo CO-RIS-Dosquebradas-15NTJ ou através de DIVIPOLA (jurisd_local_id), CO-66170-15NTJ, e ambos retornam o canônico (com "~").
Demonstrar cada uma das vantagens
Para que o algoritmo das vizinhanças funcione, é necessário que a maior parte delas sejam naturais da curva Z, demandando um menor número possível de correções pelo algoritmo de direção baseado em string. Sugestão centrando no "9" atual:
A escolha só precisa ser consistente na base32... Ideal centrar em S
conforme ilustrado abaixo,
... Mas aqui repetimos outro erro, que é a alternancia entre grades par e impar com relação ao número de dígitos:
Caso geral previsto e documentado no projeto WS, ver:
O código base32 absoluto causa grande confusão pela mudança de dígito na indexação. Na popup do exemplo, CO-RIS-Dosquebradas~15NTJ, melhor expressar:
RIS-Dosquebradas
15NTJ
A visão do código absoluto só é util como "evidência de teste" para comprovar que mudanças territoriais não afetariam a geocodificação, exceto seus prefixos nas zonas impactadas por mudança. Precisa aparecer na interface apenas quando solicitada.
Nas explicações precisaria de destaque, 15NTJ
na verdade tem 1
como "cover-index code" e 5NTJ
como "base32 location suffix". Só este último que não corre risco de sofrer impacto nas mudanças territoriais.
The X
quadrant of coverage is the top candidate for removal, in a good example of how minor tweaks can lead to big gains.
By shifting the grid downwards, we would leave out one end of the C
quadrant:
The limit for the maneuver (shifting) is a little more than ~10 km.
Conclusion:
X
quadrant, shifting ~1 km.T
quadrant, if it is possible to shift more, something from ~10 km to ~20 km.Y
quadrant will remain.We can assume that the limit is 15 km on C
quadrant:
The T
quadrant, and the ~20 km of "leak": seems that will be not possible to remove this quadrant,
At Y
quadrant, ~30 km of "leak":
Click the image to check the values (must round to the integer part). The red box shows the general limits — from which we can also calculate the height and width.
Right and left sides:
5
and 8
are tight, but the sea has no address to be represented by the grid-cells, and no "political border conflict".S
quadrant has a good distance-gap, ~30 km.¿El "Sistema de Proyección Único para Colombia" también es un estándar internacional?
Por ejemplo, EPSG:3115 seems not parece que no, pero confirmes aquí Luis que no existe.
Si no existe: defina un SRID pseudoestándar en esta biblioteca pública,
https://github.com/AddressForAll/pg_pubLib-v1/blob/main/src/pubLib05pgis-extraSRID.sql
(original English deprecated)
The "Sistema de Proyección Único para Colombia" is also an international standard?
For example EPSG:3115 seems not, but please confirm here that it not exists.
If not exists: please define a pseudo-standard SRID at this public library,
https://github.com/AddressForAll/pg_pubLib-v1/blob/main/src/pubLib05pgis-extraSRID.sql
The GRS80 was adoted by IGAC and implemented in our code as the "official near-equal-area projection of Colombia"... But, as commentd at Wikipedia,
The GRS 80 reference system was originally used by the WGS 84. The reference ellipsoid of WGS 84 now differs slightly due to later refinements.
So, please check with Colômbia (IGAC or other) if some plans to change from the old GRS80 to the modern and most popular WGS84.
Inicialmente, coberturas foram definidas em base32.
Ajustar o necessário para base16h ser utilizada. No processo, lembrar da existência de fantasmas.
Ver diretivas gerais do OSM.CODES
em osm-codes/WS#12
A orientação ao contexto já é uma diretiva... Então enfatizar o código indexado será o mais natural a fazer na interface.
Por exemplo em http://osm.codes/CO-ANT-Medellin no modo "with cover" ao invés de mostrar rótulos de grade absoluta,
mostrar já os rótulos de 1 dígito da indexação. Queremos enfatizar o município, o usuário não quer saber de nada fora do município quando o escopo é o geocódigo postal (base32).
8VR
usar 2
ou ~2
9K2
usar 8
ou ~8
9K0
usar 6
... etcAlias todos os rótulos de geocódigo postal podem ser ~XX
e só quando clica aparece CO-ANT-Medellin~XX
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.