1
Ich schreibe ein Java-Programm, um den gesamten Längen- und Breitengrad mit einem festen Abstand von meinem gegebenen Punkt zu generieren. die Entfernung muss genau 2000 km betragen, nicht 2000 km.Generieren Sie ein zufälliges Geopoint aus einem festen Abstand von einem gegebenen Breiten- und Längengrad
dies ist mein Code
public static void getLocation(double x0, double y0, int meters) {
Random random = new Random();
// Convert radius from meters to degrees
double radiusInDegrees = meters/111000f;
double u = random.nextDouble();
double v = random.nextDouble();
double w = radiusInDegrees * Math.sqrt(u);
double t = 2 * Math.PI * v;
double x = w * Math.cos(t);
double y = w * Math.sin(t);
// Adjust the x-coordinate for the shrinking of the east-west distances
// double new_x = x/Math.cos(Math.toRadians(y0));
double foundLongitude = x + x0;
double foundLatitude = y + y0;
System.out.println("Longitude: " + foundLongitude + " Latitude: " + foundLatitude);
}
Wie mache ich die ganzen Punkt gleich weit entfernt von dem geo Punkt erzeugen, wie ein Kreis bilden?
let Lager sagen wir geo Punkt mit den Koordinaten X, Y und Radius R. Sie die Koordinaten der Punkte entlang des gesamten Umfangs des Kreises, korrekt erhalten wollen, müssen? –
yupppp ........... – user2399158
Wählen Sie eine zufällige Peilung und verwenden Sie dann eine Abstands- und Peilformel, um das Ziel lat/long zu berechnen. [Diese Antwort] (https://stackoverflow.com/questions/10119479/calculating-lat-and-long-from-bearing-and-distance) hat eine Lösung. Einige weitere Details [hier] (https://www.movable-type.co.uk/scripts/latlong.html). – teppic