N-Ways
Documentação para programadoresCódigos de casa (Burkina Faso)

Códigos de casa do Burkina Faso

Cada lote do Burkina Faso tem um código de casa N-Ways. Consulte um, encontre o código num ponto ou descodifique-o offline com o motor aberto, e cite o N-Ways onde o mostrar.

Nesta página

O que é um código

Cada lote do Burkina Faso tem um código de casa N-Ways: o nome curto do seu bairro ou aldeia e um número de três a cinco algarismos, como Koulouba 1776 ou Bobo 26206. Cada código é único em todo o país por si só e leva ao portão do lote. Os códigos começam provisórios e passam a confirmados quando os moradores concordam na aplicação N-Ways.

  • Forma memorizada, a que as pessoas dizem, escrevem e pintam nas placas: Koulouba 17 76, também sem o espaço (Koulouba 1776); cinco algarismos leem-se como um par e uma centena (Bobo 26 206). Maiúsculas ou minúsculas e as grafias habituais (Tanghin = Tanguin, Ouatinoma = Watinoma), e o nome oficial em vez do nome curto (Ouaga 2000 25830). Uma forma de setor (Secteur 15 Ouaga) é recusada: nenhum mapa dos setores é público. As pessoas nunca veem nem escrevem um algarismo de controlo.
  • Forma máquina, para sistemas, códigos QR e ligações: BF-10000-V064-1776-9 (o código postal da La Poste para a comuna, a zona, o número e um algarismo de controlo de Damm que deteta qualquer algarismo errado e qualquer troca de dois algarismos vizinhos; .2/1 a seguir para o edifício 2, portão 1).
  • Código de ponto, para qualquer ponto: BF-10000 E1885 N1262, uma quadrícula de 10 m da grelha da sua comuna; cada ficha traz também o Plus Code do seu portão (7C4W9F7M+M89).

Numa rua codificada de Ouagadougou ou de Bobo-Dioulasso, a rua oficial vem primeiro, em officialAddress com "coverage": "official-street"; um número de porta do plano das comunas ocupa o seu lugar assim que for conhecido. Não é precisa nenhuma comuna para descodificar um código; municipality é obtido a partir da posição. O modelo, o motor e as zonas dos códigos são abertos: github.com/n-ways/open-addresses-burkina-faso. O livro branco explica cada regra.

Nota:

Cite o N-Ways sempre que mostrar um código. Mostre «Código de casa por N-Ways Addressing» junto dos códigos na sua aplicação e cite «N-Ways Addressing for Burkina Faso, © N-WAYS LIMITED (nways.ng)» com uma ligação para o repositório no ecrã «Sobre» ou na sua documentação. O motor está sob Apache 2.0, os dados sob ODbL 1.0 e os livros brancos sob CC BY 4.0.

Consultar um código

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

cURL
curl "https://map.nways.ng/v1/homecodes/BF-10000-V064-1776-9"
200 OK
{
  "country": "BF",
  "home": "Koulouba 1776",
  "machine": "BF-10000-V064-1776-9",
  "check": 9,
  "name": "Koulouba",
  "coverage": "official-street",
  "officialAddress": "Avenue Uemoa, Ouagadougou",
  "nameProvisional": false,
  "municipality": "Ouagadougou",
  "fullLine": "Koulouba 17 76",
  "spoken": "Koulouba, 17 76",
  "status": "provisional",
  "issued": "bulk",
  "entrance": { "kind": "centre", "lat": 12.3641615, "lng": -1.5166371, "source": "map" },
  "location": { "lat": 12.3641615, "lng": -1.5166371 },
  "plusCode": "7C4W9F7M+M89",
  "lote": { "class": "hospitality", "coverage": "official-street", "enclosed": false, "floorAreaM2": 1216.9, "kind": "compound", "official": "Avenue Uemoa, Ouagadougou", "rule": "annex", "structures": 3, "use": "mixed" },
  "credit": "N-Ways Addressing for Burkina Faso, © N-WAYS LIMITED (nways.ng)",
  "creditUrl": "https://github.com/n-ways/open-addresses-burkina-faso"
}
CampoDescrição
home, machineAs formas memorizada e máquina. Mostre home (ou fullLine) às pessoas; guarde machine.
fullLineO código tal como se diz e se pinta: Koulouba 17 76.
checkO algarismo de controlo da forma máquina, para sistemas; nunca o mostre às pessoas.
officialNameO nome completo da zona, em letra pequena. Ausente quando é igual a name.
coverage, officialAddressNuma rua codificada de Ouagadougou ou de Bobo-Dioulasso, official-street e a rua oficial a menos de 30 m: mostre-a primeiro, com o código ao lado.
nameProvisionalA comuna ainda pode escolher o nome curto. O número nunca muda; o nome pode mudar uma vez, e o antigo continua válido.
municipalityA comuna. Apenas contexto, obtido da posição: nunca necessário para descodificar.
statusprovisional, confirmed (os moradores concordaram) ou retired (já não há casa nesse sítio; o número nunca é reutilizado).
entrance, location, plusCodePara onde ir: o portão quando está no mapa, senão o edifício principal, com o seu Plus Code.
lote, structuresO perfil do lote e de cada edifício: classe, tamanho, pisos quando se conhecem, estado, cada um com a sua fonte. As casas nunca trazem nada sobre as pessoas que lá vivem.

Erros: 400 homecode_format quando o texto não é um código; 404 homecode_unknown com uma mensagem que diz porquê (um nome que nenhuma zona tem, um número fora de qualquer bloco do seu nome, uma forma de setor).

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 código.

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

Um código escrito na pesquisa do N-Ways, em qualquer das suas formas, encontra o portão do lote como primeiro resultado, com "category": "homecode" e a atribuição em attribution.

Descodificar offline

O motor de referência do repositório (Python, só com a biblioteca padrão) descodifica todas as formas, verifica a forma máquina e lê e escreve códigos de ponto, sem rede: python3 engine/reference/bf_engine.py resolve Koulouba 17 76. Os seus vetores de conformidade (engine/reference/vectors.json) servem de teste à sua própria implementação, e engine/data/register.json contém cada zona e cada nome com os seus blocos fixos. registry/ contém todos os códigos emitidos, um ficheiro por comuna, e o servidor do registo em server/ serve-o a partir da sua própria máquina.

Aloje-os você mesmo

Pode servir os códigos do Burkina Faso 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-burkina-faso
cd open-addresses-burkina-faso/server
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 Burkina Faso, © 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.