Större import av hastighetsgränser

En annan stor vinst med det mer gedigna Sweden Highway Import projektet är att underhållet av datan framöver kommer att vara oerhört mycket enklare med den korrekta mappning ni utför. Det märks inte minst när man försöker sig på att automatisera saker.

1 Like

Hittat en, för mig, ny sida där man kan få ut fantastisk data.
Gjorde en liten check för att se resultat av mitt eget projekt och finns ju några slutsatser att dra.
Datan nedan gäller hela Sverige och är antal km som inte har hastighetsgränser. Motorway och Primary ser ju bra ut, secondary ok, men tertiary borde vi hugga in på :slight_smile:

Länk till sidan för den som är intresserad: https://ohsome.org/apps/dashboard/

2 Likes

Om det er til noen hjelp, her er skriptet som blir brukt til å oppdatere highway-tags i Norge: highway_merge (GitHub) (med f.eks. “-tagref” parameter).

Skriptet splitter opp veiene der maxspeed (eller andre tags) skifter, og holder eventuelle relasjoner oppdatert. Det oppdaterer samtlige tags, men kan justeres til å bare ta f.eks. maxspeed. Med “-swe” parameter virker skriptet allerede for Sverige.

Skriptet brukes også med “-new” parameter til å finne veier som er lagt til i NVDB etter en import. I Norge legges det til flere hundre nye veier i NVDB hver måned. Dette gir en oversikt over status: Road import Norway update (wiki)

Grafisk oversikt her: OSM-no-progress

1 Like

Jag provade highway_merge med Nora kommun genom att:

  • Med JOSM-Overpass API ladda ned alla “highway” för Nora och lagra i en osm-fil.
  • Från download-sidan för kommuner, hämta Nora.osm.
  • Köra skriptet highway_merge på dessa två filer.

Skriptet gick igenom felfritt, men det skapades ca 2500 varningar, och att del vägar var inte merge:ade.

Eftersom jag endast laddade vägar med Operpass så fanns inga andra object med, utom highway. Så ytterligare fel finns säker med byggnader, vatten etc. som korsar vägar, och andra fel.

Skriptet kanske ändå kan förkorta tiden för att uppdatera en kommun.

1 Like

Jeg antar at du forsøkte «-replace» funksjonen. Den anbefales egentlig bare for kommuner der lite er mappet fra før. Det må alltid gjøres en manuell jobb til slutt.

Man behøver ikke laste ned eller hente NVDB-filer selv. Bare skriv «Nora» og «-swe».

1 Like

Jag har provat med Nora+swe, men får fel. Jag har skrivit en buggrapport på din Github.

1 Like

Enig. Om jag har förstått rätt kommer befintlig geometri inte att påverkas och som @Msiipola och andra skrivit så är OSM med relationerna en jävla röra som vi (tyvärr) manuellt måste hålla i ordning.

Hur gör man detta i praxis?
ladda ner via overpass i JOSM och filtrera?
Jag testar nu med:

[out:xml][timeout:90][bbox:{{bbox}}];
(
  way["highway"="tertiary"][!"maxspeed"];
  way["highway"="residential"][!"maxspeed"];
  way["highway"="secondary"][!"maxspeed"];
  way["highway"="primary"][!"maxspeed"];
  way["highway"="service"][!"maxspeed"];
  way["highway"="unclassified"][!"maxspeed"];
);
(._;>;);
out meta;

Och den hittade massor med vägar i Härnösand :slight_smile:
Nu undrar jag hur jag kan se hastigheten i NVDB direkt i JOSM? Kommer se om det finns nått lager att aktivera som gör det enkelt.

Jag aktiverade lagret hastighetsgräns i JOSM och fick upp de här färgmarkerade vägarna. Tyvärr hittar jag ingen legend eller liknande som förklarar vad de olika färgerna står för.


Gissning:
orange=70
turkos=50
grön=30
lila-vitt=30 runt skola inom viss tidsrum typ 7-17
lila=7 = gångfartsområde (vi har ett vid simhallen i HSAND)
lila=70 finns på E4 lite söder om stan där det även är en kamera
Någon som vet var jag hittar en legend? Verkar inte finnas dokumenterat i wikin än eller också hittade jag inte.

Det är samma som på NVDB. Gå hit och välj “Hastighetsgräns” i listan till höger.

Tack, jag dokumenterade det här NVDB - OpenStreetMap Wiki

Hej! Ledsen för sent, svar, men ja. När jag kör manuellt så gör jag precis som du:

KORT TUTORIAL (för den som inte hållt på tidigare

  1. Importera vägar som saknar hastighet från Overpass i JOSM.
    Min import-rutin (notera att jag tar med maxspeed:forward/backward också eftersom det faktiskt finns en hel del vägar med olika fart i olika riktning. maxspeed:forward är hastigheten i way:ens riktning. Du ser det som röda pilar i JOSM.)
    Ersätt “Motorway” med den typ av väg du vill mappa. Jag brukar köra en typ i taget för att hålla ner datamängden.

  1. Lägg Trafikverkets Road Network (options) → Hastighetsgränser som bakgrund.

Skärmavbild 2023-02-08 kl. 12.40.30

3 (optional). Filtrera i JOSM på längd: ex. waylength: 1000- (visar alla vägar över 1000 m)

  1. Sätt hastigheter, samt dela upp ways där det behövs (snabbkommando JOSM för att sätta en ny punkt (A) och sedan för att dela wayen (P).

  2. Och ett litet tips. Om du mappar residential så finns det ofta stora sammanhängande områden/kvarter med samma hastigheter och då kan man använda lasso för att markera alla. GLÖM DOCK INTE ATT ISF ändra markering efteråt i urvalsfönstret så att du bara väljer WAYs och INTE NODER innan du sätter maxspeed. När man får till vanan går det riktigt snabbt då.

@NKA

Väldigt stiligt arbete och ser att ni använder ungefär samma metod som jag gjort för att hitta vägar. Jag har dock tagit en mer lazy way och bara uppdaterat de vägar som redan har en bra överensstämmelse. Ska titta närmare! Framförallt när inte mitt script kommer längre :slight_smile:

1 Like

Min overpass-inlärningskurva har inte planat ut än (på långa vägar :roll_eyes: ), därför undrar jag på skillnaden mellan ditt:

[“maxspeed”!~“.*”]

och, som jag själv sökte:

[!“maxspeed”]

Min egen tolkning: din kod söker efter objekt som inte har nåt värde för maxspeed-taggen (och implicit, även de som saknar taggen helt). Min kod söker efter objekt som saknar maxspeed-taggen helt och hållet. Korrekt?

Jag gjorde en (begränsad) sökning på highway=classified och fick exakt samma antal träffar för båda alternativen.

Blev nyfiken själv och kollade upp. Verkar bara som att du är mer uppdaterad. Mitt sätt att skriva är tydligen en gammal variant av ”not exist”. I nyare versioner av Overpass API kan man skriva som du.

Har för mig att jag använt ditt sätt i webgränssnittet men att jag inte fått till det i JOSM? Kan det stämma? Att de kört olika versioner?

1 Like

Tack för steg-för-steg anvisningen!
Jag visste inte ens om att maxspeed fanns i forward/backward :laughing:
Jag har ett tips för att förenkla: T (aka knife tool) är ett av mina favoritverktyg.
Jag filtrerade bort alla noder med detta filter i JOSM “type:node” vilket gjorde det busenkelt att markera de vägar jag ville.

FYI med den där sökningen och filter i JOSM så blev jag klar med hela Härnösands kommun på ca 1 timme inkl. inställningstid och pill med sökning och filter. De allra flesta ways var 70. Några få typ en promille behövde delas med T och sen taggas med 50.
Om David kör in alla 70-vägar så skulle jag ha varit klar på några få minuter gissar jag och då bara ha behövt ta ställning till de små vägsnuttar intill andra vägar som inte än finns med i NVDB. Jag taggade några av dem som 70 och 50 beroende på omgivningen eller satte noter vid varenda en när jag var osäker.
Jag rekommenderar att ett skript sätter fixme på alla vägar som inte finns i NVDB och saknar maxspeed så nån kan inventera manuellt eller ringa kommunen och ge dem en lista på vägar att fixa i NVDB.
FWIW I fallet Härnösand har jag helt gett upp att kontakta kommunen, de vill inte samspela om något som helst datamässigt sen 14 år och verkar inte ha folk som har koll på öppna data alls. (jag hoppas att Härnösand är en outlier, jag har fått bra kontakt med Umeå kommun på senaste tex)

Kanske gick Härnösand bra eftersom jag har uppdaterat alla vägar där nyligen från nvdb. :wink:

Ja, jag såg att de alla låg precis som i NVDB. Tusen tack för det gedigna arbete att justera det hela! :pray:

Och tack för T! Sparar mig 50% av klicken!

Kom på ett tips:
Finns ett färgsättningstema i JOSM som heter “Maxspeed”, om man aktiverar det och sedan går in och justera färgerna så att de stämmer överens med NVDB blir det oerhört mycket enklare att se var någonstans det redan är taggat och korrekt och var det avviker. Här är variblerna och hex-koder:

speed_30 #67ff00;
speed_40 #ffd0ff;
speed_50 #00ffff;
speed_60 #33cc98;
speed_70 #ff9900;
speed_80 #cd00ff;
speed_90 #0266ff;
speed_100 #ffff00;
speed_110 #ff0000;
speed_120 #996600;