Hi,
ich habe leider wenig Zeit, daher in Kürze das Wesentliche...
Anbei das was ich damals gerechnet habe:
1. Die Koordinaten der Form GG MM SS,SSSSS werden in GG,GGGGGGGG umgerechnet.
Formel: GG,GGGGGGGG = GG + (MM + SS,SSSSS / 60) / 60
In Script dann die Variablen
DezGrad_Laenge
DezGrad_Breite
2. Offset Breite bei Radius R in [km]
Es ist 1 GG (1 Grad) = 60 NM (Nautische Meilen), also 1 GG = 60 * 1,852 km
Offset Breite = R / (60 * 1,852 km)
Offset Länge = Cos(Grad Breite)
In Script
'grad_breite = GG Angabe in GG MM SS...
offset_breite = radius_km / (60 * 1.852)
'Hinweis: Script rechnet Cos Funktion mit Radiant, daher erst von Grad nach Rad umwandeln
grad_rad_breite = grad_breite * (Pi / 180)
cos_grad_rad_breite = Cos(grad_rad_breite)
offset_laenge = offset_breite / cos_grad_rad_breite
'***** Berechne untere und obere Grenze für die dez. Koordinaten
LBound_DezGrad_Laenge = DezGrad_Laenge - offset_laenge
UBound_DezGrad_Laenge = DezGrad_Laenge + offset_laenge
LBound_DezGrad_Breite = DezGrad_Breite - offset_breite
UBound_DezGrad_Breite = DezGrad_Breite + offset_breite
'Abfrage aller Punkte, ob diese im Umkreis liegen
'***** Prüfe ob Koord. im Intervall (Quadrat) liegen
If ( (LBound_DezGrad_Laenge <= DezGrad_Laenge_Target) And (UBound_DezGrad_Laenge >= DezGrad_Laenge_Target) ) And _
( (LBound_DezGrad_Breite <= DezGrad_Breite_Target) And (UBound_DezGrad_Breite >= DezGrad_Breite_Target) ) Then
'Koord. liegt im Umkreis
end if
Das sollte sich eigentlich mit dem bereits geleisten Arbeiten von eknori decken...
Gruß
Andreas