2011-01-07 5 views
0

Die Geschichte:die Vereinigung von 2 Längenendbereich Intervallen Berechnung (das kann um 180 Grad wickelt)

Ich habe eine LatLongBounds Klasse, die auf der Oberfläche der Erde von einem latitudinal Intervall (begrenzt durch Nord & Süden eine Fläche darstellt, - nicht wichtig für diese Frage) und ein longitudinales Intervall (begrenzt durch Ost und West; beide normalisiert auf einen Bereich [-180, 180] - negativ ist eine westliche Richtung).

Um einen Bereich darzustellen, der den 180-Grad-Meridian überspannt, kann der Wert von West größer als Ost gesetzt werden (z. B. der Bereich West = 170, Ost = -170 wird diesen Meridian überspreizen). Tatsächlich kann sich das Längsintervall um 180 Grad (oder äquivalent -180 Grad) herumwickeln.

Meine Frage:

Hat jemand irgendwelche Vorschläge, wie ich die minimale Vereinigung von zwei Längsintervallen berechnen kann, die bei 180 Grad umschlingen können.

Danke.

Antwort

0

Die Frage ist, welche „Richtung“ Sie möchten, dass Ihre „Bereich“ betrachten. Bei Ihrem Beispiel (170E, 170W) ist dies ein kleinerer Bereich, wenn Sie den Bereich zwischen a und b betrachten, aber einen großen Bereich, wenn Sie den Bereich zwischen b und a betrachten. Werden die Koordinaten immer in der gleichen Reihenfolge angegeben?

von "Mindest union", meinst du die intersection?

Sie könnten Ihr Koordinatensystem ändern, während Sie diese Berechnungen durchführen, indem Sie alle Koordinaten in einer der Hemisphären um 180 Grad addieren und immer in die gleiche Richtung "reisen".

+0

Da der gültige Bereich bei 180/-180 umbrochen wird, kann es zwei Lösungen für die Vereinigung von zwei Intervallen geben. Zum Beispiel kann die Vereinigung der Intervalle [-180, -170] und [170, 180] [-180, 180] oder [170, -170] sein; Ich würde mich auf Letzteres als Mindestunion beziehen. Das Intervall wird immer als [westliche Grenze, östliche Grenze] beschrieben, um es mir zu ermöglichen, ein Intervall darzustellen, das die Datumsgrenze (180-Grad-Meridian) überspannt. – timpatt

+0

Ich denke, das ist ein Terminologieproblem ... Können Sie mehr Details über die Anwendung dieser Berechnungen geben, die helfen würden, das Problem zu lösen? – Benjamin

+0

Ich versuche grundsätzlich, eine Version von [GLatLngBounds] (http://code.google.com/apis/maps/documentation/javascript/v2/reference.html#GLatLngBounds) über das Google Maps-API zu implementieren. In meinem speziellen Anwendungsfall versuche ich, den Bereich des Globus zu betrachten, der von den zwei oder mehr Bereichen begrenzt wird, die den 180-Grad-Meridian überspannen können. Eine nicht minimale Verbindung endet normalerweise mit dem Herauszoomen, um den gesamten Globus zu betrachten, auch wenn die tatsächlich abgedeckte Fläche ziemlich klein ist. Es ist definitiv ein Sonderfall, deshalb verwende ich jetzt nur eine nicht-minimale Unionsberechnung. – timpatt

Verwandte Themen