Ref-list/convert/KrJeBo2020

De Documentação

Poster e Artigo curto. Passar para Geo URI estendida

POSTER

Aplicativos e navegadores Web (web browsers) recuperam páginas e outras informações provenientes de um endereço de IP na rede, através de protocolos tais como o HTTP. Mas o número de IP, com seus 12 ou mais dígitos, apesar de ter sido utilizado por humanos nos primórdios da Internet, é horroroso. Hoje a interação humanos-Web é quase que integralmente mediada pelo nome de domínio, muito mais amigável e mnemônico. Analogamente, e dentro do mesmo ecossistema de normas da internet (RFC), o protocolo GeoURI, ainda pouco popular apesar dos seus 10 anos de idade, opera com um código difícil de se lembrar, que é o par numérico de latitude e longitude. A localização GeoURI do Marco Zero da Cidade de São Paulo, por exemplo, é determinada por “geo:-23.550385,-46.633956”. São 16 dígitos numéricos e 21 caracteres ao todo para serem lembrados.

Sintaxe de uma localização expressa por Geo URI

  • Sintaxe simples: geo:x,y
    Exemplo: geo:-23.5504,-46.634
  • Sintaxe com incerteza i: geo:x,y;u=i
    Exemplo: geo:-23.55,-46.63;u=15

Aplicações típicas, tais como a localização de endereços postais, operam de forma satisfatória com a incerteza de 5 a 50 metros. No segundo exemplo, a incerteza eh explicita, de 15 metros: suficiente para o destino do passageiro de um táxi.

Problemas com a GeoURI

  • Latitude e longitude é ruim e difícil de lembrar:
    • são dois valores (bom seria um só);
    • cada valor muito longo!
  • A incerteza é um parâmetro a mais.
  • Não oferece opção para geocódigos.

Apesar de estável e com mais de 10 anos de idade, o protocolo GeoURI tem sido uma inspiracao mas nao foi amplamente adotado. Um dos motivos eh que o usuário final humano prefere geocódigos curtos e mnemônicos.

Geocódigos são o meio mais curto, hierárquico e mnemônico de expressar localização

  • Geocódigos do padrão Geohash são hierárquicos:
    6 ⊃ 6g ⊃ 6gy ⊃ 6gyc ⊃ 6gyce ⊃ 6gycex
  • No padrão OLC (do PlusCodes) apenas o final:
    588MC8QV ⊃ 588MC8QV+C ⊃ 588MC8QV+CJ
    depois a cada dois digitos:
    58 ⊃ 588M ⊃ 588MC8 ⊃ 588MC8QV

Geocodigos abertos (licenca CC0 por exemplo) contemplam multiplas finalidades. Quando hierarquicos agregam inteligencia e simplicidade.

Proposta de expansão para incluir geocódigos soberanos

  • Sintaxe com jurisdição j: geo:j~g
    Exemplos: geo:BR-SP-ITU~7e;   geo:BR-SP-SPA~cdx5;   geo:IE~W23.F854.
  • Sintaxe com tipo t: geo:t:g
    Exemplos: geo:ghs:6gycdx;   geo:olc:588MC8QV+C.

A primeira opção é baseada no código ISO de 2 letras do pais. A Irlanda (IE) definiu, oficial e soberanamente, seu geocódigo. Outros paises poderiam ainda adotar o ISO de subdivisão, como o ISO 3166-2:BR. São códigos mnemônicos bem conhecidos, ensinados nas escolas (ex. BR-AM é Estado do Amazonas).

A autonomia de cada pais, a liberdade de uso e a hierarquia são as principais diretivas

...

Com geocódigos hierárquicos é possível definir a sintaxe de reuso

...



ARTIGO

  • Proposta do Brasil para o mundo: Expansão do protocolo GeoURI (RFC 5870 da internet) visando a interoperabilidade de geocódigos nacionais soberanos
  • PETER DE PADUA KRAUSS 1
  • THIERRY JEAN 1
  • EVERTON BORTOLINI 2
  • 1 AddressForAll, São Paulo - SP | thierry@addressForAll.org
  • 2 Universidade Federal do Paraná, Curitiba - PR | evertonbertanbortolini@gmail.com


Aplicativos e navegadores Web (web browsers) recuperam páginas e outras informações provenientes de um endereço de IP na rede, através de protocolos tais como o HTTP. Mas o número de IP, com seus 12 ou mais dígitos, apesar de ter sido utilizado por humanos nos primórdios da Internet, é horroroso. Hoje a interação humano-Web é quase que integralmente mediada pelo nome de domínio, muito mais amigável e mnemônico. Analogamente, e dentro do mesmo ecossistema de normas da internet, o protocolo GeoURI [1], ainda pouco popular apesar dos seus 10 anos de idade, opera com um código difícil de se lembrar, que é o par numérico de latitude e longitude. A localização GeoURI do Marco Zero da Cidade de São Paulo, por exemplo, é determinada por “geo:-23.550385,-46.633956”. São 16 dígitos numéricos e 21 caracteres ao todo para serem lembrados.

Em sua forma mais simples, o localizador GeoURI segue a sintaxe “geo:x,y” como no exemplo. Para informar a incerteza i, segue a sintaxe “geo:x,y;u=i”. Aplicações típicas, tais como a localização de endereços postais, operam de forma satisfatória com a incerteza de 5 a 50 metros. Se o destino do passageiro de um taxi for o Marco Zero, é suficiente expressar “geo:-23.55039,-46.63400;u=15”.

Seguindo a analogia com o HTTP, seria interessante que o protocolo GeoURI aceitasse também nomes ao invés de apenas números, para conquistar maior aderência e ser útil em aplicações que exigem interação humana e memorização. Não existem nomes curtos ou siglas para todas as localidades do globo terrestre, todavia, se entendermos que a localização geográfica é uma função da escala, ou de uma hierarquia de escalas, descobriremos que já existem nomes padronizados para os primeiros níveis dessa hierarquia, que são os códigos ISO 3166-2 dos países e suas subdivisões administrativas de primeiro nível. Por exemplo “Brasil, Estado do Amazonas” é geocodificado como “BR-AM"

O geocódigo ISO é primeiramente traduzido em polígono. A coordenada pontual é obtida do centro geométrico do polígono, e a incerteza do raio da circunferência com área equivalente. Podemos assim convencionar que “geo:BR” representa aproximadamente o ponto central do país, algo como “geo:-15.783,-47.867;u=2000000”. O acréscimo da sigla de um estado, como em “geo:BR-SP”, determina um ponto diferente, central ao polígono delimitador do estado, e com uma incerteza menor, algo como “geo:-22.07,-48.434;u=280000”.

Para localizar o ponto desejado com menor incerteza, até a escala de uma dezena de metros, voltamos a um sistema de coordenadas, mas agora um sistema com escopo reduzido, conforme contextualizado pelo nome ISO de subdivisão administrativa. Contextualizando por ex. com “BR-AM”, reduzimos o escopo da superfície terrestre inteira para a área do Amazonas.

Além do sistema de referência otimizado, pode-se adotar um sistema numérico de representação das coordenadas que reduza o número de dígitos. Números hexadecimais (base-16) por exemplo são ~20% mais compactos que decimais (base-10), e mais compactos ainda na base-32. Por exemplo 10 dígitos decimais são reduzidos para 7 a 8 hexadecimais, ou para 6 na base-32.

Existem de fato, e vêm sendo aprimorados desde a década 1970, sistemas de localização por geocódigos [2], tais como por exemplo o sistema Geohash, que dota base-32 e surgiu em 2008; ou o sistema Open Location Code (OLC), lançado em 2014. A localização em Geohash do Marco Zero, com incerteza de 15 metros, é “6gyf4bf1”, com a metade do número de dígitos das coordenadas latitude/longitude que representa. Outro ponto, distante dali em 75 km, a Praça Dom Pedro I, na cidade de Itu (BR-SP-ITU), recebe o Geohash “6gy7et7j”. Como todos os demais pontos do território de Itu são iniciados pelo prefixo Geohash “6gy”, podemos imaginar um geocódigo misto para substituir o prefixo Geohash pelo nome, e separando ambos por “~”, o que resultaria em “BR-SP-ITU~7et7j”. Na prática, para o morador de Itu, seria necessário decorar apenas os 5 caracteres finais.

Geocódigos mistos permitem a manipulação de contexto de forma mais segura, ou seja, humanos podem remover o prefixo sem medo, obtendo códigos mais curtos quando o contexto for evidente.

Nesta perspectiva a presente proposta de expansão do protocolo GeoURI consiste na sintaxe “geo:p~g”, onde p é um geocódigo ISO 3166-2 de país (“BR” para Brasil, “BO” para Bolívia, etc.) com hierarquia opcional (ex. “BR-AM”) e g é um geocódigo qualquer, com padrão estabelecido pelo país. No exemplo da praça em Itu, se fosse oficial, a expressão GeoURI completa seria “geo:BR-SP-ITU~7et7j”.

Para estabelecer referência no contexto inicia-se pelo ponto, por exemplo “geo:.7et7j” se estou em Itu, ou “geo:.ITU~7et7j” se estou em SP; com critérios e formalização dos cenários em que se aplica. Quando um ponto de referência foi definido (“Olá, estamos aqui em geo:.7et7j e você onde está?”), pode-se iniciar pelo sinal de menos, para determinar o ponto vizinho pela diferença dentro da mesma incerteza (“Estou em geo:-b3”), ou seja, supondo o mesmo número de dígitos.

No território delimitado pela Irlanda (IE), nação que já definiu o seu padrão de geocódigo oficial, denominado Eircode, um endereço típico, “W23 F854”, seria expresso como “geo:IE~W23.F854”.

Por fim, para que geocódigos mais populares possam ser expressos diretamente, convencionamos também a sintaxe “geo:t:g”, onde t é tipo de geocódigo, em rótulo curto controlado (por ex. “ghs” para Geohash, “olc” para OLC, etc.). O Marco Zero poderia ser expresso como “geo:olc:588MC9X8+R” ou “geo:ghs:6gyf4bf1”. Os rótulos de tecnologia de geocódigo seriam definidos e limitados por uma curadoria análoga a aquela que define os identificadores de CRS (coordinate reference system).

REFERÊNCIAS:

[1] Descrição didática do padrão Geo URI. https://en.wikipedia.org/wiki/Geo_URI_scheme
[2] Conceito de Geocódigo. https://en.wikipedia.org/wiki/Geocode