/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEqui(float lon , float lat , Point2D_F32 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEqui(double lon , double lat , Point2D_F64 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEqui(float lat, float lon, Point2D_F32 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEquiFV(float lat, float lon, Point2D_F32 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); rect.y = height - rect.y - 1; }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEqui(double lat, double lon, Point2D_F64 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lat Latitude * @param lon Longitude * @param rect (Output) equirectangular coordinate */ public void latlonToEquiFV(double lat, double lon, Point2D_F64 rect) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); rect.y = height - rect.y - 1; }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEquiFV(double lon , double lat , Point2D_F64 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.PI2 + 0.5)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.PI + 0.5)*(height-1); rect.y = height - rect.y - 1; } }
/** * Convert from latitude-longitude coordinates into equirectangular coordinates. * Vertical equirectangular axis has been flipped * @param lon Longitude * @param lat Latitude * @param rect (Output) equirectangular coordinate */ public void lonlatToEquiFV(float lon , float lat , Point2D_F32 rect ) { rect.x = UtilAngle.wrapZeroToOne(lon / GrlConstants.F_PI2 + 0.5f)*width; rect.y = UtilAngle.reflectZeroToOne(lat / GrlConstants.F_PI + 0.5f)*(height-1); rect.y = height - rect.y - 1; } }