public SphericalPoint(LinearUnit radius, AngularUnit HorizontalAngle, AngularUnit verticalAngle)
        {
            this.m_Radius = radius.ChangeTo <TLinear>();

            this.m_HorizontalAngle = HorizontalAngle.ChangeTo <TAngular>();

            this.m_VerticalAngle = verticalAngle.ChangeTo <TAngular>();
        }
Exemplo n.º 2
0
        public Cartesian3DPoint(LinearUnit x, LinearUnit y, LinearUnit z)
        {
            this.m_X = x.ChangeTo <T>();

            this.m_Y = y.ChangeTo <T>();

            this.m_Z = z.ChangeTo <T>();
        }
Exemplo n.º 3
0
        public GeodeticPoint(IEllipsoid ellipsoid, LinearUnit height, AngularUnit longitude, AngularUnit latitude)
        {
            if (latitude.Range != AngleRange.MinusPiTOPi)
            {
                latitude.Range = AngleRange.MinusPiTOPi;
            }

            this.m_Datum = ellipsoid.ChangeTo <TLinear, TAngular>();

            this.m_Height = height.ChangeTo <TLinear>();

            this.m_Latitude = latitude.ChangeTo <TAngular>();

            this.m_Longitude = longitude.ChangeTo <TAngular>();
        }
Exemplo n.º 4
0
        public Ellipsoid(string name, LinearUnit semiMajorAxis, double inverseFlattening,
                         ICartesian3DPoint datumTranslation, OrientationParameter datumMisalignment, int srid)
        {
            this._datumTranslation = new Cartesian3DPoint <TLinear>(datumTranslation.X, datumTranslation.Y, datumTranslation.Z);

            this._datumMisalignment = new OrientationParameter(datumMisalignment.Omega.ChangeTo <TAngular>(),
                                                               datumMisalignment.Phi.ChangeTo <TAngular>(),
                                                               datumMisalignment.Kappa.ChangeTo <TAngular>());

            this._name = name;

            this._srid = srid;

            this._semiMajorAxis = semiMajorAxis.ChangeTo <TLinear>();

            double tempSemiMajor = this._semiMajorAxis.Value;

            if (inverseFlattening == 0)
            {
                this._semiMinorAxis = new TLinear()
                {
                    Value = tempSemiMajor
                };
            }
            else
            {
                this._semiMinorAxis = new TLinear()
                {
                    Value = tempSemiMajor - tempSemiMajor / inverseFlattening
                };
            }

            double tempSemiMinor = this._semiMinorAxis.Value;

            this._firstEccentricity = Math.Sqrt((tempSemiMajor * tempSemiMajor - tempSemiMinor * tempSemiMinor)
                                                /
                                                (tempSemiMajor * tempSemiMajor));

            this._secondEccentricity = Math.Sqrt((tempSemiMajor * tempSemiMajor - tempSemiMinor * tempSemiMinor)
                                                 /
                                                 (tempSemiMinor * tempSemiMinor));

            this.EsriName = string.Empty;
        }
Exemplo n.º 5
0
        public Cartesian2DPoint(LinearUnit x, LinearUnit y)
        {
            this.m_X = x.ChangeTo <T>();

            this.m_Y = y.ChangeTo <T>();
        }
Exemplo n.º 6
0
        public PolarPoint(LinearUnit radius, AngularUnit angle)
        {
            this.m_Radius = (TLinear)radius.ChangeTo <TLinear>();

            this.m_Angle = (TAngular)angle.ChangeTo <TAngular>();
        }