02JanDal / osm-bjk

BästaJävlaKartan is a tool that compares OpenStreetMap data against various open data sources from Sweden, and reports and deviations it finds.
https://osm-bjk.jandal.se/
MIT License
3 stars 1 forks source link

Do not suggest tags of equivalent meaning #29

Open 02JanDal opened 7 months ago

02JanDal commented 7 months ago

https://community.openstreetmap.org/t/verktyg-for-att-berakna-visa-och-atgarda-saker-i-osm-utifran-oppna-data/107713/53

Lite mer relaterat till kontaktuppgifter. Jag har en massa skolor där BJK föreslår contact:= där motsvarande kortform redan finns. Det kanske kan vara bra att inte föreslå dem om den kortare redan existerar?

Exempel: Hågadalsskolan

Existerande:

addr:city=Uppsala
addr:country=SE
addr:housenumber=14C
addr:postcode=75243
addr:street=Granitvägen
amenity=school
name=Hågadalskolan
phone=+46 18 7275370
website=https://hagadalsskolan.uppsala.se/

Föreslagna:

addr:housenumber=14 C
contact:email=hagadalsskolan@uppsala.se
contact:phone=+46 187275370
contact:website=http://www.hagadalsskolan.uppsala.se
name=Hågadalsskolan
operator=Uppsala kommun
operator:type=government
ref:se:skolverket=60438370

Här kan tänkas att man:

  • Inte föreslår contact:phone, contact:website, contact:email om de finns som phone, website respektive email
  • Bonus: föreslå email före contact:email om phone och/eller website finns (och vice versa)
  • Bonus: föreslå inte http://example.com/ om https://example.com/ redan existerar
Prillan commented 7 months ago

Jag skulle kunna göra ett försök här. Är detta rätt plats att börja på tror du? https://github.com/02jandal/osm-bjk/blob/main/database/migrations/03-general-functions.sql#L29-L39

02JanDal commented 7 months ago

Exakt så! Du borde kunna plocka ut bara den och testa med. Lite användningsexempel/testfall finns här: https://github.com/02JanDal/osm-bjk/blob/main/database/tests/test_tag_diff.sql

02JanDal commented 7 months ago

Utöver det som nämns i ursprungsissuen finns det även lite andra fall man skulle kunna filtrera bort:

Men du behöver såklart inte hantera allt dessa på en gång 😃

Prillan commented 7 months ago

Här är en liten WIP-commit som fungerar, men är onödigt(?) komplicerad. Ta gärna en titt. Risken med den här är väl att den kan vara lite för långsam.

https://github.com/Prillan/osm-bjk/commit/bd5f46ec2aae7c16acf896ad0d975d99f733480b

02JanDal commented 7 months ago

Gjorde ett litet halvvetenskapligt test med uträkningen av skolor från skolverket (som både har många objekt och många taggar för varje).

Med befintliga tag_diff tog det 1.406 s, 1.373 s och 1.331 s. Med din nya tog det 3.726 s, 3.657 s och 3.699 s.

En stor ökning såklart, men tycker inte det är något man behöver oroa sig över, när matchningssteget tar flera minuter... Så tycker det är helt okej att köra på!