public GeoPoint(double B, double L, double H, double a, double f) : this(B, L, a, f) { geodeticCoord = new GeodeticCoordinate(B, L, H); double X, Y, Z; Geodetic.BLH_XYZ(B, L, H, out X, out Y, out Z, ellipsoid.a, ellipsoid.f); spatialCoord = new SpatialRectCoordinate(X, Y, Z); dimension = 3; }
public GeoPoint(double B, double L, double a, double f) { ellipsoid = new ReferenceEllipsoid(a, f); geodeticCoord = new GeodeticCoordinate(B, L); double x, y; Geodetic.BL_xy(B, L, out x, out y, ellipsoid.a, ellipsoid.f); gaussCoord = new GaussCoordinate(x, y); dimension = 2; }
/// <summary> /// 布尔莎七参数模型坐标转换,从大地坐标到大地坐标 /// </summary> /// <param name="pntBLH"></param> /// <param name="eOld"></param> /// <param name="eNew"></param> /// <param name="param"></param> /// <returns></returns> public static GeodeticCoordinate CoordinateTransform(GeodeticCoordinate pntBLH, ReferenceEllipsoid eOld, ReferenceEllipsoid eNew, TransformParameters param) { double X, Y, Z; BLH_XYZ(pntBLH.B, pntBLH.L, pntBLH.H, out X, out Y, out Z, eOld.a, eOld.f); SpatialRectCoordinate s = CoordinateTransform(new SpatialRectCoordinate(X, Y, Z), param); double B, L, H; XYZ_BLH(s.X, s.Y, s.Z, out B, out L, out H, eNew.a, eNew.f); return(new GeodeticCoordinate(B, L, H)); }
/// <summary> /// 添加 /// </summary> /// <param name="BLH"></param> public void Add(GeodeticCoordinate BLH) { GeoPoint point = new GeoPoint(BLH); this.Add(point); }
public GeoPoint(GeodeticCoordinate BLH) : this(BLH, Default_a, Default_f) { }
public GeoPoint(GeodeticCoordinate BLH, ReferenceEllipsoid e) : this(BLH, e.a, e.f) { }