Hitung parameter kurva vertikal untuk desain jalan dan rel kereta. Temukan elevasi, nilai K, titik tinggi/rendah, dan lainnya untuk kurva puncak dan cekung dalam proyek transportasi.
Kalkulator kurva vertikal adalah alat penting dalam rekayasa sipil yang membantu insinyur merancang transisi yang mulus antara berbagai kemiringan jalan. Kurva vertikal adalah kurva parabola yang digunakan dalam desain jalan dan rel kereta api untuk menciptakan perubahan bertahap antara dua kemiringan atau gradien yang berbeda, memastikan kondisi berkendara yang nyaman dan drainase yang tepat. Kalkulator ini menyederhanakan perhitungan matematis kompleks yang diperlukan untuk merancang kurva vertikal, memungkinkan insinyur sipil, perancang jalan, dan profesional konstruksi untuk dengan cepat menentukan parameter kunci seperti elevasi kurva, titik tinggi dan rendah, serta nilai K.
Apakah Anda sedang merancang jalan raya, jalan lokal, atau rel kereta api, kurva vertikal sangat penting untuk keselamatan, kenyamanan pengemudi, dan pengelolaan air hujan yang tepat. Kalkulator komprehensif ini menangani baik kurva puncak (di mana jalan naik kemudian turun) maupun kurva sag (di mana jalan turun kemudian naik), memberikan semua informasi penting yang diperlukan untuk desain penyelarasan vertikal yang tepat dalam proyek rekayasa transportasi.
Kurva vertikal adalah kurva parabola yang digunakan dalam penyelarasan vertikal jalan, jalan raya, rel kereta api, dan infrastruktur transportasi lainnya. Ini memberikan transisi yang mulus antara dua gradien atau kemiringan yang berbeda, menghilangkan perubahan mendadak yang akan terjadi jika gradien bertemu pada suatu titik. Transisi yang mulus ini sangat penting untuk:
Kurva vertikal biasanya berbentuk parabola karena parabola memberikan laju perubahan yang konstan dalam gradien, menghasilkan transisi yang mulus yang meminimalkan gaya yang dialami oleh kendaraan dan penumpang.
Ada dua jenis utama kurva vertikal yang digunakan dalam rekayasa sipil:
Kurva Puncak: Ini terjadi ketika gradien awal lebih besar dari gradien akhir (misalnya, dari +3% ke -2%). Kurva ini membentuk bukit atau titik tinggi. Kurva puncak terutama dirancang berdasarkan persyaratan jarak pandang berhenti.
Kurva Sag: Ini terjadi ketika gradien awal kurang dari gradien akhir (misalnya, dari -2% ke +3%). Kurva ini membentuk lembah atau titik rendah. Kurva sag biasanya dirancang berdasarkan jarak pandang lampu depan dan pertimbangan drainase.
Untuk sepenuhnya mendefinisikan kurva vertikal, beberapa parameter kunci harus ditetapkan:
Elevasi pada titik mana pun di sepanjang kurva vertikal dapat dihitung menggunakan persamaan kuadrat:
Di mana:
Nilai K adalah ukuran datarnya kurva dan dihitung sebagai:
Di mana:
Nilai K yang lebih tinggi menunjukkan kurva yang lebih datar. Standar desain sering kali menentukan nilai K minimum berdasarkan kecepatan desain dan jenis kurva.
Untuk kurva puncak di mana dan , atau kurva sag di mana dan , akan ada titik tinggi atau rendah di dalam kurva. Stasiun titik ini dapat dihitung sebagai:
Elevasi di titik tinggi/rendah ini kemudian dihitung menggunakan persamaan kurva vertikal dasar.
Diberikan stasiun dan elevasi PVI, PVC dan PVT dapat dihitung sebagai:
Catatan: Pembagian dengan 200 dalam rumus elevasi memperhitungkan konversi gradien dari persentase ke bentuk desimal dan setengah panjang kurva.
Gradien Sama (g₁ = g₂): Ketika gradien awal dan akhir sama, tidak ada kurva vertikal yang dibutuhkan. Nilai K menjadi tak terhingga, dan "kurva" sebenarnya adalah garis lurus.
Perbedaan Gradien Sangat Kecil: Ketika perbedaan antara gradien sangat kecil, nilai K menjadi sangat besar. Ini mungkin memerlukan penyesuaian pada panjang kurva untuk implementasi praktis.
Kurva Panjang Nol: Kurva vertikal dengan panjang nol tidak valid secara matematis dan harus dihindari dalam desain.
Kalkulator kurva vertikal kami menyederhanakan perhitungan kompleks ini, memungkinkan Anda untuk dengan cepat menentukan semua parameter kunci untuk desain kurva vertikal Anda. Berikut adalah cara menggunakannya:
Setelah memasukkan parameter yang diperlukan, kalkulator secara otomatis akan menghitung dan menampilkan:
Anda juga dapat menanyakan elevasi di stasiun spesifik mana pun di sepanjang kurva:
Kalkulator menyediakan representasi visual dari kurva vertikal, menunjukkan:
Visualisasi ini membantu Anda memahami bentuk kurva dan memverifikasi bahwa itu memenuhi persyaratan desain Anda.
Perhitungan kurva vertikal sangat penting dalam berbagai aplikasi rekayasa sipil:
Kurva vertikal adalah komponen dasar dari desain jalan, memastikan kondisi berkendara yang aman dan nyaman. Mereka digunakan untuk:
Sebagai contoh, ketika merancang jalan raya yang perlu melintasi medan berbukit, insinyur harus dengan hati-hati menghitung kurva vertikal untuk memastikan bahwa pengemudi memiliki jarak pandang yang cukup untuk berhenti dengan aman jika ada rintangan di jalan.
Dalam rekayasa rel kereta, kurva vertikal sangat penting untuk:
Kurva vertikal rel kereta sering memiliki nilai K yang lebih besar daripada jalan raya karena keterbatasan kemampuan kereta untuk menavigasi perubahan gradien yang curam.
Kurva vertikal digunakan dalam desain landasan bandara untuk:
Saat mengembangkan tanah untuk proyek konstruksi, kurva vertikal membantu:
Kurva vertikal sangat penting dalam merancang:
Desain kurva vertikal yang tepat memastikan bahwa air mengalir pada kecepatan yang sesuai dan mencegah sedimentasi atau erosi.
Meskipun kurva vertikal parabola adalah standar dalam sebagian besar aplikasi rekayasa sipil, ada alternatif:
Kurva Vertikal Lingkaran: Digunakan dalam beberapa desain lama dan dalam standar internasional tertentu. Mereka memberikan laju perubahan gradien yang bervariasi, yang dapat kurang nyaman bagi pengemudi.
Kurva Clothoid atau Spiral: Kadang-kadang digunakan dalam aplikasi khusus di mana laju perubahan yang meningkat secara bertahap diinginkan.
Parabola Kubik: Kadang-kadang digunakan untuk situasi khusus di mana sifat kurva yang lebih kompleks diperlukan.
Pendekatan Garis Lurus: Dalam desain yang sangat awal atau untuk medan yang sangat datar, sambungan garis lurus sederhana dapat digunakan sebagai pengganti kurva vertikal yang sebenarnya.
Kurva vertikal parabola tetap menjadi standar untuk sebagian besar aplikasi karena kesederhanaannya, laju perubahan yang konsisten, dan prosedur desain yang telah mapan.
Perkembangan metodologi desain kurva vertikal telah berkembang seiring dengan rekayasa transportasi:
Dalam konstruksi jalan awal, penyelarasan vertikal sering kali ditentukan oleh medan alami dengan sedikit penggilingan. Ketika kendaraan menjadi lebih cepat dan lebih umum, kebutuhan untuk pendekatan yang lebih ilmiah terhadap desain jalan menjadi jelas.
Kurva vertikal parabola menjadi standar pada awal abad ke-20 ketika insinyur menyadari keuntungannya:
Pada pertengahan abad ke-20, lembaga transportasi mulai mengembangkan pendekatan standar untuk desain kurva vertikal:
Dengan munculnya komputer, desain kurva vertikal menjadi lebih canggih:
Saat ini, desain kurva vertikal terus berkembang dengan penelitian baru tentang perilaku pengemudi, dinamika kendaraan, dan pertimbangan lingkungan.
Nilai K mewakili jarak horizontal yang diperlukan untuk mencapai perubahan 1% dalam gradien. Ini dihitung dengan membagi panjang kurva vertikal dengan perbedaan absolut antara gradien awal dan akhir. Nilai K yang lebih tinggi menunjukkan kurva yang lebih datar. Nilai K sering kali ditentukan dalam standar desain berdasarkan kecepatan desain dan apakah kurva adalah puncak atau sag.
Tipe kurva vertikal tergantung pada hubungan antara gradien awal dan akhir:
Nilai K minimum tergantung pada kecepatan desain, jenis kurva, dan standar desain yang berlaku. Misalnya, AASHTO menyediakan tabel nilai K minimum berdasarkan jarak pandang berhenti untuk kurva puncak dan jarak pandang lampu depan untuk kurva sag. Kecepatan desain yang lebih tinggi memerlukan nilai K yang lebih besar untuk memastikan keselamatan.
Titik tinggi (untuk kurva puncak) atau titik rendah (untuk kurva sag) terjadi di mana gradien sepanjang kurva sama dengan nol. Ini dapat dihitung menggunakan rumus:
Titik tinggi/rendah hanya ada di dalam kurva jika stasiun ini jatuh di antara PVC dan PVT.
Jika gradien awal dan akhir sama, tidak ada kurva yang dibutuhkan. Hasilnya hanyalah garis lurus dengan gradien konstan. Dalam hal ini, nilai K akan menjadi tak terhingga.
Kurva vertikal yang lebih panjang memberikan transisi yang lebih bertahap antara gradien, menghasilkan kenyamanan pengemudi yang lebih besar. Kurva vertikal yang pendek dapat menciptakan perubahan mendadak dalam percepatan vertikal, yang mungkin tidak nyaman bagi pengemudi dan penumpang. Panjang kurva yang tepat tergantung pada kecepatan desain, perbedaan gradien, dan batasan lokasi.
Secara matematis, kurva vertikal tidak dapat memiliki panjang nol karena ini akan menciptakan perubahan gradien yang instan, yang bukan merupakan kurva. Dalam praktiknya, kurva vertikal yang sangat pendek mungkin digunakan di lingkungan kecepatan rendah, tetapi mereka harus tetap memiliki panjang yang cukup untuk memberikan transisi yang mulus.
Kurva vertikal mempengaruhi arah dan kecepatan aliran air di jalan. Kurva puncak biasanya memfasilitasi drainase dengan mengarahkan air menjauh dari titik tinggi. Kurva sag dapat menciptakan potensi masalah drainase di titik rendah, sering kali memerlukan struktur drainase tambahan seperti inlet atau saluran.
Dalam kurva vertikal simetris standar, PVC terletak setengah panjang kurva sebelum PVI, dan PVT terletak setengah panjang kurva setelah PVI.
Perhitungan kurva vertikal modern dapat sangat akurat jika dilakukan dengan benar. Namun, toleransi konstruksi, kondisi lapangan, dan pembulatan dalam perhitungan dapat memperkenalkan variasi kecil. Untuk sebagian besar tujuan praktis, perhitungan hingga sentimeter terdekat atau seratusan kaki sudah cukup untuk elevasi.
Berikut adalah contoh cara menghitung parameter kurva vertikal dalam berbagai bahasa pemrograman:
1' Fungsi Excel VBA untuk menghitung elevasi di titik mana pun pada kurva vertikal
2Function VerticalCurveElevation(initialGrade, finalGrade, curveLength, pvcStation, pvcElevation, queryStation)
3 ' Konversi gradien dari persentase ke desimal
4 Dim g1 As Double
5 Dim g2 As Double
6 g1 = initialGrade / 100
7 g2 = finalGrade / 100
8
9 ' Hitung perbedaan aljabar dalam gradien
10 Dim A As Double
11 A = g2 - g1
12
13 ' Hitung jarak dari PVC
14 Dim x As Double
15 x = queryStation - pvcStation
16
17 ' Periksa apakah stasiun berada dalam batas kurva
18 If x < 0 Or x > curveLength Then
19 VerticalCurveElevation = "Di luar batas kurva"
20 Exit Function
21 End If
22
23 ' Hitung elevasi menggunakan persamaan kurva vertikal
24 Dim elevation As Double
25 elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength)
26
27 VerticalCurveElevation = elevation
28End Function
29
30' Fungsi untuk menghitung nilai K
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 """Menghitung nilai K dari kurva vertikal."""
5 grade_change = abs(final_grade - initial_grade)
6 if grade_change < 0.0001: # Hindari pembagian dengan nol
7 return float('inf')
8 return curve_length / grade_change
9
10def calculate_curve_type(initial_grade, final_grade):
11 """Menentukan apakah kurva adalah puncak, sag, atau tidak ada."""
12 if initial_grade > final_grade:
13 return "puncak"
14 elif initial_grade < final_grade:
15 return "sag"
16 else:
17 return "tidak ada"
18
19def calculate_elevation_at_station(station, initial_grade, final_grade,
20 pvi_station, pvi_elevation, curve_length):
21 """Menghitung elevasi di stasiun mana pun di sepanjang kurva vertikal."""
22 # Hitung stasiun PVC dan PVT
23 pvc_station = pvi_station - curve_length / 2
24 pvt_station = pvi_station + curve_length / 2
25
26 # Periksa apakah stasiun berada dalam batas kurva
27 if station < pvc_station or station > pvt_station:
28 return None # Di luar batas kurva
29
30 # Hitung elevasi PVC
31 g1 = initial_grade / 100 # Konversi ke desimal
32 g2 = final_grade / 100 # Konversi ke desimal
33 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
34
35 # Hitung jarak dari PVC
36 x = station - pvc_station
37
38 # Hitung perbedaan aljabar dalam gradien
39 A = g2 - g1
40
41 # Hitung elevasi menggunakan persamaan kurva vertikal
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 """Menghitung titik tinggi atau rendah dari kurva vertikal jika ada."""
49 g1 = initial_grade / 100
50 g2 = final_grade / 100
51
52 # Titik tinggi/rendah hanya ada jika gradien memiliki tanda yang berlawanan
53 if g1 * g2 >= 0 and g1 != 0:
54 return None
55
56 # Hitung jarak dari PVC ke titik tinggi/rendah
57 pvc_station = pvi_station - curve_length / 2
58 x = -g1 * curve_length / (g2 - g1)
59
60 # Periksa apakah titik tinggi/rendah berada dalam batas kurva
61 if x < 0 or x > curve_length:
62 return None
63
64 # Hitung stasiun titik tinggi/rendah
65 hl_station = pvc_station + x
66
67 # Hitung elevasi PVC
68 pvc_elevation = pvi_elevation - (g1 * curve_length / 2)
69
70 # Hitung elevasi di titik tinggi/rendah
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 * Menghitung nilai K untuk kurva vertikal
3 * @param {number} curveLength - Panjang kurva vertikal dalam meter
4 * @param {number} initialGrade - Gradien awal dalam persentase
5 * @param {number} finalGrade - Gradien akhir dalam persentase
6 * @returns {number} Nilai K
7 */
8function calculateKValue(curveLength, initialGrade, finalGrade) {
9 const gradeChange = Math.abs(finalGrade - initialGrade);
10 if (gradeChange < 0.0001) {
11 return Infinity; // Untuk gradien yang sama
12 }
13 return curveLength / gradeChange;
14}
15
16/**
17 * Menentukan jenis kurva vertikal
18 * @param {number} initialGrade - Gradien awal dalam persentase
19 * @param {number} finalGrade - Gradien akhir dalam persentase
20 * @returns {string} Jenis kurva: "puncak", "sag", atau "tidak ada"
21 */
22function determineCurveType(initialGrade, finalGrade) {
23 if (initialGrade > finalGrade) {
24 return "puncak";
25 } else if (initialGrade < finalGrade) {
26 return "sag";
27 } else {
28 return "tidak ada";
29 }
30}
31
32/**
33 * Menghitung elevasi di stasiun mana pun di sepanjang kurva vertikal
34 * @param {number} station - Stasiun kuery
35 * @param {number} initialGrade - Gradien awal dalam persentase
36 * @param {number} finalGrade - Gradien akhir dalam persentase
37 * @param {number} pviStation - Stasiun PVI
38 * @param {number} pviElevation - Elevasi PVI dalam meter
39 * @param {number} curveLength - Panjang kurva vertikal dalam meter
40 * @returns {number|null} Elevasi di stasiun atau null jika di luar batas kurva
41 */
42function calculateElevationAtStation(
43 station,
44 initialGrade,
45 finalGrade,
46 pviStation,
47 pviElevation,
48 curveLength
49) {
50 // Hitung stasiun PVC dan PVT
51 const pvcStation = pviStation - curveLength / 2;
52 const pvtStation = pviStation + curveLength / 2;
53
54 // Periksa apakah stasiun berada dalam batas kurva
55 if (station < pvcStation || station > pvtStation) {
56 return null; // Di luar batas kurva
57 }
58
59 // Konversi gradien ke desimal
60 const g1 = initialGrade / 100;
61 const g2 = finalGrade / 100;
62
63 // Hitung elevasi PVC
64 const pvcElevation = pviElevation - (g1 * curveLength / 2);
65
66 // Hitung jarak dari PVC
67 const x = station - pvcStation;
68
69 // Hitung perbedaan aljabar dalam gradien
70 const A = g2 - g1;
71
72 // Hitung elevasi menggunakan persamaan kurva vertikal
73 const elevation = pvcElevation + g1 * x + (A * x * x) / (2 * curveLength);
74
75 return elevation;
76}
77
1public class VerticalCurveCalculator {
2 /**
3 * Menghitung nilai K untuk kurva vertikal
4 * @param curveLength Panjang kurva vertikal dalam meter
5 * @param initialGrade Gradien awal dalam persentase
6 * @param finalGrade Gradien akhir dalam persentase
7 * @return Nilai K
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; // Untuk gradien yang sama
13 }
14 return curveLength / gradeChange;
15 }
16
17 /**
18 * Menentukan jenis kurva vertikal
19 * @param initialGrade Gradien awal dalam persentase
20 * @param finalGrade Gradien akhir dalam persentase
21 * @return Jenis kurva: "puncak", "sag", atau "tidak ada"
22 */
23 public static String determineCurveType(double initialGrade, double finalGrade) {
24 if (initialGrade > finalGrade) {
25 return "puncak";
26 } else if (initialGrade < finalGrade) {
27 return "sag";
28 } else {
29 return "tidak ada";
30 }
31 }
32
33 /**
34 * Menghitung stasiun dan elevasi PVC
35 * @param pviStation Stasiun PVI
36 * @param pviElevation Elevasi PVI dalam meter
37 * @param initialGrade Gradien awal dalam persentase
38 * @param curveLength Panjang kurva vertikal dalam meter
39 * @return Objek yang berisi stasiun dan elevasi 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 * Menghitung stasiun dan elevasi PVT
50 * @param pviStation Stasiun PVI
51 * @param pviElevation Elevasi PVI dalam meter
52 * @param finalGrade Gradien akhir dalam persentase
53 * @param curveLength Panjang kurva vertikal dalam meter
54 * @return Objek yang berisi stasiun dan elevasi 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 * Kelas dalam untuk merepresentasikan titik dengan stasiun dan elevasi
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
Desain jalan raya memerlukan kurva vertikal untuk transisi dari gradien +3% ke -2%. PVI berada di stasiun 1000+00 dengan elevasi 150,00 meter. Kecepatan desain adalah 100 km/jam, yang memerlukan nilai K minimum 80 menurut standar desain.
Langkah 1: Hitung panjang kurva minimum
Temukan lebih banyak alat yang mungkin berguna untuk alur kerja Anda