2011-01-07 5 views
0

истории:Расчета объединения 2 продольных интервалов (которые могут обернуть вокруг 180 градусов)

У меня есть LatLongBounds класса, представляющей область на поверхности Земли по широтному интервалу (ограниченная север & юга - не важно для этого вопроса) и продольный интервал (ограниченный востоком и западом, оба нормированные на диапазон [-180, 180] - отрицательные - западное направление).

Для того чтобы иметь возможность представлять область, которая оседлает меридиан на 180 градусов, значение запада может быть больше, чем восточное (например, диапазон west = 170, east = -170 будет охватывать указанный меридиан). По сути, продольный интервал может обернуться вокруг на 180 градусов (или эквивалентно -180 градусов).

Мой вопрос:

Кто-нибудь есть какие-либо предложения о том, как я могу вычислить минимальное объединение двух продольных интервалов, которые могут обернуть вокруг на 180 градусов.

Спасибо.

ответ

0

Проблема заключается в том, какое «направление» вам хочет рассмотреть вашу «область». С вашим примером (170E, 170W) это меньшая область, если вы считаете диапазон между a и b, но большой площадью, если вы рассматриваете область между b и a. Будут ли координаты всегда задаваться в одном порядке?

Под «минимальным объединением», вы имеете в виду intersection?

Возможно, вы захотите изменить свою систему координат во время выполнения этих вычислений, добавив 180 градусов ко всем координатам в одном из полушарий и всегда «путешествуя» в одном направлении.

+0

Поскольку допустимый диапазон охватывает 180/-180, могут быть два решения для объединения двух интервалов. Например, объединение интервалов [-180, -170] и [170, 180] может быть [-180, 180] или [170, -170]; Я бы назвал последнее как минимальный союз. Интервал всегда описывается как [западная граница, восточная граница], чтобы позволить мне представлять интервал, охватывающий дату (180-градусный меридиан). – timpatt

+0

Я думаю, что это вопрос терминологии ... Можете ли вы дать более подробную информацию о применении этих вычислений, которые помогут решить проблему. – Benjamin

+0

Я в основном пытаюсь реализовать версию [GLatLngBounds] (http://code.google.com/apis/maps/documentation/javascript/v2/reference.html#GLatLngBounds) из API Карт Google. В моем конкретном случае использования я пытаюсь просмотреть область земного шара, ограниченную двумя или более областями, которые могут охватывать 180-градусный меридиан. Неминимальный союз обычно заканчивается, чтобы просмотреть весь земной шар, хотя фактическая площадь покрытия может быть довольно маленькой. Это определенно особый случай, поэтому на данный момент я просто использую не минимальный расчет соединения. – timpatt