atorger / nvdb2osm

The Unlicense
9 stars 2 forks source link

Många kommuner har genereringsfel #43

Open marsip opened 2 years ago

marsip commented 2 years ago

I dagsläget (2022-02-21) är det över 10 kommuner som har genereringsfel på download-sidan.

atorger commented 2 years ago

NVDB har ändrat format och grejat på senaste tiden så saker har en tendens att gå sönder. Jag har tyvärr inte tid att jobba med detta nu, men återkommer vid senare tillfälle. Om det är en specifik kommun man vill jobba med som inte funkar så kanske jag kan göra en punktinsats för just den kommunen.

atorger commented 2 years ago

Eslöv, Finspång, Leksand, Norrtälje och Salem ska nu funka igen, vilket verkar vara alla som inte funkade tidigare.

elindberg-snapcode commented 1 year ago

Vet inte om detta är rätt tråd, men rubriken stämmer överens i alla fall :) Jag har försökt splitta skåne, och gå över alla kommuner, var på tre stycken går åt skogen med två olika fel:

Trelleborg

2023-05-04 10:36:49,890 - nvdb2osm - INFO - Reading file NVDB-Kollektivkorfalt.gpkg 2023-05-04 10:36:49,904 - nvdb2osm - INFO - done (8 segments) 2023-05-04 10:36:49,904 - nvdb2osm - INFO - Parsing 8 segments... Traceback (most recent call last): File "/home/centos/nvdb2osm/./nvdb2osm.py", line 480, in main() File "/home/centos/nvdb2osm/./nvdb2osm.py", line 337, in main ways = read_nvdb_geometry(directory_or_zip, name, TAG_TRANSLATIONS[name], nvdb_total_bounds) File "/home/centos/nvdb2osm/./nvdb2osm.py", line 107, in read_nvdb_geometry process_tag_translations(way, tag_translations) File "/home/centos/nvdb2osm/tag_translations.py", line 1191, in process_tag_translations tag_translations"translator_function" File "/home/centos/nvdb2osm/tag_translations.py", line 816, in tag_translation_Kollektivkorfalt time_interval = parse_time_interval_tags(ti_tags) File "/home/centos/nvdb2osm/nvdb_ti.py", line 104, in parse_time_interval_tags output[output_key] = item"parser" File "/home/centos/nvdb2osm/nvdb_ti.py", line 212, in parse_day_interval return day_map[str(values[0])] + "-" + day_map[str(values[1])] KeyError: '1.0'

Svedala & Kristianstad

2023-05-04 10:38:07,607 - nvdb2osm - INFO - Reading file NVDB-Hastighetsgrans.gpkg 2023-05-04 10:38:07,874 - nvdb2osm - INFO - done (3096 segments) 2023-05-04 10:38:07,875 - nvdb2osm - INFO - Parsing 3096 segments... 2023-05-04 10:38:08,163 - waydb - INFO - Parsing 3096 segments: 10% .. 2023-05-04 10:38:09,176 - waydb - INFO - Parsing 3096 segments: 90% Traceback (most recent call last): File "/home/centos/nvdb2osm/./nvdb2osm.py", line 480, in main() File "/home/centos/nvdb2osm/./nvdb2osm.py", line 337, in main ways = read_nvdb_geometry(directory_or_zip, name, TAG_TRANSLATIONS[name], nvdb_total_bounds) File "/home/centos/nvdb2osm/./nvdb2osm.py", line 107, in read_nvdb_geometry process_tag_translations(way, tag_translations) File "/home/centos/nvdb2osm/tag_translations.py", line 1191, in process_tag_translations tag_translations"translator_function" File "/home/centos/nvdb2osm/tag_translations.py", line 689, in tag_translation_Hastighetsgrans alt_maxspeed = parse_speed_limit(tags, "HAVHAST1") File "/home/centos/nvdb2osm/tag_translations.py", line 167, in parse_speed_limit speed = int(speed) ValueError: invalid literal for int() with base 10: 'varierande'

atorger commented 1 year ago

Jag har pushat fixar för just de där två problem nu. Det ena berodde på att jag inte hade någon parser för hastighetsgränsen "varierande". Nu känner den igen det, men den gör ingen speciell taggning för det, för jag vet inte riktigt hur det ska taggas i så fall. Förslag mottages om någon har det. Den verkar bara användas på alternativ hastighet så det är nog inte hela världen att hoppa över de värdena.

Det andra felet är för att dagar som tidigare var "1" - "7" eller "måndag" - "söndag", numera även kan vara decimaltal, 1.0 till 7.0 tydligen :-)

elindberg-snapcode commented 1 year ago

Super. works like a charm :) Verkar vara halvt omöjligt att hänga med i deras förändringar!

atorger commented 1 year ago

Det är mest bara småsaker som förändrats så det brukar vara rätt lugnt, men det slutar ju funka ganska ofta och inte alltid jag märker att det hänt då jag är aktiv i kartläggning bara 1-3 månader per år. Skriptet är avsiktligt byggt så det hoppar ut med ett fel när den får nåt den inte känner igen (istället för att bara ignorera). Det hade gått att göra det mycket mer robust genom att ignorera allt den inte klarar av översätta, men då skulle risken vara stor att förändringar i datat går obemärkta förbi och man kanske börjar tappa information i översättningen.