我在现实生活中有以下项目设置:
雷达是静态的,这意味着它始终具有相同的位置。-itemA
可以移动,它的位置可以是任何东西。从雷达上,我可以读取与雷达相关的x
和y
坐标A
。我编写了以下类来描述每个项目的位置:
public class Position {
public enum Direction {
EAST, WEST, NORTH, SOUTH
};
public final Direction latitudeDirection, longitudeDirection;
public final float latitude, longitude, altitude;
public Position(Direction latitudeDirection, Direction longitudeDirection,
float latitude, float longitude, float altitude) {
this.latitudeDirection = latitudeDirection;
this.longitudeDirection = longitudeDirection;
this.latitude = latitude;
this.longitude = longitude;
this.altitude = altitude;
}
public Position(float radarX, float radarY) {
// TODO: Implement the question here
this.altitude = Config.RADAR_POSITION.altitude;
}
}
class Config {
// Position of the radar
public static final Position RADAR_POSITION = new Position(
Position.Direction.NORTH, // Latitude direction
Position.Direction.EAST, // Longitude direction
55.0f, // Latitude
13.0f, // Longitude
60.0f); // Altitude
// Facing direction of the radar in degrees. 0° is north, advancing
// clockwise.
public static final float RADAR_FACING_DIRECTION = 10.0f;
}
现在给定雷达的地理坐标,相对于雷达的x
和y
坐标A
以及雷达相对于北方的朝向,如何计算 的绝对地理坐标A
?
地球的曲率不是问题,因为最大值x
和/或y
不能超过几百米。