Större import av hastighetsgränser

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;

Innan någon lägger till maxhastighet eller annat, måste man vara övertygad om att segmentlängd (längd på way) och start/stopp-nod är lika i både i osm och nvdb. Annars kommer fel uppgift, exempelvis maxhastighet, att sättas på vägavsnitt där det inte stämmer.

Om man delar upp osmväg för att passa nvdbväg, måste man också kontrollera att man inte förstör eventuell relation som finns tidigare fanns på osmvägen. Och har man kommit så här långt, tycker jag också att man ska justera geometrin på osmvägen, så att den stämmer med Trafikverkets lager.

Ovanstående visar att fixa maxhastighet eller annat, är ganska tidsödande. En väg går snabbt, men om det är hundratal?

1 Like

15 posts were split to a new topic: Uppdelad tråd: “…reparera relationer vid väguppdelning”

Tack för påminnelsen om att fixa relationer efter pill med vägar. Jag brukar alltid fixa alla varningar och fel som har med relationer att göra där jag redigerar.