N-Ways
Documentação para programadoresCódigos de casa (Cabo Verde)

Códigos de casa de Cabo Verde

Cada edifício de Cabo Verde tem um código de casa. 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 de casa

Cada edifício de Cabo Verde, em todas as ilhas, tem um código de casa N-Ways: o nome curto do seu bairro, zona ou povoação e um número pequeno, como Palmarejo 12 34 ou João Vaz 214. Cada código é único em todo o país por si só e leva ao portão ou à porta de entrada do lote. Os códigos são primeiro provisórios e depois confirmados quando os moradores os validam na aplicação N-Ways.

  • Forma memorizada, a que as pessoas dizem e escrevem: Palmarejo 12 34. Em maiúsculas ou minúsculas, com ou sem espaços.
  • Forma máquina, para sistemas, placas e ligações: PR-0973-1234-0 (município, índice nacional do nome, número, dígito de controlo).
  • O nome oficial (Palmarejo Grande) e o código postal dos Correios acompanham cada código como contexto. Nunca fazem parte dele.

O modelo, o motor e os dados são abertos: github.com/n-ways/open-addresses-cabo-verde. O artigo explica cada regra.

Nota:

Credite o N-Ways onde quer que mostre um código. Mostre «Home code by N-Ways Addressing» (ou «Código de casa por N-Ways Addressing») junto dos códigos na sua aplicação, e cite «N-Ways Addressing for Cabo Verde, © 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 máquina ou a forma memorizada, codificada para URL. Não é precisa nenhuma chave.

cURL
curl "https://map.nways.ng/v1/homecodes/Palmarejo%2012%2034"
200 OK (um exemplo)
{
  "country": "CV",
  "home": "Palmarejo 12 34",
  "machine": "PR-0973-1234-0",
  "check": 0,
  "name": "Palmarejo",
  "officialName": "Palmarejo Grande",
  "nameProvisional": true,
  "municipality": "Praia",
  "island": "Santiago",
  "postcode": { "value": "7600", "kind": "area", "source": "Correios de Cabo Verde (UPU 2014)" },
  "fullLine": "Palmarejo 12 34 · Palmarejo Grande · Praia, Santiago · 7600",
  "spoken": "Palmarejo, doze, trinta e quatro",
  "status": "provisional",
  "issued": "bulk",
  "entrance": { "lat": 14.9201, "lng": -23.5402, "kind": "door", "source": "map" },
  "location": { "lat": 14.9201, "lng": -23.5402 },
  "plusCode": "796RWFC5+2WV",
  "lote": { "use": "residencial", "structures": 1, "floorAreaM2": 120, "enclosed": false },
  "credit": "Home code by N-Ways Addressing",
  "creditUrl": "https://github.com/n-ways/open-addresses-cabo-verde"
}
CampoDescrição
home, machineAs duas formas do código. Mostre home às pessoas; guarde machine.
officialNameO nome completo da zona, a escrever em letra pequena. Ausente quando é igual a name.
nameProvisionalA Câmara Municipal ainda tem de escolher o nome curto. O número nunca muda; o nome pode mudar uma vez.
statusprovisional, confirmed (os moradores validaram-no) ou retired (já não há habitação nesse local; o número nunca é reutilizado).
entrance, locationPara onde ir: o portão ou a porta. Calcule o percurso até esse ponto, não até ao centro do edifício.
postcodeO código postal dos Correios para a zona, como contexto. Nunca é deduzido do código.
lote, structuresO perfil do edifício: uso, tamanho, pisos, estado, cada um com a sua fonte. Uma habitação nunca contém nada sobre as pessoas que lá vivem.

Erros: 400 homecode_format quando o texto não é um código de casa; 404 homecode_unknown com uma mensagem que diz porquê (um nome que nenhuma zona 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; "none" onde nenhum edifício tem ainda um; "official" com o endereço do município onde uma Câmara numerou a rua (mostrado tal como está escrito, e sem código N-Ways); ou "official-pending" nos centros históricos cuja numeração a Câmara mantém.

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

Um código de casa escrito na pesquisa N-Ways, em maiúsculas ou minúsculas, com ou sem espaços, ou uma forma máquina, encontra o portão ou a porta 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) lê as formas memorizada e máquina, verifica o dígito de controlo e descodifica um código até à sua zona sem rede: python3 engine/reference/cv_engine.py "Palmarejo 12 34". Os seus vetores de teste servem de teste de conformidade para a sua própria implementação.

Aloje-os você mesmo

Pode servir os códigos de Cabo Verde 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-cabo-verde
cd open-addresses-cabo-verde/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 Cabo Verde, © 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.