Methoden im plant.py angepasst, dass routing.py ohne Änderungen laufen kann und neue STRtree Sensor connection verwendet.

This commit is contained in:
2025-05-26 12:03:17 +02:00
parent a1a7587290
commit b5c1a5f38c
3 changed files with 10 additions and 6 deletions
+1 -1
View File
@@ -117,7 +117,7 @@
"console": "integratedTerminal", "console": "integratedTerminal",
"args": [ "args": [
"--filename", "--filename",
"easy_positions.json", "easy.json",
"-g" "-g"
] ]
}, },
+1 -1
View File
@@ -324,5 +324,5 @@ Schritt 2: Bei Ausbleiben eines Schnittpunktes -> Vergrößern des Kreises. Bei
- Drawdxf umbennen in sowas wie *cables.py* oder so - Drawdxf umbennen in sowas wie *cables.py* oder so
- Schalter steuern was alles ausgegeben wird (Excel, dxf, ... was könnte man noch machen) - 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) - 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
View File
@@ -361,6 +361,8 @@ class Anlage():
'''verbindet die Sensoren mit den Racks. '''verbindet die Sensoren mit den Racks.
die Rückgabe enthält ein Tuple, welche Sensoren keinem Rack zugeordnet werden konnten 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() errors = list()
for sname, pos in self._sensors.items(): for sname, pos in self._sensors.items():
rack_borders = self._racks.get_racks_borders() rack_borders = self._racks.get_racks_borders()
@@ -374,6 +376,7 @@ class Anlage():
vrackname = f"v-{sname}-{rack_name}" vrackname = f"v-{sname}-{rack_name}"
self._racks.add_rack(pos, onpoint, vrackname) self._racks.add_rack(pos, onpoint, vrackname)
return errors return errors
'''
def add_distributor(self, dname: str, pos:Point): def add_distributor(self, dname: str, pos:Point):
self._distributors[dname] = pos self._distributors[dname] = pos
@@ -389,6 +392,8 @@ class Anlage():
'''verbindet die Unterverteiler mit den Racks '''verbindet die Unterverteiler mit den Racks
die Rückage enthält ein Tuple, welche Unterverteiler keinem Rack zugeordnet werden konnten 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() errors = list()
for dname, pos in self._distributors.items(): for dname, pos in self._distributors.items():
rack_borders = self._racks.get_racks_borders() rack_borders = self._racks.get_racks_borders()
@@ -402,6 +407,7 @@ class Anlage():
drackname = f"d-{dname}-{rack_name}" drackname = f"d-{dname}-{rack_name}"
self._racks.add_rack(pos, onpoint, drackname) self._racks.add_rack(pos, onpoint, drackname)
return errors return errors
'''
def join_racks(self): def join_racks(self):
self._racks.join_racks() self._racks.join_racks()
@@ -463,7 +469,7 @@ class Anlage():
device_names = [name for name, _ in devices] device_names = [name for name, _ in devices]
device_points = [pos for _, pos 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 # !!! Problem !!!: query gibt mehrere Ergebnisse zurück -> kann dann nicht zugeordnet werden
# Greifen des ersten ergebnisses nicht zielführend, da nicht das näheste # Greifen des ersten ergebnisses nicht zielführend, da nicht das näheste
@@ -1050,6 +1056,4 @@ class TestLinesweep(unittest.TestCase):
if __name__ == '__main__': if __name__ == '__main__':
print(shapely.__file__)
print(shapely.__version__)
unittest.main() unittest.main()