Códigos de casa do Senegal
Cada lote do Senegal 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 lote do Senegal, nas 46 zonas, tem um código de casa N-Ways: o nome curto do seu bairro, aldeia ou cité e um número curto, como Ouakam 2512 ou Touba Mosquée 22 950. 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 validam na aplicação N-Ways.
- Forma memorizada, a que as pessoas dizem e escrevem:
Ouakam 2512. Maiúsculas, acentos, grafias francesa ou wolof (Wakam 2512), com ou sem espaços. - Forma escrita, nas placas e nos formulários:
OUAKAM 2512 · DAKAR(com a zona). As pessoas nunca veem nem escrevem uma letra de controlo; ela só existe na forma canónica. - Forma canónica, para sistemas, códigos QR e ligações:
SN-DKR-0080-2512-J(zona, índice do lugar, número, letra de controlo). Ninguém precisa de a memorizar. - Os códigos de ponto dão nome a qualquer ponto sem lote, calculados offline na grelha UTM 28N:
DKR 5553 1512.
O modelo, o motor e o registo de todos os endereços são abertos: github.com/n-ways/open-addresses-senegal. O artigo (em inglês) explica cada regra.
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 cite «N-Ways Addressing for Senegal, © 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 é uma das formas acima, codificada para URL. Não é precisa nenhuma chave.
curl "https://map.nways.ng/v1/homecodes/Ouakam%202512"{
"country": "SN",
"home": "Ouakam 2512",
"machine": "SN-DKR-0080-2512-J",
"name": "Ouakam",
"nameProvisional": false,
"municipality": "Dakar",
"fullLine": "OUAKAM 2512 · DAKAR",
"spoken": "Ouakam, vingt-cinq, douze",
"status": "provisional",
"issued": "bulk",
"entrance": { "lat": 14.7247067, "lng": -17.4849374, "kind": "centre", "source": "map" },
"location": { "lat": 14.7247067, "lng": -17.4849374 },
"plusCode": "7C64PGF8+V2P",
"lote": { "use": "residential", "class": "res.maison", "kind": "un_batiment", "structures": 1, "floorAreaM2": 32.7, "enclosed": false },
"credit": "N-Ways Addressing for Senegal, © N-WAYS LIMITED (nways.ng)",
"creditUrl": "https://github.com/n-ways/open-addresses-senegal"
}| Campo | Descrição |
|---|---|
home, machine | As formas memorizada e canónica. Mostre home às pessoas; guarde machine. |
fullLine | A forma escrita, como numa placa: com a zona. A letra de controlo está na forma canónica, só para sistemas. |
officialName | O nome completo do lugar, em letra pequena (S.I.C.A.P. Liberté Six para Liberté 6). Ausente quando é igual a name. |
coverage, officialAddress | Onde a comuna numerou a porta: official e o seu endereço tal como está escrito (a mostrar primeiro, com o código ao lado); official-pending nos bairros do programa municipal de endereçamento cujos números ainda não são partilhados. Ausente nos outros casos. |
nameProvisional | A comuna ainda tem de escolher o nome curto. O número nunca muda; o nome pode mudar uma vez. |
status | provisional, confirmed (os moradores validaram-no) ou retired (já não há habitação; o número nunca é reutilizado). |
entrance, location | Para onde ir: o portão, se estiver cartografado, senão o edifício principal do lote. Calcule o percurso até esse ponto. |
postcode | O código postal de La Poste, só onde está cartografado, como contexto. Nunca é tirado do código. |
lote, structures | O perfil do lote e de cada edifício: classe (res.maison, com.boutique…), tamanho, pisos, estado, cada um com a sua fonte. Uma habitação nunca contém nada sobre quem lá vive. |
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, uma letra de controlo errada).
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 "https://map.nways.ng/v1/homecodes/at?lat=14.7247&lng=-17.4849"Pesquisa
Um código escrito na pesquisa N-Ways, em qualquer das suas formas, encontra 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 a letra de controlo, e codifica e descodifica os códigos de ponto sem rede: python3 engine/reference/sn_engine.py find "Ouakam 2512". Os seus vetores de teste são o teste de conformidade da sua própria implementação, e registry/ contém todos os endereços atribuídos, um ficheiro gzip por zona.
Aloje-os você mesmo
Pode servir os códigos do Senegal 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:
git clone https://github.com/n-ways/open-addresses-senegal
cd open-addresses-senegal
docker compose up -dO 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 usa | Licença | O que lhe pede |
|---|---|---|
| O motor, o servidor e as ferramentas | Apache 2.0 | Mantenha 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.0 | Cite «N-Ways Addressing for Senegal, © 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.0 | Cite 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.