Как получить точную высоту над уровнем моря с помощью НАСА EGM96.java?
EGM96.java всегда выдает исключение ввода-вывода, когда я пытаюсь его запустить.
public static void main(String[] args) {
// TODO Auto-generated method stub
EGM96 egm = new EGM96("config/EGM96.dat");
LatLon latlon = LatLon.fromDegrees(1.4, 103.9);
double offset = egm.getOffset(latlon.getLatitude(),latlon.getLatitude());
}
Это приведет к исключению ввода-вывода.
Однако исключения IO исчезают, когда
public static void main(String[] args) {
// TODO Auto-generated method stub
EGM96 egm = new EGM96("config/EGM96.dat");
LatLon latlon = LatLon.fromDegrees(1.4, 103.9);
double offset = egm.getOffset(latlon.getLatitude(),latlon.getLatitude());
double offset = egm.getOffset(latlon.getLatitude(),latlon.getLatitude());
}
Но я не могу иметь 2 переменные с одинаковыми именами. Если я попытался изменить одну из переменных, исключение ввода-вывода возвращается.
EGM96.java доступен по адресу http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind/src/gov/nasa/worldwind/util/EGM96.java
1 ответ
Если вы получаете ошибку компилятора, это означает, что код EGM потенциально может вызвать исключение во время выполнения, и вы должны справиться с этим. Обычно это делается с помощью блока try-catch, где вы перехватываете исключение и выводите сообщение об ошибке или выполняете какую-либо другую пользовательскую обработку. Пожалуйста, проверьте это для деталей о том, как все это работает.