/// <summary> /// WGS84 to Tokyo /// </summary> /// <param name="param"></param> /// <param name="xyz"></param> /// <returns></returns> private XYZ_Tokyo WGS84_to_Tokyo(int param, XYZ84 xyz) { XYZ_Tokyo tokyo; tokyo.X_Tokyo = 0.0; tokyo.Y_Tokyo = 0.0; tokyo.Z_Tokyo = 0.0; switch (param) { case 1: // New parameters tokyo.X_Tokyo = xyz.X84 + 147.54; tokyo.Y_Tokyo = xyz.Y84 - 507.26; tokyo.Z_Tokyo = xyz.Z84 - 680.47; break; case 2: // Old parameters tokyo.X_Tokyo = xyz.X84 + 146.43; tokyo.Y_Tokyo = xyz.Y84 - 507.89; tokyo.Z_Tokyo = xyz.Z84 - 681.46; break; } return(tokyo); }
/// <summary> /// WGS-84 to Cartesian coordinates /// </summary> /// <param name="lat84"></param> /// <param name="lon84"></param> /// <param name="alt84"></param> public void w84toxyh(double lat84, double lon84, double alt84) { int datum = 0; // STEP 1 : WGS-84 to XYZ double lat = this.deg2rad(lat84); double lon = this.deg2rad(lon84); double alt = this.deg2rad(alt84); datum = 1; XYZ84 xyz84 = this.dms_to_XYZ(datum, lat, lon, alt); // STEP 2 : WGS-84 to TOKYO XYZ_Tokyo tokyo = this.WGS84_to_Tokyo(this.param, xyz84); // STEP 3 : XYZ to LAT_LON_ALT datum = 2; LLA lla = this.XYZ_to_dms(datum, tokyo); result = this.bl2xy(lla, this.zone); }
/// <summary> /// WGS84 to Tokyo /// </summary> /// <param name="param"></param> /// <param name="xyz"></param> /// <returns></returns> private XYZ_Tokyo WGS84_to_Tokyo(int param, XYZ84 xyz) { XYZ_Tokyo tokyo; tokyo.X_Tokyo = 0.0; tokyo.Y_Tokyo = 0.0; tokyo.Z_Tokyo = 0.0; switch (param) { case 1: // New parameters tokyo.X_Tokyo = xyz.X84 + 147.54; tokyo.Y_Tokyo = xyz.Y84 - 507.26; tokyo.Z_Tokyo = xyz.Z84 - 680.47; break; case 2: // Old parameters tokyo.X_Tokyo = xyz.X84 + 146.43; tokyo.Y_Tokyo = xyz.Y84 - 507.89; tokyo.Z_Tokyo = xyz.Z84 - 681.46; break; } return tokyo; }