wie prüfen ob Geokoordinaten im Umkreis von einem Standort sind.

Begonnen von bicmac, 30 Dezember 2020, 20:22:53

Vorheriges Thema - Nächstes Thema

bicmac

Hi,
weiss jemand wie ich im fhem oder prüfen kann ob sich Geokoordinate A im Unkreis X von Geokoordinate B befindet?
ich habe die geokoordinaten von meinem Auto, würde aber gern einen dummy schalten sobald die Koordinaten vom auto sich innerhalb eines bestimmten umkreises um einen bestimmten anderem Punkt befinden.
Hintergrund ist das ich 2 Parkplätze daheim habe. wenn das Auto auf Parkplatz 1 steht soll der dummy Parkplatz auf 1 gesetzt sein. Wenn das Auto auf Parkplatz 2 steht dann auf 2.
Die Parkplätze sind weit genug von einander entfernt das das gehen müsste wenn ich schauen kann ob die koordinate die das Auto liefert sich im umkreis von 20m der Parkplatzmittelpunkt koordinate befindet.
Nur stehe ich auf dem Schlauch wie ich das in  FHEM machen kann.

Jamo

Das hier vielleicht?
##########################################################
# Calculate distance between two geocoordinates
##########################################################
sub calcDistkm ($$$$) {
  my($latNew,$lonNew,$latOld,$lonOld) = @_;
  #Entfernung zur Home-Koordinate (Luftlinie)
  #Berechnung nach: https://www.kompf.de gps distcalc.html
  # Verbesserte Methode
  #my $lat = ($latNew + $latOld) / 2 * 0.01745;
  #my $dx  = 111.3 * cos($lat) * abs($lonNew - $lonOld);
  #my $dy  = 111.3 * abs($latNew - $latOld);

  #Einfache Variante
  my $dx =  71.5 * abs($lonNew - $lonOld);
  my $dy = 111.3 * abs($latNew - $latOld);

  my $distance = sprintf("%.2f",sqrt($dx * $dx + $dy * $dy));
  return $distance;
}
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

bicmac