Как найти ограничивающую рамку по широте текущего вида worldwind?

Я работаю с worldwind и пытаюсь найти координаты вверху слева, вверху справа, внизу слева, внизу справа текущего вида worldwind.

Когда я говорю координаты, я ищу +/- 90 градусов широты и +/- 180 градусов долготы. Как проще всего это сделать.


person Jeremy    schedule 17.07.2014    source источник
comment
Если один из ответов решил ваш вопрос, укажите это, нажав на зеленую галочку.   -  person Max von Hippel    schedule 12.12.2019


Ответы (2)


Если у вас есть gov.nasa.worldwind.WorldWindow, скажем, worldWindow, то вы можете получить его текущий вид следующим образом:

View curView = worldWindow.getView();

... где curView относится к классу gov.nasa.worldwind.View; см. здесь. Затем вы можете получить «порт просмотра» представления следующим образом:

Rectangle viewPort = curView.getViewport();

... где viewPort это java.awt.Rectangle. Далее нам нужно вычислить положение каждой точки этого прямоугольника из точки экрана:

Position topLeft = curView.computePositionFromScreenPoint(0, 0);
Position botRight = curView.computePositionFromScreenPoint(viewPort.width, viewPort.height);

... где topLeft, botRight относятся к классу gov.nasa.worldwind.geom.Position. Нижний левый и верхний правый должны быть очевидны из приведенной выше конструкции.

person Max von Hippel    schedule 07.04.2019

gov.nasa.worldwind.View имеет метод computePositionFromScreenPoint

person Severin    schedule 11.09.2014