Die CPID von Connectionspoint wurde korrigiert.
This commit is contained in:
@@ -150,11 +150,11 @@ def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth,
|
||||
similar["OFWeiche_CP1_y_mm"] = round(item["Objekt_height_mm"], 4)
|
||||
similar["OFWeiche_CP4_x_mm"] = similar["OFWeiche_CP1_x_mm"]
|
||||
similar["OFWeiche_CP4_y_mm"] = round(item["Objekt_height_mm"] - WeichenGerade, 4)
|
||||
similar["OFWeiche_CP3_x_mm"] = round(similar["OFWeiche_CP1_x_mm"] + item["OFWeiche_center_line_width_mm"], 4)
|
||||
similar["OFWeiche_CP2_x_mm"] = round(similar["OFWeiche_CP1_x_mm"] + item["OFWeiche_center_line_width_mm"], 4)
|
||||
if item["KurvenWinkel"] == 22.5:
|
||||
similar["OFWeiche_CP3_y_mm"] =20
|
||||
similar["OFWeiche_CP2_y_mm"] =20
|
||||
else:
|
||||
similar["OFWeiche_CP3_y_mm"] = round(round(BogenProfileWidth/2,7) * sin_value, 4)
|
||||
similar["OFWeiche_CP2_y_mm"] = round(round(BogenProfileWidth/2,7) * sin_value, 4)
|
||||
|
||||
# Find P-type counterparts for this R-type item
|
||||
r_p_profil = r_profil.replace("MIT M", "MIT P")
|
||||
@@ -172,8 +172,8 @@ def process_einzelweiche_items(data, WeichenKoerperWidth, WeichenkProfileWidth,
|
||||
"Objekt_height_mm",
|
||||
"OFWeiche_CP1_x_mm",
|
||||
"OFWeiche_CP1_y_mm",
|
||||
"OFWeiche_CP3_x_mm",
|
||||
"OFWeiche_CP3_y_mm",
|
||||
"OFWeiche_CP2_x_mm",
|
||||
"OFWeiche_CP2_y_mm",
|
||||
"OFWeiche_CP4_x_mm",
|
||||
"OFWeiche_CP4_y_mm"
|
||||
]
|
||||
|
||||
+7
-7
@@ -77,14 +77,14 @@ def process_json_file(input_file, output_file):
|
||||
|
||||
elif "-R-" in profil_typ:
|
||||
# CP3
|
||||
cp3_x = round(item["OFWeiche_CP3_x_mm"] * scale*scale_RD_W, 3)
|
||||
cp3_y = round(item["OFWeiche_CP3_y_mm"] * scale*scale_RD_H, 3)
|
||||
cp3_dir = round(kurven_winkel, 1)
|
||||
cp2_x = round(item["OFWeiche_CP2_x_mm"] * scale*scale_RD_W, 3)
|
||||
cp2_y = round(item["OFWeiche_CP2_y_mm"] * scale*scale_RD_H, 3)
|
||||
cp2_dir = round(kurven_winkel, 1)
|
||||
connection_points.append({
|
||||
"id": "cp3",
|
||||
"x": cp3_x,
|
||||
"y": cp3_y,
|
||||
"direction": cp3_dir
|
||||
"id": "cp2",
|
||||
"x": cp2_x,
|
||||
"y": cp2_y,
|
||||
"direction": cp2_dir
|
||||
})
|
||||
# CP4
|
||||
cp4_x = round(item["OFWeiche_CP4_x_mm"] * scale*scale_RD_W, 3)
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
"OFWeiche_CP1_y_mm": 715.0007,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 355.0007,
|
||||
"OFWeiche_CP3_x_mm": 403.6727,
|
||||
"OFWeiche_CP3_y_mm": 14.8776
|
||||
"OFWeiche_CP2_x_mm": 403.6727,
|
||||
"OFWeiche_CP2_y_mm": 14.8776
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372005,
|
||||
@@ -89,8 +89,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 715.0007,
|
||||
"OFWeiche_CP3_x_mm": 403.6727,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 403.6727,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 355.0007
|
||||
},
|
||||
@@ -148,8 +148,8 @@
|
||||
"OFWeiche_CP1_y_mm": 764.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 404.8776,
|
||||
"OFWeiche_CP3_x_mm": 453.5437,
|
||||
"OFWeiche_CP3_y_mm": 14.8776
|
||||
"OFWeiche_CP2_x_mm": 453.5437,
|
||||
"OFWeiche_CP2_y_mm": 14.8776
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372011,
|
||||
@@ -165,8 +165,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 764.8776,
|
||||
"OFWeiche_CP3_x_mm": 453.5437,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 453.5437,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 404.8776
|
||||
},
|
||||
@@ -224,8 +224,8 @@
|
||||
"OFWeiche_CP1_y_mm": 621.2369,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 261.2369,
|
||||
"OFWeiche_CP3_x_mm": 553.7738,
|
||||
"OFWeiche_CP3_y_mm": 21.0401
|
||||
"OFWeiche_CP2_x_mm": 553.7738,
|
||||
"OFWeiche_CP2_y_mm": 21.0401
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372025,
|
||||
@@ -241,8 +241,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 621.2369,
|
||||
"OFWeiche_CP3_x_mm": 553.7738,
|
||||
"OFWeiche_CP3_y_mm": 21.0401,
|
||||
"OFWeiche_CP2_x_mm": 553.7738,
|
||||
"OFWeiche_CP2_y_mm": 21.0401,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 261.2369
|
||||
},
|
||||
@@ -319,8 +319,8 @@
|
||||
"OFWeiche_CP1_y_mm": 721.2253,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 361.2253,
|
||||
"OFWeiche_CP3_x_mm": 753.9172,
|
||||
"OFWeiche_CP3_y_mm": 21.0401
|
||||
"OFWeiche_CP2_x_mm": 753.9172,
|
||||
"OFWeiche_CP2_y_mm": 21.0401
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372031,
|
||||
@@ -336,8 +336,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 721.2253,
|
||||
"OFWeiche_CP3_x_mm": 753.9172,
|
||||
"OFWeiche_CP3_y_mm": 21.0401,
|
||||
"OFWeiche_CP2_x_mm": 753.9172,
|
||||
"OFWeiche_CP2_y_mm": 21.0401,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 361.2253
|
||||
},
|
||||
@@ -414,8 +414,8 @@
|
||||
"OFWeiche_CP1_y_mm": 749.7999,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 389.7999,
|
||||
"OFWeiche_CP3_x_mm": 253.5506,
|
||||
"OFWeiche_CP3_y_mm": 0.0
|
||||
"OFWeiche_CP2_x_mm": 253.5506,
|
||||
"OFWeiche_CP2_y_mm": 0.0
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834372051,
|
||||
@@ -431,8 +431,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 749.7999,
|
||||
"OFWeiche_CP3_x_mm": 253.5506,
|
||||
"OFWeiche_CP3_y_mm": 0.0,
|
||||
"OFWeiche_CP2_x_mm": 253.5506,
|
||||
"OFWeiche_CP2_y_mm": 0.0,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 389.7999
|
||||
},
|
||||
@@ -1147,8 +1147,8 @@
|
||||
"OFWeiche_CP1_y_mm": 360,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 0.0,
|
||||
"OFWeiche_CP3_x_mm": 155.0437,
|
||||
"OFWeiche_CP3_y_mm": 20
|
||||
"OFWeiche_CP2_x_mm": 155.0437,
|
||||
"OFWeiche_CP2_y_mm": 20
|
||||
},
|
||||
{
|
||||
"Sivasnr": 834342012,
|
||||
@@ -1183,8 +1183,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 360,
|
||||
"OFWeiche_CP3_x_mm": 155.0437,
|
||||
"OFWeiche_CP3_y_mm": 20,
|
||||
"OFWeiche_CP2_x_mm": 155.0437,
|
||||
"OFWeiche_CP2_y_mm": 20,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 0.0
|
||||
},
|
||||
|
||||
@@ -153,8 +153,8 @@
|
||||
"OFWeiche_CP1_y_mm": 715.0007,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 355.0007,
|
||||
"OFWeiche_CP3_x_mm": 403.6727,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 403.6727,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"Objekt_width_px": 1581.9224,
|
||||
"Objekt_height_px": 2702.3649,
|
||||
"calculated_SVG_width_px": 585.3844496,
|
||||
@@ -170,7 +170,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 964.454,
|
||||
"y": 20.808,
|
||||
"direction": 45
|
||||
@@ -197,8 +197,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 715.0007,
|
||||
"OFWeiche_CP3_x_mm": 403.6727,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 403.6727,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 355.0007,
|
||||
"Objekt_width_px": 1581.9224,
|
||||
@@ -216,7 +216,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 964.454,
|
||||
"y": 20.808,
|
||||
"direction": 45
|
||||
@@ -337,8 +337,8 @@
|
||||
"OFWeiche_CP1_y_mm": 764.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 404.8776,
|
||||
"OFWeiche_CP3_x_mm": 453.5437,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 453.5437,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"Objekt_width_px": 1770.4112,
|
||||
"Objekt_height_px": 2890.876,
|
||||
"calculated_SVG_width_px": 612.4133987,
|
||||
@@ -354,7 +354,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 968.239,
|
||||
"y": 19.451,
|
||||
"direction": 45
|
||||
@@ -381,8 +381,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 764.8776,
|
||||
"OFWeiche_CP3_x_mm": 453.5437,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 453.5437,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 404.8776,
|
||||
"Objekt_width_px": 1770.4112,
|
||||
@@ -400,7 +400,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 968.239,
|
||||
"y": 19.451,
|
||||
"direction": 45
|
||||
@@ -521,8 +521,8 @@
|
||||
"OFWeiche_CP1_y_mm": 621.2369,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 261.2369,
|
||||
"OFWeiche_CP3_x_mm": 553.7738,
|
||||
"OFWeiche_CP3_y_mm": 21.0401,
|
||||
"OFWeiche_CP2_x_mm": 553.7738,
|
||||
"OFWeiche_CP2_y_mm": 21.0401,
|
||||
"Objekt_width_px": 2093.0034,
|
||||
"Objekt_height_px": 2347.982,
|
||||
"calculated_SVG_width_px": 891.4052003,
|
||||
@@ -538,7 +538,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 1000.0,
|
||||
"y": 33.868,
|
||||
"direction": 90
|
||||
@@ -565,8 +565,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 621.2369,
|
||||
"OFWeiche_CP3_x_mm": 553.7738,
|
||||
"OFWeiche_CP3_y_mm": 21.0401,
|
||||
"OFWeiche_CP2_x_mm": 553.7738,
|
||||
"OFWeiche_CP2_y_mm": 21.0401,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 261.2369,
|
||||
"Objekt_width_px": 2093.0034,
|
||||
@@ -584,7 +584,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 1000.0,
|
||||
"y": 33.868,
|
||||
"direction": 90
|
||||
@@ -751,8 +751,8 @@
|
||||
"OFWeiche_CP1_y_mm": 721.2253,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 361.2253,
|
||||
"OFWeiche_CP3_x_mm": 753.9172,
|
||||
"OFWeiche_CP3_y_mm": 21.0401,
|
||||
"OFWeiche_CP2_x_mm": 753.9172,
|
||||
"OFWeiche_CP2_y_mm": 21.0401,
|
||||
"Objekt_width_px": 2849.4509,
|
||||
"Objekt_height_px": 2725.8909,
|
||||
"calculated_SVG_width_px": 1000.0,
|
||||
@@ -768,7 +768,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 1000.0,
|
||||
"y": 29.173,
|
||||
"direction": 90
|
||||
@@ -795,8 +795,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 721.2253,
|
||||
"OFWeiche_CP3_x_mm": 753.9172,
|
||||
"OFWeiche_CP3_y_mm": 21.0401,
|
||||
"OFWeiche_CP2_x_mm": 753.9172,
|
||||
"OFWeiche_CP2_y_mm": 21.0401,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 361.2253,
|
||||
"Objekt_width_px": 2849.4509,
|
||||
@@ -814,7 +814,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 1000.0,
|
||||
"y": 29.173,
|
||||
"direction": 90
|
||||
@@ -981,8 +981,8 @@
|
||||
"OFWeiche_CP1_y_mm": 749.7999,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 389.7999,
|
||||
"OFWeiche_CP3_x_mm": 253.5506,
|
||||
"OFWeiche_CP3_y_mm": 0.0,
|
||||
"OFWeiche_CP2_x_mm": 253.5506,
|
||||
"OFWeiche_CP2_y_mm": 0.0,
|
||||
"Objekt_width_px": 1037.8227,
|
||||
"Objekt_height_px": 2833.8894,
|
||||
"calculated_SVG_width_px": 366.2185176,
|
||||
@@ -998,7 +998,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 923.377,
|
||||
"y": 0.0,
|
||||
"direction": 0
|
||||
@@ -1025,8 +1025,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 749.7999,
|
||||
"OFWeiche_CP3_x_mm": 253.5506,
|
||||
"OFWeiche_CP3_y_mm": 0.0,
|
||||
"OFWeiche_CP2_x_mm": 253.5506,
|
||||
"OFWeiche_CP2_y_mm": 0.0,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 389.7999,
|
||||
"Objekt_width_px": 1037.8227,
|
||||
@@ -1044,7 +1044,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 923.377,
|
||||
"y": 0.0,
|
||||
"direction": 0
|
||||
@@ -2803,8 +2803,8 @@
|
||||
"OFWeiche_CP1_y_mm": 360,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 0.0,
|
||||
"OFWeiche_CP3_x_mm": 155.0437,
|
||||
"OFWeiche_CP3_y_mm": 20,
|
||||
"OFWeiche_CP2_x_mm": 155.0437,
|
||||
"OFWeiche_CP2_y_mm": 20,
|
||||
"Objekt_width_px": 659.4603,
|
||||
"Objekt_height_px": 1360.6299,
|
||||
"calculated_SVG_width_px": 484.6727817,
|
||||
@@ -2820,7 +2820,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 888.593,
|
||||
"y": 55.556,
|
||||
"direction": 22.5
|
||||
@@ -2893,8 +2893,8 @@
|
||||
"SivasnrTEF": null,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 360,
|
||||
"OFWeiche_CP3_x_mm": 155.0437,
|
||||
"OFWeiche_CP3_y_mm": 20,
|
||||
"OFWeiche_CP2_x_mm": 155.0437,
|
||||
"OFWeiche_CP2_y_mm": 20,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 0.0,
|
||||
"Objekt_width_px": 659.4603,
|
||||
@@ -2912,7 +2912,7 @@
|
||||
"direction": 180.0
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 888.593,
|
||||
"y": 55.556,
|
||||
"direction": 22.5
|
||||
|
||||
+21
-11
@@ -20,14 +20,13 @@ def process_json_file(input_file, output_file):
|
||||
"CPR1": 180,
|
||||
"CPL1": 180,
|
||||
"CP2": lambda kw: round(360 - kw, 1),
|
||||
"CPR2": lambda kw: round(360 - kw, 1),
|
||||
"CPR2": lambda kw: round(kw, 1),
|
||||
"CPL2": lambda kw: round(360 - kw, 1),
|
||||
"CP3": lambda kw: round(kw, 1),
|
||||
"CPR3": lambda kw: round(kw, 1),
|
||||
"CPL3": lambda kw: round(kw, 1),
|
||||
"CP4": 0
|
||||
}
|
||||
|
||||
|
||||
# Process each item in the JSON data
|
||||
for item in data:
|
||||
if item.get("SivasnrTEF") is not None:
|
||||
@@ -57,10 +56,16 @@ def process_json_file(input_file, output_file):
|
||||
item["scale_factor_RD_Width"] = round(scale_RD_W, 6)
|
||||
item["scale_factor_RD_Height"] = round(scale_RD_H, 6)
|
||||
|
||||
# Process connection points -
|
||||
# Process connection points
|
||||
connection_points = []
|
||||
kurven_winkel = item["KurvenWinkel"]
|
||||
|
||||
# 检查特殊条件
|
||||
profiltyp = item.get("ProfilTyp", "")
|
||||
weichentyp = item.get("WeichenTyp", "")
|
||||
|
||||
# 特殊规则:如果包含 -R- 且是 Einzelweiche,则 CP2 使用 CP3 的规则
|
||||
is_special_case = "-R-" in profiltyp and weichentyp == "Einzelweiche"
|
||||
|
||||
cp_fields = {}
|
||||
for key in item.keys():
|
||||
@@ -70,10 +75,8 @@ def process_json_file(input_file, output_file):
|
||||
if y_key in item:
|
||||
cp_fields[base_key] = (key, y_key)
|
||||
|
||||
|
||||
for base_key, (x_key, y_key) in cp_fields.items():
|
||||
try:
|
||||
|
||||
if base_key.startswith('OFWeiche_'):
|
||||
cp_type = base_key.replace('OFWeiche_', '')
|
||||
link_class = "Omniflo"
|
||||
@@ -83,11 +86,16 @@ def process_json_file(input_file, output_file):
|
||||
else:
|
||||
continue
|
||||
|
||||
|
||||
cp_id = cp_type.lower()
|
||||
|
||||
|
||||
direction_rule = DIRECTION_RULES.get(cp_type)
|
||||
# 应用特殊规则
|
||||
if is_special_case and cp_type in ["CP2"]:
|
||||
# 对于特殊情况的CP2,使用CP3的规则
|
||||
direction_rule = DIRECTION_RULES.get("CP3")
|
||||
print(f"特殊规则应用: {cp_type} 使用 CP3 的方向规则")
|
||||
else:
|
||||
direction_rule = DIRECTION_RULES.get(cp_type)
|
||||
|
||||
if direction_rule is None:
|
||||
print(f"警告: 未找到连接点 {cp_type} 的方向规则,使用默认值0")
|
||||
direction = 0
|
||||
@@ -96,7 +104,6 @@ def process_json_file(input_file, output_file):
|
||||
else:
|
||||
direction = direction_rule
|
||||
|
||||
|
||||
x_px = round(item[x_key] * scale * scale_RD_W, 3)
|
||||
y_px = round(item[y_key] * scale * scale_RD_H, 3)
|
||||
|
||||
@@ -114,10 +121,13 @@ def process_json_file(input_file, output_file):
|
||||
print(f"cp: {base_key} error: {e}")
|
||||
continue
|
||||
|
||||
|
||||
connection_points.sort(key=lambda x: x["id"])
|
||||
item["connectionPoints"] = connection_points
|
||||
|
||||
# 输出特殊规则应用信息
|
||||
if is_special_case:
|
||||
print(f"特殊规则已应用: {item['Sivasnr']} - {profiltyp}")
|
||||
|
||||
print(f"Processed {item['Sivasnr']}: find: {len(connection_points)} CPs")
|
||||
|
||||
# Save the processed data
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
"TEFWeiche_center_line_height_mm": 722.5864,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 715.0010,
|
||||
"OFWeiche_CP3_x_mm": 403.6727,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 403.6727,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 355.0010,
|
||||
"TEFWeiche_CPR1_x_mm": 153.5537,
|
||||
@@ -88,8 +88,8 @@
|
||||
"TEFWeiche_center_line_height_mm": 764.5864,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 764.8776,
|
||||
"OFWeiche_CP3_x_mm": 453.5437,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 453.5437,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 404.8776,
|
||||
"TEFWeiche_CPR1_x_mm": 153.5537,
|
||||
@@ -138,8 +138,8 @@
|
||||
"TEFWeiche_center_line_height_mm": 738.62,
|
||||
"OFWeiche_CP1_x_mm": 53.544,
|
||||
"OFWeiche_CP1_y_mm": 721.225,
|
||||
"OFWeiche_CP3_x_mm": 753.9172,
|
||||
"OFWeiche_CP3_y_mm": 21.0400,
|
||||
"OFWeiche_CP2_x_mm": 753.9172,
|
||||
"OFWeiche_CP2_y_mm": 21.0400,
|
||||
"OFWeiche_CP4_x_mm": 53.544,
|
||||
"OFWeiche_CP4_y_mm": 361.25,
|
||||
"TEFWeiche_CPR1_x_mm": 153.554,
|
||||
|
||||
@@ -82,8 +82,8 @@
|
||||
"TEFWeiche_center_line_height_mm": 722.5864,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 715.001,
|
||||
"OFWeiche_CP3_x_mm": 403.6727,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 403.6727,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 355.001,
|
||||
"TEFWeiche_CPR1_x_mm": 153.5537,
|
||||
@@ -108,7 +108,7 @@
|
||||
"linkClass": "Omniflo"
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 813.207,
|
||||
"y": 17.334,
|
||||
"direction": 45,
|
||||
@@ -132,7 +132,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 955.415,
|
||||
"y": 99.873,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -220,8 +220,8 @@
|
||||
"TEFWeiche_center_line_height_mm": 764.5864,
|
||||
"OFWeiche_CP1_x_mm": 53.5437,
|
||||
"OFWeiche_CP1_y_mm": 764.8776,
|
||||
"OFWeiche_CP3_x_mm": 453.5437,
|
||||
"OFWeiche_CP3_y_mm": 14.8776,
|
||||
"OFWeiche_CP2_x_mm": 453.5437,
|
||||
"OFWeiche_CP2_y_mm": 14.8776,
|
||||
"OFWeiche_CP4_x_mm": 53.5437,
|
||||
"OFWeiche_CP4_y_mm": 404.8776,
|
||||
"TEFWeiche_CPR1_x_mm": 153.5537,
|
||||
@@ -246,7 +246,7 @@
|
||||
"linkClass": "Omniflo"
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 920.665,
|
||||
"y": 16.458,
|
||||
"direction": 45,
|
||||
@@ -270,7 +270,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 955.073,
|
||||
"y": 154.171,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -358,8 +358,8 @@
|
||||
"TEFWeiche_center_line_height_mm": 738.62,
|
||||
"OFWeiche_CP1_x_mm": 53.544,
|
||||
"OFWeiche_CP1_y_mm": 721.225,
|
||||
"OFWeiche_CP3_x_mm": 753.9172,
|
||||
"OFWeiche_CP3_y_mm": 21.04,
|
||||
"OFWeiche_CP2_x_mm": 753.9172,
|
||||
"OFWeiche_CP2_y_mm": 21.04,
|
||||
"OFWeiche_CP4_x_mm": 53.544,
|
||||
"OFWeiche_CP4_y_mm": 361.25,
|
||||
"TEFWeiche_CPR1_x_mm": 153.554,
|
||||
@@ -384,7 +384,7 @@
|
||||
"linkClass": "Omniflo"
|
||||
},
|
||||
{
|
||||
"id": "cp3",
|
||||
"id": "cp2",
|
||||
"x": 1000.0,
|
||||
"y": 24.475,
|
||||
"direction": 90,
|
||||
@@ -408,7 +408,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 920.928,
|
||||
"y": 140.81,
|
||||
"direction": 270,
|
||||
"direction": 90,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -546,7 +546,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 972.604,
|
||||
"y": 99.873,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -633,7 +633,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 975.012,
|
||||
"y": 99.873,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -771,7 +771,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 974.083,
|
||||
"y": 154.171,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -858,7 +858,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 974.797,
|
||||
"y": 154.171,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -996,7 +996,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 957.445,
|
||||
"y": 140.81,
|
||||
"direction": 270,
|
||||
"direction": 90,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1083,7 +1083,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 957.445,
|
||||
"y": 140.81,
|
||||
"direction": 270,
|
||||
"direction": 90,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1239,7 +1239,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 972.604,
|
||||
"y": 99.873,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1335,7 +1335,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 975.012,
|
||||
"y": 99.873,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1491,7 +1491,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 974.083,
|
||||
"y": 154.171,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1587,7 +1587,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 974.797,
|
||||
"y": 154.171,
|
||||
"direction": 315,
|
||||
"direction": 45,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1743,7 +1743,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 957.445,
|
||||
"y": 140.81,
|
||||
"direction": 270,
|
||||
"direction": 90,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1839,7 +1839,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 957.445,
|
||||
"y": 140.81,
|
||||
"direction": 270,
|
||||
"direction": 90,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -1926,7 +1926,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 1000.0,
|
||||
"y": 154.474,
|
||||
"direction": 270,
|
||||
"direction": 90,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
@@ -2064,7 +2064,7 @@
|
||||
"id": "cpr2",
|
||||
"x": 1000.0,
|
||||
"y": 154.735,
|
||||
"direction": 270,
|
||||
"direction": 90,
|
||||
"linkClass": "TEFOmniflo"
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user