move road definitions to measure.py
This commit is contained in:
parent
3323c7ad8b
commit
8abeae03c1
@ -9,72 +9,8 @@ from descartes import PolygonPatch
|
|||||||
|
|
||||||
from measure import *
|
from measure import *
|
||||||
|
|
||||||
juosta = namedtuple('juosta', ['plotis', 'kryptis', 'dashes', 'spalva'])
|
|
||||||
kelias = namedtuple('kelias', ['id', 'virsunes', 'plotis', 'kat', 'dashes', 'spalva', 'juostos'])
|
|
||||||
|
|
||||||
# nubraižytos kelio linijos ir jų nubrėžti offset'ai iš dešinės į kairę.
|
# nubraižytos kelio linijos ir jų nubrėžti offset'ai iš dešinės į kairę.
|
||||||
kelias_l = namedtuple('kelias_l', ['id', 'line', 'offsets'])
|
kelias_l = namedtuple('kelias_l', ['line', 'offsets'])
|
||||||
|
|
||||||
CONTINUOUS = (1,0)
|
|
||||||
DASHDOTX2 = (10,3,2,3)
|
|
||||||
DASHED = (100,20)
|
|
||||||
|
|
||||||
keliai = [
|
|
||||||
kelias(
|
|
||||||
id='A-08',
|
|
||||||
virsunes=[1,2,3],
|
|
||||||
plotis=A08_plotis,
|
|
||||||
kat=KAT1,
|
|
||||||
dashes=DASHDOTX2,
|
|
||||||
spalva='xkcd:red',
|
|
||||||
juostos=(
|
|
||||||
juosta(L6+L5+L4, 'right', DASHED, 'xkcd:lightgreen'),
|
|
||||||
juosta(L6+L5, 'right', DASHED, 'xkcd:lightgreen'),
|
|
||||||
juosta(L6, 'right', CONTINUOUS, 'xkcd:black'),
|
|
||||||
juosta(L7, 'left', CONTINUOUS, 'xkcd:black'),
|
|
||||||
juosta(L7+L8, 'left', DASHED, 'xkcd:lightgreen'),
|
|
||||||
juosta(L7+L8+L9, 'left', DASHED, 'xkcd:lightgreen'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
kelias(
|
|
||||||
id='A-05',
|
|
||||||
virsunes=[4,5,6,7,8,9,10],
|
|
||||||
plotis=A05_plotis,
|
|
||||||
kat=KAT2,
|
|
||||||
dashes=DASHDOTX2,
|
|
||||||
spalva='xkcd:red',
|
|
||||||
juostos=(
|
|
||||||
juosta(L3, 'right', CONTINUOUS, 'xkcd:brown'),
|
|
||||||
juosta(L2, 'left', CONTINUOUS, 'xkcd:brown'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
kelias(
|
|
||||||
id='A-03',
|
|
||||||
virsunes=[11,12,13,14,15,16,17,18],
|
|
||||||
plotis=A03_plotis,
|
|
||||||
kat=KAT3,
|
|
||||||
dashes=CONTINUOUS,
|
|
||||||
spalva='xkcd:magenta',
|
|
||||||
juostos=(
|
|
||||||
juosta(L1, 'right', DASHED, 'xkcd:magenta'),
|
|
||||||
juosta(0, 'left', DASHED, 'xkcd:white'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
kelias(
|
|
||||||
id='G-11',
|
|
||||||
virsunes=[19,20,21,22,23,24],
|
|
||||||
plotis=G11_plotis,
|
|
||||||
kat=KAT4,
|
|
||||||
dashes=CONTINUOUS,
|
|
||||||
spalva='xkcd:red',
|
|
||||||
juostos=(
|
|
||||||
juosta(L10+L11, 'right', CONTINUOUS, 'xkcd:blue'),
|
|
||||||
juosta(L11, 'right', CONTINUOUS, 'xkcd:lightblue'),
|
|
||||||
juosta(L12, 'left', CONTINUOUS, 'xkcd:lightblue'),
|
|
||||||
juosta(L12+L13, 'left', CONTINUOUS, 'xkcd:blue'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
N, E, S, W = (0,10), (10,0), (0,-10), (-10,0)
|
N, E, S, W = (0,10), (10,0), (0,-10), (-10,0)
|
||||||
point_annotations = {
|
point_annotations = {
|
||||||
@ -99,7 +35,7 @@ for v in vertices:
|
|||||||
|
|
||||||
keliai_l = {}
|
keliai_l = {}
|
||||||
# kelių piešimas
|
# kelių piešimas
|
||||||
for kelias in keliai:
|
for id, kelias in keliai.items():
|
||||||
# ašis
|
# ašis
|
||||||
kelias_line = LineString([Points[i].xy for i in kelias.virsunes])
|
kelias_line = LineString([Points[i].xy for i in kelias.virsunes])
|
||||||
ax.plot(*kelias_line.xy, linewidth=2, dashes=kelias.dashes, color=kelias.spalva, zorder=kelias.kat)
|
ax.plot(*kelias_line.xy, linewidth=2, dashes=kelias.dashes, color=kelias.spalva, zorder=kelias.kat)
|
||||||
@ -113,7 +49,7 @@ for kelias in keliai:
|
|||||||
# kelio poligonas su plotu
|
# kelio poligonas su plotu
|
||||||
kelias_poly = np.vstack((offset_lines[0].coords, offset_lines[-1].coords))
|
kelias_poly = np.vstack((offset_lines[0].coords, offset_lines[-1].coords))
|
||||||
ax.add_patch(PolygonPatch(asPolygon(kelias_poly), fc='white', zorder=kelias.kat, linewidth=0))
|
ax.add_patch(PolygonPatch(asPolygon(kelias_poly), fc='white', zorder=kelias.kat, linewidth=0))
|
||||||
keliai_l[kelias.id] = kelias_l(id=kelias.id, line=kelias_line, offsets=offset_lines)
|
keliai_l[id] = kelias_l(line=kelias_line, offsets=offset_lines)
|
||||||
|
|
||||||
# kelių anotacijos
|
# kelių anotacijos
|
||||||
for id, kelias in keliai_l.items():
|
for id, kelias in keliai_l.items():
|
||||||
@ -139,10 +75,9 @@ x0, y0 = Points[6].xy
|
|||||||
x = x0 + float(D1)/(2*sin(pi/7))*sin(pi/7-float(K1)*pi/180)
|
x = x0 + float(D1)/(2*sin(pi/7))*sin(pi/7-float(K1)*pi/180)
|
||||||
y = y0 + float(D1)/(2*sin(pi/7))*cos(pi/7-float(K1)*pi/180)
|
y = y0 + float(D1)/(2*sin(pi/7))*cos(pi/7-float(K1)*pi/180)
|
||||||
center = sPoint(x, y)
|
center = sPoint(x, y)
|
||||||
ax.add_patch(PolygonPatch(center.buffer(5)))
|
|
||||||
|
|
||||||
|
# užlieta erdvė apskritimas
|
||||||
radius = float(D1)/2/sin(pi/7)-float(A1)
|
radius = float(D1)/2/sin(pi/7)-float(A1)
|
||||||
circle = center.buffer(radius)
|
|
||||||
angles = np.linspace(0, 2*pi, num=360)
|
angles = np.linspace(0, 2*pi, num=360)
|
||||||
circle_y = y + np.sin(angles) * radius
|
circle_y = y + np.sin(angles) * radius
|
||||||
circle_x = x + np.cos(angles) * radius
|
circle_x = x + np.cos(angles) * radius
|
||||||
|
@ -40,6 +40,10 @@ class Vertex:
|
|||||||
"""xy returns a tuple of lksx and lksy coordinates"""
|
"""xy returns a tuple of lksx and lksy coordinates"""
|
||||||
return np.array([float(self.coords.lksx), float(self.coords.lksy)])
|
return np.array([float(self.coords.lksx), float(self.coords.lksy)])
|
||||||
|
|
||||||
|
juosta = namedtuple('juosta', ['plotis', 'kryptis', 'dashes', 'spalva'])
|
||||||
|
kelias = namedtuple('kelias', ['virsunes', 'plotis', 'kat', 'dashes', 'spalva', 'juostos'])
|
||||||
|
|
||||||
|
|
||||||
# Kategorijos
|
# Kategorijos
|
||||||
KAT0, KAT1, KAT2, KAT3, KAT4 = range(5,0,-1)
|
KAT0, KAT1, KAT2, KAT3, KAT4 = range(5,0,-1)
|
||||||
|
|
||||||
@ -128,6 +132,64 @@ Points = {}
|
|||||||
for v in vertices:
|
for v in vertices:
|
||||||
Points[v.point] = v
|
Points[v.point] = v
|
||||||
|
|
||||||
|
CONTINUOUS = (1,0)
|
||||||
|
DASHDOTX2 = (10,3,2,3)
|
||||||
|
DASHED = (100,20)
|
||||||
|
|
||||||
|
keliai = {
|
||||||
|
'A-08': kelias(
|
||||||
|
virsunes=[1,2,3],
|
||||||
|
plotis=A08_plotis,
|
||||||
|
kat=KAT1,
|
||||||
|
dashes=DASHDOTX2,
|
||||||
|
spalva='xkcd:red',
|
||||||
|
juostos=(
|
||||||
|
juosta(L6+L5+L4, 'right', DASHED, 'xkcd:lightgreen'),
|
||||||
|
juosta(L6+L5, 'right', DASHED, 'xkcd:lightgreen'),
|
||||||
|
juosta(L6, 'right', CONTINUOUS, 'xkcd:black'),
|
||||||
|
juosta(L7, 'left', CONTINUOUS, 'xkcd:black'),
|
||||||
|
juosta(L7+L8, 'left', DASHED, 'xkcd:lightgreen'),
|
||||||
|
juosta(L7+L8+L9, 'left', DASHED, 'xkcd:lightgreen'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'A-05': kelias(
|
||||||
|
virsunes=[4,5,6,7,8,9,10],
|
||||||
|
plotis=A05_plotis,
|
||||||
|
kat=KAT2,
|
||||||
|
dashes=DASHDOTX2,
|
||||||
|
spalva='xkcd:red',
|
||||||
|
juostos=(
|
||||||
|
juosta(L3, 'right', CONTINUOUS, 'xkcd:brown'),
|
||||||
|
juosta(L2, 'left', CONTINUOUS, 'xkcd:brown'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'A-03': kelias(
|
||||||
|
virsunes=[11,12,13,14,15,16,17,18],
|
||||||
|
plotis=A03_plotis,
|
||||||
|
kat=KAT3,
|
||||||
|
dashes=CONTINUOUS,
|
||||||
|
spalva='xkcd:magenta',
|
||||||
|
juostos=(
|
||||||
|
juosta(L1, 'right', DASHED, 'xkcd:magenta'),
|
||||||
|
juosta(0, 'left', DASHED, 'xkcd:white'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'G-11': kelias(
|
||||||
|
virsunes=[19,20,21,22,23,24],
|
||||||
|
plotis=G11_plotis,
|
||||||
|
kat=KAT4,
|
||||||
|
dashes=CONTINUOUS,
|
||||||
|
spalva='xkcd:red',
|
||||||
|
juostos=(
|
||||||
|
juosta(L10+L11, 'right', CONTINUOUS, 'xkcd:blue'),
|
||||||
|
juosta(L11, 'right', CONTINUOUS, 'xkcd:lightblue'),
|
||||||
|
juosta(L12, 'left', CONTINUOUS, 'xkcd:lightblue'),
|
||||||
|
juosta(L12+L13, 'left', CONTINUOUS, 'xkcd:blue'),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print("angle sum %.4f, theoretical angle sum %d" % \
|
print("angle sum %.4f, theoretical angle sum %d" % \
|
||||||
(angle_sum, theoretical_angle_sum))
|
(angle_sum, theoretical_angle_sum))
|
||||||
|
Loading…
Reference in New Issue
Block a user