modifications to support optional geo position edits for nodes and to account for geo updates to sdt
This commit is contained in:
parent
9535d40b70
commit
ff3b20a962
6 changed files with 51 additions and 22 deletions
|
@ -255,20 +255,28 @@ class Sdt:
|
|||
self.cmd(f"sprite {node_type} image {icon}")
|
||||
self.cmd(f'node {node.id} type {node_type} label on,"{node.name}" {pos}')
|
||||
|
||||
def edit_node(self, node: NodeBase) -> None:
|
||||
def edit_node(self, node: NodeBase, lon: float, lat: float, alt: float) -> None:
|
||||
"""
|
||||
Handle updating a node in SDT.
|
||||
|
||||
:param node: node to update
|
||||
:param lon: node longitude
|
||||
:param lat: node latitude
|
||||
:param alt: node altitude
|
||||
:return: nothing
|
||||
"""
|
||||
logging.debug("sdt update node: %s - %s", node.id, node.name)
|
||||
if not self.connect():
|
||||
return
|
||||
pos = self.get_node_position(node)
|
||||
if not pos:
|
||||
return
|
||||
self.cmd(f"node {node.id} {pos}")
|
||||
|
||||
if all([lat is not None, lon is not None, alt is not None]):
|
||||
pos = f"pos {lon:.6f},{lat:.6f},{alt:.6f}"
|
||||
self.cmd(f"node {node.id} {pos}")
|
||||
else:
|
||||
pos = self.get_node_position(node)
|
||||
if not pos:
|
||||
return
|
||||
self.cmd(f"node {node.id} {pos}")
|
||||
|
||||
def delete_node(self, node_id: int) -> None:
|
||||
"""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue