N-Ways
Documentação para programadoresCódigos de casa (Guiné)

Códigos de casa da Guiné

Cada lote da Guiné tem um código N-Ways. Procure um, encontre o código de um ponto ou descodifique-o offline com o motor aberto, e credite o N-Ways onde o mostrar.

Nesta página

O que é um código

Cada lote da Guiné, nas cinco regiões postais, tem um código N-Ways: o nome curto do seu bairro, cidade ou aldeia e um número de quatro ou cinco algarismos, como Hafia 3 · 1230 ou Linsan 5389. Cada código é único em todo o país por si só e leva ao portão do lote. Os códigos são primeiro provisórios e depois confirmados quando os moradores os confirmam na aplicação N-Ways.

  • Forma memorizada, o que se diz e se escreve: Hafia 3 · 1230, também escrita aos pares (hafia 3 12 30). Quaisquer maiúsculas e acentos, o nome oficial em vez do nome curto (Missidé Bhoundou Kalouma 1260 = Kalouma 1260). Um nome que termina num número leva um · antes do número da habitação.
  • Forma de placa, nas placas e nos formulários: HAFIA 3 · 1230. As pessoas nunca veem nem escrevem um dígito de controlo; ele só existe na forma máquina.
  • Forma máquina, para sistemas, códigos QR e ligações: GN-04261-1230-8 (o identificador nacional do nome, o número, o dígito de controlo; GN-04261-1230.2-3 para o segundo edifício do lote).
  • Código de ponto, para qualquer quadrado de 3 m: 0 22JV PVQQ, calculado offline; os seus cinco primeiros caracteres, 0 22JV, são o código de bloco de 1,2 km.

Nenhuma comuna, prefeitura ou região faz parte de um código: as reformas de 2024 e 2026 não alteram nenhum; municipality é deduzido da posição. Em Kaloum, a rua oficial do programa nacional de endereçamento vem primeiro, em officialAddress. O modelo, o motor e o registo de todos os códigos são abertos: github.com/n-ways/open-addresses-guinea. O artigo (em inglês) explica cada regra.

Nota:

Credite o N-Ways onde quer que mostre um código. Mostre «Código de casa por N-Ways Addressing» junto dos códigos na sua aplicação, e credite «N-Ways Addressing for Guinea, © N-WAYS LIMITED (nways.ng)» com uma ligação para o repositório no seu ecrã «Sobre» ou na sua documentação. O motor está sob Apache 2.0, os dados sob ODbL 1.0 e os documentos sob CC BY 4.0.

Procurar um código

GET https://map.nways.ng/v1/homecodes/{code}, em que code é a forma memorizada, de placa ou máquina, ou um código de ponto sobre um lote, codificado para URL. Não é precisa nenhuma chave.

cURL
curl "https://map.nways.ng/v1/homecodes/GN-04261-1230-8"
200 OK
{
  "country": "GN",
  "home": "Hafia 3 · 1230",
  "machine": "GN-04261-1230-8",
  "check": 8,
  "name": "Hafia 3",
  "nameProvisional": false,
  "municipality": "Dixinn, Conakry",
  "fullLine": "Hafia 3 · 1230 · Dixinn, Conakry",
  "spoken": "Hafia 3, douze trente",
  "status": "provisional",
  "issued": "bulk",
  "entrance": { "lat": 9.5682034, "lng": -13.6544537, "kind": "centre", "source": "map" },
  "location": { "lat": 9.5682034, "lng": -13.6544537 },
  "plusCode": "6CX8H89W+76M",
  "lote": { "use": "residential", "kind": "compound", "class": "residential.house", "structures": 2, "floorAreaM2": 206.4, "settlement": "town", "rule": "annex" },
  "credit": "N-Ways Addressing for Guinea, © N-WAYS LIMITED (nways.ng)",
  "creditUrl": "https://github.com/n-ways/open-addresses-guinea"
}

Em Kaloum, a ficha mostra primeiro a rua oficial:

GET /v1/homecodes/Almamiya%201939
{
  "home": "Almamiya 1939",
  "machine": "GN-00053-1939-4",
  "coverage": "official-street",
  "officialAddress": "Avenue Dinah Salifou, Kaloum",
  "municipality": "Kaloum, Conakry",
  "fullLine": "Almamiya 1939 · Kaloum, Conakry"
}
CampoDescrição
home, machineAs formas memorizada e máquina. Mostre home às pessoas; guarde machine.
check, fullLineO dígito de controlo, só para sistemas, e o código tal como numa placa, com o seu lugar.
officialNameO nome completo do lugar, em letra pequena (Missidé Bhoundou Kalouma para Kalouma). Ausente quando é igual a name.
coverage, officialAddressEm Kaloum, official-street e o nome oficial da rua: mostre-o primeiro, com o código ao lado.
nameProvisionalA comuna ainda tem de escolher o nome curto. O número nunca muda; o nome pode mudar uma vez.
municipalityA comuna em Kaloum, Dixinn e Matam, Conakry no resto da capital, senão a prefeitura. Só contexto, deduzido da posição: nunca é necessário para descodificar, e pode acompanhar qualquer reforma.
spokenComo o código se diz: o número aos pares, como os guineenses dizem os números de telefone.
statusprovisional, confirmed (os moradores confirmaram) ou retired (já não há habitação nesse local; o número nunca é reutilizado).
entrance, locationPara onde ir: o portão quando está cartografado, senão o centro do lote.
lote, structuresO perfil do lote e de cada edifício: classe (incluindo casas redondas), tamanho, pisos quando se conhecem, estado, cada um com a sua fonte. Uma habitação nunca contém nada sobre os seus moradores.

Erros: 400 homecode_format quando o texto não é um código; 404 homecode_unknown com uma mensagem que diz porquê (um nome que nenhum lugar tem, um número fora de todos os blocos, um dígito de controlo errado).

Qual é o código aqui?

GET https://map.nways.ng/v1/homecodes/at?lat=…&lng=… responde para um ponto: "status": "found" com o código, ou "none" onde nenhum lote tem ainda um.

cURL
curl "https://map.nways.ng/v1/homecodes/at?lat=9.56820&lng=-13.65445"

Um código escrito na pesquisa N-Ways, em qualquer das suas formas, dá o portão do lote como primeiro resultado, com "category": "homecode" e o crédito em attribution.

Descodificar offline

O motor de referência do repositório (Python, apenas a biblioteca padrão) descodifica todas as formas, verifica o dígito de controlo e calcula os códigos de ponto e de bloco, sem rede: python3 engine/reference/gn_codes.py home "Hafia 3 · 1230". Os seus vetores de conformidade (engine/reference/vectors.json) são o teste da sua própria implementação, engine/data/register.json contém cada lugar e os seus blocos fixos, e registry/ cada código emitido, um ficheiro gzip por região postal.

Aloje-os você mesmo

Pode servir os códigos da Guiné a partir dos seus próprios servidores, sem chamar o N-Ways. O repositório no GitHub contém todos os códigos emitidos (registry/), as zonas dos códigos e o modelo (model/), o motor de referência e um servidor do registo pronto a usar, com a sua API JSON:

Shell
git clone https://github.com/n-ways/open-addresses-guinea
cd open-addresses-guinea
docker compose up -d

O servidor importa o registo no primeiro arranque e depois responde às pesquisas na sua máquina; server/README.md descreve a configuração, as cópias de segurança e as atualizações, e docs/api.md cada ponto de acesso. A sua cópia é só de leitura: os códigos novos vêm de um único emissor por país, o N-Ways salvo se o Estado designar outro, para que nenhum número seja dado duas vezes. Volte a puxar o repositório para obter os códigos emitidos desde então.

O que usaLicençaO que lhe pede
O motor, o servidor e as ferramentasApache 2.0Mantenha a licença e o NOTICE quando os distribuir ou alterar.
Os códigos, as zonas e o modelo (registry/, model/, engine/data/)ODbL 1.0Cite «N-Ways Addressing for Guinea, © N-WAYS LIMITED (nways.ng)», com ligação para o repositório, onde mostrar os códigos. Uma base de dados feita a partir dos dados e partilhada é partilhada também sob ODbL 1.0.
Os artigos e outros documentos (docs/)CC BY 4.0Cite o N-Ways e diga o que alterou.

Os termos completos, e a linha de crédito dos mapas e conjuntos de dados feitos a partir dos dados (que cita também o OpenStreetMap), estão em LICENSING.md. Pode dizer que o seu produto usa N-Ways Addressing, não que é o N-Ways nem que é aprovado pelo N-Ways.