improve importpoc some more
This commit is contained in:
parent
ec057be7c1
commit
86a4535111
3 changed files with 7 additions and 6 deletions
|
@ -78,7 +78,7 @@ class Command(BaseCommand):
|
||||||
# build resulting object
|
# build resulting object
|
||||||
altitude_quest = True
|
altitude_quest = True
|
||||||
if not result:
|
if not result:
|
||||||
result = RangingBeacon(import_tag=import_tag, beacon_type=RangingBeacon.BeaconType.EVENT_WIFI)
|
result = RangingBeacon(import_tag=import_tag, beacon_type=RangingBeacon.BeaconType.DECT)
|
||||||
else:
|
else:
|
||||||
if result.space == new_space and distance(unwrap_geom(result.geometry), point) < 0.03:
|
if result.space == new_space and distance(unwrap_geom(result.geometry), point) < 0.03:
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -553,7 +553,7 @@ class RangingBeacon(SpaceGeometryMixin, models.Model):
|
||||||
else:
|
else:
|
||||||
title = f'#{self.pk}'
|
title = f'#{self.pk}'
|
||||||
if self.addresses:
|
if self.addresses:
|
||||||
ssids = self.addresses[0] + (', …' if len(self.adresses) > 1 else '')
|
ssids = self.addresses[0] + (', …' if len(self.addresses) > 1 else '')
|
||||||
title += f' ({ssids})'
|
title += f' ({ssids})'
|
||||||
if self.comment:
|
if self.comment:
|
||||||
title += f' ({self.comment})'
|
title += f' ({self.comment})'
|
||||||
|
|
|
@ -20,16 +20,17 @@ class PointImportHelper:
|
||||||
if space.geometry.intersects(point)]
|
if space.geometry.intersects(point)]
|
||||||
if not possible_spaces:
|
if not possible_spaces:
|
||||||
possible_spaces = [space for space in self.spaces_for_level[level_id]
|
possible_spaces = [space for space in self.spaces_for_level[level_id]
|
||||||
if distance(unwrap_geom(space.geometry), point) < 0.3]
|
if distance(unwrap_geom(space.geometry), point) < 1.5]
|
||||||
if len(possible_spaces) == 1:
|
if len(possible_spaces) == 1:
|
||||||
new_space = possible_spaces[0]
|
new_space = possible_spaces[0]
|
||||||
the_distance = distance(unwrap_geom(new_space.geometry), point)
|
the_distance = distance(unwrap_geom(new_space.geometry), point)
|
||||||
print(f"SUCCESS: {name} is {the_distance:.02f}m away from {new_space.title}")
|
print(f"SUCCESS: {name} is {the_distance:.02f}m away from {new_space.title}")
|
||||||
elif len(possible_spaces) == 2:
|
elif len(possible_spaces) > 1:
|
||||||
new_space = min(possible_spaces, key=lambda s: distance(unwrap_geom(s.geometry), point))
|
new_space = min(possible_spaces, key=lambda s: distance(unwrap_geom(s.geometry), point))
|
||||||
print(f"WARNING: {name} could be in multiple spaces ({possible_spaces}, picking {new_space}...")
|
print(f"WARNING: {name} could be in multiple spaces ({possible_spaces}, picking {new_space}, "
|
||||||
|
f"which is {distance(unwrap_geom(new_space.geometry), point)}m away...")
|
||||||
else:
|
else:
|
||||||
print(f"ERROR: {name} is not within any space ({point})")
|
print(f"ERROR: {name} is not within any space on level {level_id} ({point})")
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
# move point into space if needed
|
# move point into space if needed
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue