【发布时间】:2023-03-22 11:56:01
【问题描述】:
当我尝试运行 EGM96.java 时,它总是抛出一个 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());
}
这会导致 IO 异常。
但是,当 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 个同名变量。如果我尝试更改其中一个变量,则 IO 异常会再次出现。
EGM96.java 可在http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind/src/gov/nasa/worldwind/util/EGM96.java 获得
【问题讨论】:
-
你把
EMG96.dat文件放到config目录了吗? -
是的,我做到了。 “config/EGM96.dat”@guido
-
当您说“这将导致 IO 异常”时,您的意思是您在代码运行时获得了异常堆栈跟踪吗?再一次,你说当你两次声明偏移量时异常消失了。此代码(修复 IO ex 的代码)甚至无法编译。你确定你得到的是代码运行时抛出的异常而不是编译器错误吗?
-
@prabugp 这是编译器错误
-
@guido 对于这种用于大地水准面高度的代码还有其他建议吗?
标签: java geolocation altitude