You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The GreatCircle.sphericalDistance() expects parameters in the units of radians, but several invocations of GreatCircle.sphericalDistance() seem using latitude and longitude in the units of degree:
In fact, it is. I developed a prototype that supports adding semantic information from the real-world context to program elements, thereby enable checking more constraints/rules.
In your project, what I did was adding some units information to several files, e.g., geo.java, and LatLonPoint.java, and run an inference algorithm to propagate the units. Then, the prototype checked the whole project, and revealed some candidate errors. Up to now, I am still trying to understand the details of OpenMap. I hope I can contribute more in the future.
I have used my prototype for a few other Geographic applications, OpenMap is actually the largest one.
The GreatCircle.sphericalDistance() expects parameters in the units of radians, but several invocations of GreatCircle.sphericalDistance() seem using latitude and longitude in the units of degree:
in Route.java, two invocations:
in Road.java, two invocations:
These four statements are all invoked with arguments in units of degree.
Also, in the Road.java file, in the statement after the last invocation above,
if (thisLength >= kilometers) {
it compares kilometers with thisLength. The variable thisLength should represent arc distance, in the units of radians, not kilometers.
Jian
The text was updated successfully, but these errors were encountered: