osmbrasil / validador-josm Goto Github PK
View Code? Open in Web Editor NEWBrazilian-specific validator rules for JOSM
Brazilian-specific validator rules for JOSM
Criar queries no overpass para cada regra de validação
access=designated não diz nada sobre o tipo de acesso.
Deve ser foot=designated, horse=designated, etc
Não faz sentido ter uma via de pedestre highway=footway junto com uma restrição que não permite acesso de pedestres foot=no
ford=yes
deve estar conectado/fazer parte de uma highway
e waterway
Existem casos onde a pessoa coloca ford=yes
sem conectar a um waterway
, por exemplo
Se tiver admin_level e/ou boundary=administrative mas type=multipolygon, está errado. O correto deve ser type=boundary
way[highway!=track][tracktype] não deve acontecer
Algumas verificações precisam de uma versão mínima do JOSM
Precisa verificar e utilizar media queries onde necessário
fix: apagar o tag access=permissive onde ha relacao ou tags com network ou ref identificando rodovias estaduais ou federais, ou onde classificação e maior que secundário.
place=locality com nome de ^faz provavelmente deve ser place=farm
Validar objetos apenas com:
http://josm.openstreetmap.de/ticket/10130
Usar media queries para JOSM ≥ 7237
Nós de *amenity=*_, _shop=, **building=*** e outros não devem fazer parte ou estar grudados nas ruas.
highway=motorway_junction deve ser child (conetado com) highway=motorway ou highway trunk, talvez também highway=primary se duplicado
node[highway=motorway_junction < way[highway*=motorway|trunk],
node[highway=motorway_junction < way[highway=primary][oneway?]
Nomes nao deve contem http:// ou @
Avisar que estes deve ser no tags contact:web, contact:email, contact:twitter ou similar, ou ser informação ao mapeadores, note
Da um warning once highway=residential e part do um relacao do um rodovia federal ou estadual
relation[route=road][network] > way[highway=residential] { ... warning } ou similar
Verificar uso de amenity=place_of_worship sem **building=*** ou landuse=religious
Pode ser indicativo de falta de landuse=religious
O teste deve ignorar se o objeto tiver type=route, type=street ou route=road
Deve ignorar [railway][name = ^Estrada de Ferro]
A chave wikipedia deve seguir a língua local do objeto.
No caso do Brasil, deve-se ter wikipedia = pt:
Precisa trocar a validação de wikipedia ^= en: para !~ /^pt:
Usar media access ≥ 6455
Rodovia que possui ref
estadual ou federal deve ser ao menos tertiary
Não faz sentido ter ruas com ref
classificadas como residential
ou menos
Avisar sobre rodovias com ref válidos mas sem name
Por exemplo, rodovia possui ref=SP-255
mas wikipedia=pt:SP-225
Teste atual de posto marcado como hospital deve ser mantido.
Apenas adicionar novo teste:
*[name =~ /^(?i)((Posto|Unidade (Básica)?) de Saúde|UBS|PSF) .*/][amenity != clinic]
name com D(a|e|o)s? em maiúsculo
Avisar sobre relações com somente 1 membro
Validador não deve aceitar BR-122/LMG-635 como ref válido.
Os valores devem estar separados por ;
highway=turning_circle e highway=mini_roundabout devem ser utilizados apenas em nós (e não em caminhos ou relações)
deve ser power=substation, power=plant ou power=generator - acho power=substation e mais comum
maxspeed deve usar valores numéricas somente, preferencia com valores do 10
Valores em km/h e sem unidades (60, não 60 km/h)
Valores imperiais (mph) não e usado no Brasil, mas deve ter unidade mph, existem lugares onde ha recalculado estes valores ao km/h - mas estes regras pode ser totalmente ignorado por brasil.
Exemplo:
https://www.openstreetmap.org/way/277844378 (JGS 446 - Sem Nome)
Ou name="CE 085", etc
"\b[A-Z]{2,3} (- )?[0-9]{3}\b"
Verificar se way[ref] e igual relation[ref] - existem estradas mapeada como um rodovia no way e outro no relation.
Pode significar falta do relação, mudanças do trajeto ou erro no eticetacao
Se way e membro do > 1 relação, deve etiquetar com todos os ref, nenhuma, ou o ref do rodovia mais importante?
^Faz. → Fazenda
Validar:
"ref fora do padrão" deve ignorar highway=milestone
significando nada e dar false negative com testes como no com somente nome
Deve considerar mudar eles para highway=trunk
Validar que nao ha nos com building, amenity ou shop no um highway
highway=stop ou highway=give_way devem ser utilizados apenas em nós (e não em caminhos ou relações)
highway com nome Rua, Avenida, etc mas como highway=track
deve ser highway=residential
+ surface=unpaved
(no mínimo), e não track
Validar objetos com:
utilizar o identificador de rodovia na tag ref e não na name → utilizar o identificador de rodovia também em ref
"uso de nome alternativo sem name" não deve ser mostrado quando utilizado com place_name
Validar pontes que fazem intersecção com rios (não deve haver um nó ligando os dois)
access=permissive só deve ser utilizado em locais privados com permissão de uso.
Atualizar o validador para não avisar apenas para highway
Deve avisar apenas em nós com apenas 1 tag (só tem surface) ou 2 (surface + outra tag não faz sentido, como name)
ref suporta múltiplos valores
O conteúdo de alt_ref deve fazer parte de ref, separado por ;
Tem gente criando rota com trechos contendo ref=X
e highway=Y
mas com os valores dentro da relação diferentes, tanto na ref
quanto highway
.
Por exemplo, neste exato momento a BR-101 tem trechos como primary
, trunk
e motorway
mas dentro da relação apresenta highway=motorway
(como se todo trecho fosse assim)
Precisa achar essas inconsistências e contradições.
Esses objetos devem pertencer a uma via com nome (portanto não devem possuir nome)
ref NNNNN-NN provavelmente e o CEP e deve ser em postal_code ou addr:postcode
Relações de rota não devem possuir highway=*
node[highway=speed_camera][!maxspeed]
ou
relation[enforcement=maxspeed][!maxspeed],
relation[enforcement=maxheight][!maxheight],
relation[enforcement=maxweight][!maxweight]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.