Wie kann man prüfen, ob ein gegebener Länge Wert innerhalb eines beliebigen Längenbereich ist?
-
21-09-2019 - |
Frage
OK. Dies könnte eher eine mathematische Frage, aber hier geht.
Ich habe einen Längenwert, sagen wir mal X. Und ich möchte wissen, ob X zwischen zwei beliebigen Längenwerte fällt.
Zum Beispiel, wenn mein X 145 ist, und der Bereich ist [21, -179]. Der Bereich wird durch die Google Map API Grenzen gegeben und ich kann auf der Google-Karte sehen, dass X tut, fallen in diesen Bereich.
Doch wie kann ich dies tatsächlich berechnen?
Lösung
// check if x is between min and max, inclusively
if ( x >= minLongitude && x <= maxLongitude )
return true;
Andere Tipps
/*
* Return true if and only if the longitude value lng lies in the range [min, max].
*
* All input values should be in the range [-180, +180].
* The test is conducted clockwise.
*/
private boolean isLongitudeInRange(double lng, double min, double max) {
assert(lng >= -180.0 && lng <= 180.0);
assert(min >= -180.0 && min <= 180.0);
assert(max >= -180.0 && max <= 180.0);
if (lng < min) {
lng += 360.0;
}
if (max < min) {
max += 360.0;
}
return (lng >= min) && (lng <= max);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow