如何使用NASA的EGM96.java获得高于平均海平面的准确高度?

时间:2014-04-30 14:17:46

标签: java geolocation altitude

当我尝试运行它时,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

获取

1 个答案:

答案 0 :(得分:0)

如果您遇到编译器错误,则意味着EGM代码可能会在运行时抛出异常,您应该处理它。这通常使用try-catch块完成,您可以在其中捕获异常并打印错误消息或执行其他自定义处理。请查看this,了解整个工作如何运作的详细信息。