Vertikal kurve kalkulator for prosjekter innen sivilingeniørfag
Beregne vertikale kurveparametere for vei- og jernbanedesign. Finn høyder, K-verdier, høy/lav punkter og mer for topp- og bunnkurver i transportprosjekter.
Vertikal Kurve Kalkulator
Inndata Parametre
Curve Parameters
PVI Information
Resultater
Kurveegenskaper
Nøkkelpunkt
Stasjonsforespørsel
Visualisering
Dokumentasjon
Vertikal Kurve Kalkulator for Sivil Ingeniørfag
Introduksjon
En vertikal kurve kalkulator er et viktig verktøy innen sivilingeniørfag som hjelper ingeniører med å designe jevne overganger mellom forskjellige veigrader. Vertikale kurver er parabolsk kurver som brukes i veien og jernbanedesign for å skape en gradvis endring mellom to forskjellige skråninger eller gradienter, og sikrer komfortable kjøreforhold og riktig drenering. Denne kalkulatoren forenkler de komplekse matematiske beregningene som kreves for å designe vertikale kurver, noe som gjør det mulig for sivilingeniører, veidesignere og byggeprofesjonelle å raskt bestemme viktige parametere som kurvehøyder, høye og lave punkter, og K-verdier.
Enten du designer en motorvei, lokal vei eller jernbane, er vertikale kurver avgjørende for sikkerhet, førerkomfort og riktig stormvannshåndtering. Denne omfattende kalkulatoren håndterer både toppkurver (hvor veien stiger og deretter faller) og sagkurver (hvor veien dypper ned og deretter stiger), og gir all nødvendig informasjon for riktig vertikal justering design i transportingeniørprosjekter.
Grunnleggende om Vertikale Kurver
Hva er en Vertikal Kurve?
En vertikal kurve er en parabolsk kurve som brukes i den vertikale justeringen av veier, motorveier, jernbaner og annen transportinfrastruktur. Den gir en jevn overgang mellom to forskjellige grader eller skråninger, og eliminerer den brå endringen som ville oppstått hvis gradene møttes på et punkt. Denne jevne overgangen er avgjørende for:
- Førers komfort og sikkerhet
- Riktig synsavstand for sjåfører
- Kjøretøyoperasjonseffektivitet
- Effektiv drenering
- Estetisk utseende av veien
Vertikale kurver er vanligvis parabolsk i form fordi en parabola gir en konstant endringshastighet i grad, noe som resulterer i en jevn overgang som minimerer kreftene som oppleves av kjøretøy og passasjerer.
Typer av Vertikale Kurver
Det er to primære typer vertikale kurver som brukes i sivilingeniørfag:
-
Toppkurver: Disse oppstår når den innledende graden er større enn den endelige graden (f.eks. går fra +3% til -2%). Kurven danner en bakke eller høydepunkt. Toppkurver er primært designet basert på krav til stoppende synsavstand.
-
Sagkurver: Disse oppstår når den innledende graden er mindre enn den endelige graden (f.eks. går fra -2% til +3%). Kurven danner en dal eller lavt punkt. Sagkurver er vanligvis designet basert på frontlys synsavstand og dreneringshensyn.
Nøkkelparametere for Vertikale Kurver
For å fullt definere en vertikal kurve, må flere nøkkelparametere etableres:
- Innledende Grad (g₁): Skråningen av veien før den går inn i kurven, uttrykt som en prosentandel
- Endelig Grad (g₂): Skråningen av veien etter å ha forlatt kurven, uttrykt som en prosentandel
- Kurvelengde (L): Den horisontale avstanden over hvilken den vertikale kurven strekker seg, vanligvis målt i meter eller fot
- PVI (Punkt for Vertikal Interseksjon): Det teoretiske punktet der de to tangentgradene ville krysse hvis det ikke var noen kurve
- PVC (Punkt for Vertikal Kurve): Begynnelsespunket for den vertikale kurven
- PVT (Punkt for Vertikal Tangent): Sluttpunktet for den vertikale kurven
- K Verdi: Den horisontale avstanden som kreves for å oppnå en 1% endring i grad, et mål på kurvens flathet
Matematisk Formler
Grunnleggende Vertikal Kurve Ligning
Høyden på et hvilket som helst punkt langs en vertikal kurve kan beregnes ved hjelp av den kvadratiske ligningen:
Hvor:
- = Høyde ved avstand fra PVC
- = Høyde ved PVC
- = Innledende grad (desimalform)
- = Avstand fra PVC
- = Algebraisk forskjell i grader ()
- = Lengden på den vertikale kurven
K Verdi Beregning
K verdien er et mål på kurvens flathet og beregnes som:
Hvor:
- = Rate av vertikal krumning
- = Lengden på den vertikale kurven
- = Innledende grad (prosent)
- = Endelig grad (prosent)
Høyere K verdier indikerer flatere kurver. Designstandarder spesifiserer ofte minimum K verdier basert på designhastighet og kurvetype.
Høyt/Lavt Punkt Beregning
For toppkurver hvor og , eller sagkurver hvor og , vil det være et høyt eller lavt punkt innen kurven. Stasjonen for dette punktet kan beregnes som:
Høyden på dette høye/lave punktet beregnes deretter ved å bruke den grunnleggende vertikale kurve ligningen.
PVC og PVT Beregninger
Gitt PVI stasjonen og høyden, kan PVC og PVT beregnes som:
Merk: Divisjonen med 200 i høydeformlene tar hensyn til konverteringen av grad fra prosent til desimalform og halvlengden av kurven.
Grense Tilfeller
-
Like Grader (g₁ = g₂): Når den innledende og den endelige graden er like, er det ikke nødvendig med en vertikal kurve. K verdien blir uendelig, og "kurven" er faktisk en rett linje.
-
Veldig Små Grad Forskjeller: Når forskjellen mellom gradene er veldig liten, blir K verdien veldig stor. Dette kan kreve justeringer av kurvelengden for praktisk implementering.
-
Null Lengde Kurver: En vertikal kurve med null lengde er ikke matematisk gyldig og bør unngås i design.
Hvordan Bruke Vertikal Kurve Kalkulatoren
Vår vertikal kurve kalkulator forenkler disse komplekse beregningene, og lar deg raskt bestemme alle nøkkelparametere for ditt vertikale kurvedesign. Slik bruker du den:
Trinn 1: Skriv Inn Grunnleggende Kurveparametere
- Skriv inn den Innledende Graden (g₁) i prosentform (f.eks. 2 for en 2% oppoverbakke, -3 for en 3% nedoverbakke)
- Skriv inn den Endelige Graden (g₂) i prosentform
- Skriv inn Kurvelengden i meter
- Spesifiser PVI Stasjonen (stasjonverdien ved punktet for vertikal interseksjon)
- Skriv inn PVI Høyden i meter
Trinn 2: Gå Gjennom Resultatene
Etter å ha skrevet inn de nødvendige parameterne, vil kalkulatoren automatisk beregne og vise:
- Kurvetype: Om kurven er en topp, sag, eller ingen
- K Verdi: Raten av vertikal krumning
- PVC Stasjon og Høyde: Begynnelsespunktet for kurven
- PVT Stasjon og Høyde: Sluttpunktet for kurven
- Høyt/Lavt Punkt: Hvis aktuelt, stasjonen og høyden på det høyeste eller laveste punktet på kurven
Trinn 3: Spør Om Spesifikke Stasjoner
Du kan også spørre om høyden ved en spesifikk stasjon langs kurven:
- Skriv inn Spørsmål Stasjonen verdien
- Kalkulatoren vil vise den tilsvarende høyden ved den stasjonen
- Hvis stasjonen er utenfor kurvens grenser, vil kalkulatoren indikere dette
Trinn 4: Visualiser Kurven
Kalkulatoren gir en visuell representasjon av den vertikale kurven, som viser:
- Kurveprofilen
- Nøkkelpunkter (PVC, PVI, PVT)
- Høyt eller lavt punkt (hvis aktuelt)
- Tangentgrader
Denne visualiseringen hjelper deg med å forstå kurvens form og verifisere at den oppfyller designkravene dine.
Bruksområder og Applikasjoner
Vertikale kurveberegninger er avgjørende i mange sivilingeniørapplikasjoner:
Motorvei og Veidesign
Vertikale kurver er grunnleggende komponenter av veidesign, og sikrer trygge og komfortable kjøreforhold. De brukes til å:
- Skape jevne overganger mellom forskjellige veigrader
- Sikre tilstrekkelig synsavstand for sjåfører
- Gi riktig drenering for å forhindre vannakkumulering
- Oppfylle designstandarder og spesifikasjoner for forskjellige veiklassifiseringer
For eksempel, når man designer en motorvei som må krysse kupert terreng, må ingeniører nøye beregne vertikale kurver for å sikre at sjåfører har tilstrekkelig synsavstand til å stoppe trygt hvis et hinder dukker opp på veien.
Jernbanedesign
I jernbaneingeniørfag er vertikale kurver kritiske for:
- Å sikre jevn togdrift
- Minimere slitasje på skinner og togkomponenter
- Opprettholde passasjerkomfort
- Muliggjøre riktig drift ved designhastigheter
Jernbanevertikale kurver har ofte større K verdier enn veier på grunn av den begrensede evnen til tog til å navigere bratte gradendringer.
Flyplass Rullebane Design
Vertikale kurver brukes i flyplassrullebane design for å:
- Sikre riktig drenering av rullebanens overflate
- Gi tilstrekkelig synsavstand for piloter
- Oppfylle FAA eller internasjonale luftfartsmyndigheters krav
- Legge til rette for jevne takeoff og landing
Landområd Utvikling og Sted Gradering
Når man utvikler land for byggeprosjekter, hjelper vertikale kurver med å:
- Skape estetisk tiltalende landsformer
- Sikre riktig stormvannshåndtering
- Minimere mengden jordarbeid
- Gi tilgjengelige ruter som overholder ADA-krav
Stormvannshåndteringssystemer
Vertikale kurver er avgjørende i utformingen av:
- Dreneringskanaler
- Kulverter
- Stormvannsdempingsanlegg
- Avløpssystemer
Riktig design av vertikale kurver sikrer at vann strømmer med passende hastigheter og forhindrer sedimentering eller erosjon.
Alternativer til Parabolske Vertikale Kurver
Selv om paraboliske vertikale kurver er standard i de fleste sivilingeniørapplikasjoner, finnes det alternativer:
-
Sirkulære Vertikale Kurver: Brukes i noen eldre design og i visse internasjonale standarder. De gir en variabel endringshastighet i grad, noe som kan være mindre komfortabelt for sjåfører.
-
Klotoid eller Spiral Kurver: Brukes noen ganger i spesialiserte applikasjoner der en gradvis økende endringsrate er ønskelig.
-
Kubeparaboler: Brukes av og til for spesielle situasjoner der mer komplekse kurveegenskaper er nødvendige.
-
Rett Linje Approksimasjoner: I svært tidlige design eller for veldig flatt terreng kan enkle rettlinjede forbindelser brukes i stedet for ekte vertikale kurver.
Den paraboliske vertikale kurven forblir standarden for de fleste applikasjoner på grunn av sin enkelhet, konsistente endringsrate, og veletablerte designprosedyrer.
Historie om Vertikal Kurve Design
Utviklingen av metoder for vertikal kurve design har utviklet seg sammen med transportingeniørfag:
Tidlig Veidesign (Før 1900-tallet)
I tidlig veibygging ble vertikale justeringer ofte bestemt av det naturlige terrenget med minimal gradering. Etter hvert som kjøretøy ble raskere og mer vanlige, ble behovet for mer vitenskapelige tilnærminger til veidesign åpenbart.
Utvikling av Parabolske Kurver (Tidlig 1900-tall)
Den paraboliske vertikale kurven ble standarden tidlig på 1900-tallet da ingeniører anerkjente fordelene:
- Konstant endringsrate i grad
- Relativt enkle matematiske egenskaper
- God balanse mellom komfort og konstruerbarhet
Standardisering (Midt på 1900-tallet)
Ved midten av 1900-tallet begynte transportbyråer å utvikle standardiserte tilnærminger til vertikal kurve design:
- AASHTO (American Association of State Highway and Transportation Officials) etablerte retningslinjer for minimum K verdier basert på krav til stoppende synsavstand for toppkurver og frontlys synsavstand for sagkurver.
- Lignende standarder ble utviklet internasjonalt.
- Synsavstand ble en primær faktor i å bestemme kurvelengder.
Moderne Beregningsmetoder (Sene 1900-tall til Nå)
Med fremveksten av datamaskiner ble vertikal kurve design mer sofistikert:
- Datastøttet design (CAD) programvare automatiserte beregningene
- 3D-modellering tillot bedre visualisering og integrering med horisontal justering
- Optimaliseringsalgoritmer hjalp med å finne de mest effektive vertikale justeringene
I dag fortsetter vertikal kurve design å utvikle seg med ny forskning på føreratferd, kjøretøy dynamikk og miljøhensyn.
Ofte Stilte Spørsmål
Hva er en K verdi i vertikal kurve design?
K verdien representerer den horisontale avstanden som kreves for å oppnå en 1% endring i grad. Den beregnes ved å dele lengden av den vertikale kurven med den absolutte forskjellen mellom den innledende og den endelige graden. Høyere K verdier indikerer flatere, mer gradvise kurver. K verdier spesifiseres ofte i designstandarder basert på designhastighet og om kurven er en topp eller sagkurve.
Hvordan bestemmer jeg om jeg trenger en topp eller sag vertikal kurve?
Type vertikal kurve avhenger av forholdet mellom den innledende og den endelige graden:
- Hvis den innledende graden er større enn den endelige graden (g₁ > g₂), trenger du en toppkurve.
- Hvis den innledende graden er mindre enn den endelige graden (g₁ < g₂), trenger du en sagkurve.
- Hvis den innledende og den endelige graden er like (g₁ = g₂), er det ikke nødvendig med en vertikal kurve.
Hvilken minimum K verdi bør jeg bruke for designet mitt?
Minimum K verdier avhenger av designhastighet, kurvetype og gjeldende designstandarder. For eksempel gir AASHTO tabeller over minimum K verdier basert på stoppende synsavstand for toppkurver og frontlys synsavstand for sagkurver. Høyere designhastigheter krever større K verdier for å sikre sikkerhet.
Hvordan beregner jeg det høye eller lave punktet på en vertikal kurve?
Det høye punktet (for toppkurver) eller lave punktet (for sagkurver) oppstår der graden langs kurven er lik null. Dette kan beregnes ved hjelp av formelen:
Det høye/lave punktet eksisterer bare innenfor kurven hvis denne stasjonen faller mellom PVC og PVT.
Hva skjer hvis den innledende og den endelige graden er like?
Hvis den innledende og den endelige graden er like, er det ikke nødvendig med en vertikal kurve. Resultatet er ganske enkelt en rett linje med en konstant grad. I dette tilfellet ville K verdien teoretisk være uendelig.
Hvordan påvirker lengden på en vertikal kurve førerkomfort?
Lengre vertikale kurver gir mer gradvise overganger mellom grader, noe som resulterer i større førerkomfort. Korte vertikale kurver kan skape brå endringer i vertikal akselerasjon, noe som kan være ubehagelig for sjåfører og passasjerer. Den passende kurvelengden avhenger av designhastighet, gradforskjell og stedbegrensninger.
Kan vertikale kurver ha null lengde?
Matematisk kan en vertikal kurve ikke ha null lengde, da dette ville skape en umiddelbar endring i grad, noe som ikke er en kurve. I praksis kan veldig korte vertikale kurver brukes i lavhastighetsmiljøer, men de bør fortsatt ha tilstrekkelig lengde for å gi en jevn overgang.
Hvordan påvirker vertikale kurver drenering?
Vertikale kurver påvirker retningen og hastigheten på vannstrømmen på veier. Toppkurver letter vanligvis drenering ved å lede vann bort fra høydepunktet. Sagkurver kan skape potensielle dreneringsproblemer ved lavpunktet, noe som ofte krever ekstra dreneringsstrukturer som inntak eller kulverter.
Hva er forskjellen mellom PVI, PVC og PVT?
- PVI (Punkt for Vertikal Interseksjon): Det teoretiske punktet der de utvidede innledende og endelige gradlinjene ville krysse
- PVC (Punkt for Vertikal Kurve): Begynnelsespunket for den vertikale kurven
- PVT (Punkt for Vertikal Tangent): Sluttpunktet for den vertikale kurven
I en standard symmetrisk vertikal kurve ligger PVC vanligvis halvveis mellom PVI, og PVT ligger halvveis etter PVI.
Hvor nøyaktige er beregningene av vertikale kurver?
Moderne beregninger av vertikale kurver kan være ekstremt nøyaktige når de utføres korrekt. Imidlertid kan konstruksjonstoleranser, feltforhold og avrunding i beregningene introdusere små variasjoner. For de fleste praktiske formål er beregninger til nærmeste centimeter eller hundredel av en fot tilstrekkelige for høyder.
Kode Eksempler
Her er eksempler på hvordan man beregner vertikale kurveparametere i forskjellige programmeringsspråk:
1' Excel VBA Funksjon for å beregne høyde ved et hvilket som helst punkt på en vertikal kurve
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Konverter grader fra prosent til desimal
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Beregn algebraisk forskjell i grader
10 Dim A As Double
11 A = g2 - g1
12
13 ' Beregn avstand fra PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Sjekk om stasjonen er innenfor kurvens grenser
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Utenfor kurvens grenser"
20 Exit Function
21 End If
22
23 ' Beregn høyde ved hjelp av vertikal kurve ligningen
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Funksjon for å beregne K verdi
31Function KValue(curveLength, initialGrade, finalGrade)
32 KValue = curveLength / Abs(finalGrade - initialGrade)
33End Function
34
1import math
2
3def calculate_k_value(curve_length, initial_grade, final_grade):
4 """Beregne K verdien av en vertikal kurve."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Unngå divisjon med null
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Bestemme om kurven er en topp, sag eller ingen."""
12 if initial_grade > final_grade:
13 return "topp"
14 elif initial_grade < final_grade:
15 return "sag"
16 else:
17 return "ingen"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Beregne høyde ved en hvilken som helst stasjon langs en vertikal kurve."""
22 # Beregn PVC og PVT stasjoner
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Sjekk om stasjonen er innenfor kurvens grenser
27 if station < pvc_station or station > pvt_station:
28 return None # Utenfor kurvens grenser
29
30 # Beregn PVC høyde
31 g1 = initial_grade / 100 # Konverter til desimal
32 g2 = final_grade / 100 # Konverter til desimal
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Beregn avstand fra PVC
36 x = station - pvc_station
37
38 # Beregn algebraisk forskjell i grader
39 A = g2 - g1
40
41 # Beregn høyde ved hjelp av vertikal kurve ligningen
42 elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
43
44 return elevation
45
46def calculate_high_low_point(initial_grade, final_grade, pvi_station,
47 pvi_elevation, curve_length):
48 """Beregne det høye eller lave punktet på en vertikal kurve hvis det eksisterer."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Høyt/lavt punkt eksisterer bare hvis gradene har motsatte tegn
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Beregn avstand fra PVC til høyt/lavt punkt
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Sjekk om høyt/lavt punkt er innenfor kurvens grenser
61 if x < 0 or x > curve_length:
62 return None
63
64 # Beregn stasjonen for høyt/lavt punkt
65 hl_station = pvc_station + x
66
67 # Beregn PVC høyde
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Beregn høyde ved høyt/lavt punkt
71 A = g2 - g1
72 hl_elevation = pvc_elevation + g1 * x + (A * x * x) / (2 * curve_length)
73
74 return {"station": hl_station, "elevation": hl_elevation}
75
1/**
2 * Beregn K verdi for en vertikal kurve
3 * @param {number} curveLength - Lengden på den vertikale kurven i meter
4 * @param {number} initialGrade - Innledende grad i prosent
5 * @param {number} finalGrade - Endelig grad i prosent
6 * @returns {number} K verdi
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // For like grader
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Bestem typen vertikal kurve
18 * @param {number} initialGrade - Innledende grad i prosent
19 * @param {number} finalGrade - Endelig grad i prosent
20 * @returns {string} Kurvetype: "topp", "sag", eller "ingen"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "topp";
25 } else if (initialGrade < finalGrade) {
26 return "sag";
27 } else {
28 return "ingen";
29 }
30}
31
32/**
33 * Beregn høyde ved en hvilken som helst stasjon langs en vertikal kurve
34 * @param {number} station - Spørsmål stasjon
35 * @param {number} initialGrade - Innledende grad i prosent
36 * @param {number} finalGrade - Endelig grad i prosent
37 * @param {number} pviStation - PVI stasjon
38 * @param {number} pviElevation - PVI høyde i meter
39 * @param {number} curveLength - Lengden på den vertikale kurven i meter
40 * @returns {number|null} Høyde ved stasjonen eller null hvis utenfor kurvens grenser
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Beregn PVC og PVT stasjoner
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Sjekk om stasjonen er innenfor kurvens grenser
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Utenfor kurvens grenser
57 }
58
59 // Konverter grader til desimal
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Beregn PVC høyde
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Beregn avstand fra PVC
67 const x = station - pvcStation;
68
69 // Beregn algebraisk forskjell i grader
70 const A = g2 - g1;
71
72 // Beregn høyde ved hjelp av vertikal kurve ligningen
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Beregn K verdi for en vertikal kurve
4 * @param curveLength Lengden på den vertikale kurven i meter
5 * @param initialGrade Innledende grad i prosent
6 * @param finalGrade Endelig grad i prosent
7 * @return K verdi
8 */
9 public static double calculateKValue(double curveLength, double initialGrade, double finalGrade) {
10 double gradeChange = Math.abs(finalGrade - initialGrade);
11 if (gradeChange < 0.0001) {
12 return Double.POSITIVE_INFINITY; // For like grader
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Bestem typen vertikal kurve
19 * @param initialGrade Innledende grad i prosent
20 * @param finalGrade Endelig grad i prosent
21 * @return Kurvetype: "topp", "sag", eller "ingen"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "topp";
26 } else if (initialGrade < finalGrade) {
27 return "sag";
28 } else {
29 return "ingen";
30 }
31 }
32
33 /**
34 * Beregn PVC stasjon og høyde
35 * @param pviStation PVI stasjon
36 * @param pviElevation PVI høyde i meter
37 * @param initialGrade Innledende grad i prosent
38 * @param curveLength Lengden på den vertikale kurven i meter
39 * @return Objekt som inneholder stasjon og høyde for PVC
40 */
41 public static Point calculatePVC(double pviStation, double pviElevation,
42 double initialGrade, double curveLength) {
43 double station = pviStation - curveLength / 2;
44 double elevation = pviElevation - (initialGrade / 100) * (curveLength / 2);
45 return new Point(station, elevation);
46 }
47
48 /**
49 * Beregn PVT stasjon og høyde
50 * @param pviStation PVI stasjon
51 * @param pviElevation PVI høyde i meter
52 * @param finalGrade Endelig grad i prosent
53 * @param curveLength Lengden på den vertikale kurven i meter
54 * @return Objekt som inneholder stasjon og høyde for PVT
55 */
56 public static Point calculatePVT(double pviStation, double pviElevation,
57 double finalGrade, double curveLength) {
58 double station = pviStation + curveLength / 2;
59 double elevation = pviElevation + (finalGrade / 100) * (curveLength / 2);
60 return new Point(station, elevation);
61 }
62
63 /**
64 * Indre klasse for å representere et punkt med stasjon og høyde
65 */
66 public static class Point {
67 public final double station;
68 public final double elevation;
69
70 public Point(double station, double elevation) {
71 this.station = station;
72 this.elevation = elevation;
73 }
74 }
75}
76
Praktiske Eksempler
Eksempel 1: Motorvei Topp Kurve Design
En motorveidesign krever en vertikal kurve for å overføre fra en +3% grad til en -2% grad. PVI er på stasjon 1000+00 med en høyde på 150,00 meter. Designhastigheten er 100 km/t, som krever en minimum K verdi på 80 i henhold til designstandarder.
Trinn 1: Beregn minimum kurvelengde
Relaterte verktøy
Oppdag flere verktøy som kan være nyttige for arbeidsflyten din