3 Stimmen

Wie kann man mit Java prüfen, ob ein Punkt in einem Gebiet mit Breiten- und Längengrad und Radius liegt?

Ich muss eine Methode mit der folgenden Signatur schreiben

public class Position {
double longitude;
double latitude;
}

boolean isInsideTheArea(Position center, double radius, Position point);

Wenn also point befindet sich innerhalb der area die die center als sein Zentrum und radius als sein Radius in Meilen sollte dies Folgendes ergeben true , false sonst.

7voto

Matt Ball Punkte 343109

Verwenden Sie die Haversin-Formel zur Berechnung des Abstands zwischen center y point . Wenn dieser Abstand größer ist als radius Rückkehr false ; sonst Rückgabe true .

Pseudocode:

def haversineDistance(a, b):
    # snip...
    return foo

def isInsideTheArea (center, radius, point):
    return haversineDistance(center, point) <= radius

1voto

sherif Punkte 2274

Ich hoffe, dies hilft Ihnen weiter. Es gibt auch einige Beispiele für die Umsetzung http://en.wikipedia.org/wiki/Haversine_formula

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X