Methoden im plant.py angepasst, dass routing.py ohne Änderungen laufen kann und neue STRtree Sensor connection verwendet.
This commit is contained in:
Vendored
+1
-1
@@ -117,7 +117,7 @@
|
||||
"console": "integratedTerminal",
|
||||
"args": [
|
||||
"--filename",
|
||||
"easy_positions.json",
|
||||
"easy.json",
|
||||
"-g"
|
||||
]
|
||||
},
|
||||
|
||||
+2
-2
@@ -302,7 +302,7 @@ Sollten einzelne Kabeltrassen nicht miteinander verbunden werden, ist die einges
|
||||
|
||||
Bei der Verbindung von Sensoren / Aktoren mit den Kabeltrassen findet noch keine Wegsuche zum zugehörigen Unterverteiler statt. Die Sensoren / Aktoren tragen darüber hinaus keinerlei Information, mit welcher Kabeltrasse sie verbunden werden sollen. Der Algorithmus sucht daher ausgehend von der Position des Sensors das am nahesten liegende Rack und stellt im Anschluss die kürzestmögliche verbindung zu einer Kabeltrasser her.
|
||||
|
||||
Situation: Horizontales und vetikales Rack (R1 bzw R2), Sensor (S). Erstellen eines Kreises um den Sensor und Überprüfung auf Schnittpunkte mit Kabeltrassen
|
||||
Situation: Horizontales und vetikales Rack (R1 bzw R2), Sensor (S). Erstellen eines Kreises um den Sensor und Überprüfung auf Schnittpunkte mit Kabeltrassen
|
||||
<img src="img\connect_sensors_to_racks\connect_sensors_to_racks_1.png" width="47.5%" style="display:inline-block; margin-right:5px;">
|
||||
<img src="img\connect_sensors_to_racks\connect_sensors_to_racks_2.png" width="47.5%" style="display:inline-block;">
|
||||
|
||||
@@ -324,5 +324,5 @@ Schritt 2: Bei Ausbleiben eines Schnittpunktes -> Vergrößern des Kreises. Bei
|
||||
- Drawdxf umbennen in sowas wie *cables.py* oder so
|
||||
- Schalter steuern was alles ausgegeben wird (Excel, dxf, ... was könnte man noch machen)
|
||||
- hier muss man entscheiden ob Cabel-dxf immer gleich heisst oder so wie Eingabefile (Gefahr der Zumüllung)
|
||||
- selnbes gilt für excel-File
|
||||
- selbes gilt für excel-File
|
||||
|
||||
|
||||
+7
-3
@@ -361,6 +361,8 @@ class Anlage():
|
||||
'''verbindet die Sensoren mit den Racks.
|
||||
die Rückgabe enthält ein Tuple, welche Sensoren keinem Rack zugeordnet werden konnten
|
||||
'''
|
||||
return self.connect_equipment_to_racks(self._sensors, self._sensor_onpoints)
|
||||
'''
|
||||
errors = list()
|
||||
for sname, pos in self._sensors.items():
|
||||
rack_borders = self._racks.get_racks_borders()
|
||||
@@ -374,6 +376,7 @@ class Anlage():
|
||||
vrackname = f"v-{sname}-{rack_name}"
|
||||
self._racks.add_rack(pos, onpoint, vrackname)
|
||||
return errors
|
||||
'''
|
||||
|
||||
def add_distributor(self, dname: str, pos:Point):
|
||||
self._distributors[dname] = pos
|
||||
@@ -389,6 +392,8 @@ class Anlage():
|
||||
'''verbindet die Unterverteiler mit den Racks
|
||||
die Rückage enthält ein Tuple, welche Unterverteiler keinem Rack zugeordnet werden konnten
|
||||
'''
|
||||
return self.connect_equipment_to_racks(self._distributors, self._distributors_onpoints)
|
||||
'''
|
||||
errors = list()
|
||||
for dname, pos in self._distributors.items():
|
||||
rack_borders = self._racks.get_racks_borders()
|
||||
@@ -402,6 +407,7 @@ class Anlage():
|
||||
drackname = f"d-{dname}-{rack_name}"
|
||||
self._racks.add_rack(pos, onpoint, drackname)
|
||||
return errors
|
||||
'''
|
||||
|
||||
def join_racks(self):
|
||||
self._racks.join_racks()
|
||||
@@ -463,7 +469,7 @@ class Anlage():
|
||||
device_names = [name for name, _ in devices]
|
||||
device_points = [pos for _, pos in devices]
|
||||
|
||||
idx_rack, distances = self._rack_tree.query_nearest(device_points, return_distance=True, all_matches=True)
|
||||
idx_rack, distances = self._rack_tree.query_nearest(device_points, return_distance=True, all_matches=False)
|
||||
# !!! Problem !!!: query gibt mehrere Ergebnisse zurück -> kann dann nicht zugeordnet werden
|
||||
# Greifen des ersten ergebnisses nicht zielführend, da nicht das näheste
|
||||
|
||||
@@ -1050,6 +1056,4 @@ class TestLinesweep(unittest.TestCase):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(shapely.__file__)
|
||||
print(shapely.__version__)
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user