예제 #1
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfProjectionCentre, Angle.FromDegree(49, 30, 0));
            parameters.Add(CoordinateOperationParameters.LongitudeOfOrigin, Angle.FromDegree(24, 50, 0));
            parameters.Add(CoordinateOperationParameters.CoLatitudeOfConeAxis, Angle.FromDegree(30, 17, 17.3031));
            parameters.Add(CoordinateOperationParameters.LatitudeOfPseudoStandardParallel, Angle.FromDegree(78, 30, 0));
            parameters.Add(CoordinateOperationParameters.ScaleFactorOnPseudoStandardParallel, 0.9999);
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(5000000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(5000000));
            parameters.Add(CoordinateOperationParameters.Ordinate1OfEvaluationPoint, Length.FromMetre(1089000));
            parameters.Add(CoordinateOperationParameters.Ordinate2OfEvaluationPoint, Length.FromMetre(654000));
            parameters.Add(CoordinateOperationParameters.C1, 2.946529277 * Math.Pow(10, -2));
            parameters.Add(CoordinateOperationParameters.C2, 2.515965696 * Math.Pow(10, -2));
            parameters.Add(CoordinateOperationParameters.C3, 1.193845912 * Math.Pow(10, -7));
            parameters.Add(CoordinateOperationParameters.C4, -4.668270147 * Math.Pow(10, -7));
            parameters.Add(CoordinateOperationParameters.C5, 9.233980362 * Math.Pow(10, -12));
            parameters.Add(CoordinateOperationParameters.C6, 1.523735715 * Math.Pow(10, -12));
            parameters.Add(CoordinateOperationParameters.C7, 1.696780024 * Math.Pow(10, -18));
            parameters.Add(CoordinateOperationParameters.C8, 4.408314235 * Math.Pow(10, -18));
            parameters.Add(CoordinateOperationParameters.C9, -8.331083518 * Math.Pow(10, -24));
            parameters.Add(CoordinateOperationParameters.C10, -3.689471323 * Math.Pow(10, -24));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7004", "Bessel 1841", 6377397.155, 299.1528128);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1079"];

            this.projection = new KrovakModifiedProjection("EPSG::5224", "S-JTSK/05 (Ferro) / Modified Krovak", parameters, ellipsoid, areaOfUse);
        }
예제 #2
0
        /// <summary>
        /// Transforms the specified ellipsoid to be measured by the specified unit of measurement.
        /// </summary>
        /// <param name="ellipsoid">The ellipsoid.</param>
        /// <param name="unitOfMeasurement">The unit of measurement.</param>
        /// <returns>The ellipsoid measured by the specified unit of measurement.</returns>
        /// <exception cref="System.ArgumentNullException">The ellipsoid is null.</exception>
        /// <exception cref="System.ArgumentException">The unit of measurement must be a length quantity.</exception>
        public static Ellipsoid ReMeasure(this Ellipsoid ellipsoid, UnitOfMeasurement unitOfMeasurement)
        {
            if (ellipsoid == null)
            {
                throw new ArgumentNullException("ellipsoid", "The ellipsoid is null.");
            }
            if (unitOfMeasurement.Type != UnitQuantityType.Length)
            {
                throw new ArgumentException("The unit of measurement must be a length quantity.", "unitOfMeasurement");
            }

            if (ellipsoid.SemiMajorAxis.Unit.Equals(unitOfMeasurement))
            {
                return(ellipsoid);
            }

            if (ellipsoid.IsSphere)
            {
                return(Ellipsoid.FromSphere(ellipsoid.Identifier, ellipsoid.Name, new Length(ellipsoid.SemiMajorAxis.GetValue(unitOfMeasurement), unitOfMeasurement)));
            }
            else
            {
                return(Ellipsoid.FromInverseFlattening(ellipsoid.Identifier, ellipsoid.Name, new Length(ellipsoid.SemiMajorAxis.GetValue(unitOfMeasurement), unitOfMeasurement), ellipsoid.InverseFattening));
            }
        }
예제 #3
0
        /// <summary>
        /// Computes the ellipsoid.
        /// </summary>
        /// <returns>The ellipsoid.</returns>
        /// <exception cref="System.IO.InvalidDataException">Prime meridian code is invalid.</exception>
        private Ellipsoid ComputeEllipsoid()
        {
            Int32 code = Convert.ToInt32(_currentGeoKeys[GeoKey.GeodeticEllipsoid]);

            // EPSG ellipsoid codes
            if (code >= 8000 && code <= 8999)
            {
                return(Ellipsoids.FromIdentifier("EPSG::" + code).FirstOrDefault());
            }
            // user-defined ellipsoid
            if (code == Int16.MaxValue)
            {
                Double semiMajorAxis = Convert.ToDouble(_currentGeoKeys[GeoKey.GeodeticSemiMajorAxis]);

                // either semi-minor axis or the inverse flattening is defined
                if (_currentGeoKeys.ContainsKey(GeoKey.GeodeticSemiMinorAxis))
                {
                    Double semiMinorAxis = Convert.ToDouble(_currentGeoKeys[2058]);
                    return(Ellipsoid.FromSemiMinorAxis(Ellipsoid.UserDefinedIdentifier, Ellipsoid.UserDefinedName, semiMajorAxis, semiMinorAxis));
                }
                else
                {
                    Double inverseFlattening = Convert.ToDouble(_currentGeoKeys[GeoKey.GeodeticInverseFlattening]);
                    return(Ellipsoid.FromInverseFlattening(Ellipsoid.UserDefinedIdentifier, Ellipsoid.UserDefinedName, semiMajorAxis, inverseFlattening));
                }
            }

            throw new InvalidDataException("Prime meridian code is invalid.");
        }
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(9, 32, 48.15));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(138, 10, 07.48));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(40000.00));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(60000.00));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7008", "Clarke 1866", 6378206.4, 294.9786982);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::3108"];

            this.projection = new ModifiedAzimuthalEquidistantProjection("EPSG::9832", "Yap Islands", parameters, ellipsoid, areaOfUse);
        }
예제 #5
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(0));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(-54));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(5000000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(10000000));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7019", "GRS 1980", 6378137.0, 298.257222101);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1053"];

            this.projection = new AmericanPolyconicProjection("EPSG::19941", "Brazil Polyconic", parameters, ellipsoid, areaOfUse);
        }
예제 #6
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(55, 0, 0));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(5, 0, 0));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(0));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(0));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::4326", "WGS 84", 6378137.0, 298.2572236);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1306"];

            this.projection = new OrthographicProjection("EPSG::4326", "WGS 84 / Orthographic", parameters, ellipsoid, areaOfUse);
        }
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOf1stStandardParallel, Angle.FromDegree(5));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(-75));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(0));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(0));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7008", "Clarke 1866", 6378206.4, 294.9786982);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1262"];

            this.projection = new LambertCylindricalEqualAreaEllipsoidalProjection(IdentifiedObject.UserDefinedIdentifier, IdentifiedObject.UserDefinedName, parameters, ellipsoid, areaOfUse);
        }
예제 #8
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(13, 28, 20.87887));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(144, 44, 55.50254));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(50000.00));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(50000.00));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7008", "Clarke 1866", 6378206.4, 294.9786982);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::3255"];

            this.projection = new GuamProjection("EPSG::15400", "Guam SPCS", parameters, ellipsoid, areaOfUse);
        }
예제 #9
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(52, 9, 22.178));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(5, 23, 15.5));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(155000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(463000));
            parameters.Add(CoordinateOperationParameters.ScaleFactorAtNaturalOrigin, 0.9999079);

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7004", "Bessel 1841", 6377397.155, 299.1528128);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1275"];

            this.projection = new ObliqueStereographicProjection("EPSG::19914", "RD New", parameters, ellipsoid, areaOfUse);
        }
예제 #10
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters = new Dictionary <CoordinateOperationParameter, Object>();
            parameters.Add(CoordinateOperationParameters.LatitudeOf1stStandardParallel, Angle.FromDegree(42));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(51));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(0));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(0));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7024", "Krassowsky 1940", 6378245.0, 298.3);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1291"];

            this.projection = new MercatorBProjection("EPSG::19884", "Caspian Sea Mercator", parameters, ellipsoid, areaOfUse);
        }
예제 #11
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(4, 40, 49.75));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(-74, 8, 47.73));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(92334.879));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(109320.965));
            parameters.Add(CoordinateOperationParameters.ProjectionPlaneOriginHeight, 2550.000);

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::4019", "GRS 1980", 6378137.0, 298.2572221);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1264"];

            this.projection = new ColombiaUrbanProjection("EPSG::3116", "MAGNA-SIRGAS / Bogota urban grid", parameters, ellipsoid, areaOfUse);
        }
예제 #12
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(18, 00, 00));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(-77, 00, 00));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(250000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(150000));
            parameters.Add(CoordinateOperationParameters.ScaleFactorAtNaturalOrigin, 1.000000);

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7008", "Clarke 1866", 6378206.4, 294.9786982);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::3342"];

            this.projection = new LambertConicConformal1SPProjection("EPSG::19910 ", "Jamaica National Grid", parameters, ellipsoid, areaOfUse);
        }
예제 #13
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters = new Dictionary <CoordinateOperationParameter, Object>();
            parameters.Add(CoordinateOperationParameters.LatitudeOfStandardParallel, Angle.FromDegree(-67));
            parameters.Add(CoordinateOperationParameters.LongitudeOfOrigin, Angle.FromDegree(140));
            parameters.Add(CoordinateOperationParameters.EastingAtFalseOrigin, Length.FromMetre(300000));
            parameters.Add(CoordinateOperationParameters.NorthingAtFalseOrigin, Length.FromMetre(200000));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7022", "International 1924", 6378388, 297);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::2818"];

            this.projection = new PolarStereographicCProjection("EPSG::19983", "Terre Adelie Polar Stereographic ", parameters, ellipsoid, areaOfUse);
        }
예제 #14
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(0));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(110));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(3900000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(900000));
            parameters.Add(CoordinateOperationParameters.ScaleFactorAtNaturalOrigin, 0.997);

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7004", "Bessel 1841", 6377397.155, 299.1528128);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::4020"];

            this.projection = new MercatorAProjection("EPSG::19905", "Netherlands East Indies Equatorial Zone", parameters, ellipsoid, areaOfUse);
        }
예제 #15
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfFalseOrigin, Angle.FromDegree(27, 50, 00));
            parameters.Add(CoordinateOperationParameters.LongitudeOfFalseOrigin, Angle.FromDegree(-99, 00, 00));
            parameters.Add(CoordinateOperationParameters.LatitudeOf1stStandardParallel, Angle.FromDegree(28, 23, 00));
            parameters.Add(CoordinateOperationParameters.LatitudeOf2ndStandardParallel, Angle.FromDegree(30, 17, 00));
            parameters.Add(CoordinateOperationParameters.EastingAtFalseOrigin, Length.Convert(Length.FromUSSurveyFoot(2000000.00), UnitsOfMeasurement.Metre));
            parameters.Add(CoordinateOperationParameters.NorthingAtFalseOrigin, Length.Convert(Length.FromUSSurveyFoot(0.00), UnitsOfMeasurement.Metre));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7008", "Clarke 1866", 6378206.4, 294.9786982);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::2256"];

            this.projection2SP = new LambertConicConformal2SPProjection("EPSG::14204", " Texas CS27 South Central zone", parameters, ellipsoid, areaOfUse);
        }
예제 #16
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfFalseOrigin, Angle.FromDegree(90, 00, 00));
            parameters.Add(CoordinateOperationParameters.LongitudeOfFalseOrigin, Angle.FromDegree(4, 21, 24.983));
            parameters.Add(CoordinateOperationParameters.LatitudeOf1stStandardParallel, Angle.FromDegree(49, 50, 00));
            parameters.Add(CoordinateOperationParameters.LatitudeOf2ndStandardParallel, Angle.FromDegree(51, 10, 00));
            parameters.Add(CoordinateOperationParameters.EastingAtFalseOrigin, Length.FromMetre(150000.01));
            parameters.Add(CoordinateOperationParameters.NorthingAtFalseOrigin, Length.FromMetre(5400088.44));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7022", "International 1924", 6378388, 297);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1347"];

            this.projection2SPBelgium = new LambertConicConformal2SPBelgiumProjection("EPSG::19902 ", "Belge Lambert 72", parameters, ellipsoid, areaOfUse);
        }
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfProjectionCentre, Angle.FromGrad(-21));
            parameters.Add(CoordinateOperationParameters.LongitudeOfProjectionCentre, Angle.FromGrad(49));
            parameters.Add(CoordinateOperationParameters.AzimuthOfInitialLine, Angle.FromGrad(21));
            parameters.Add(CoordinateOperationParameters.ScaleFactorOnInitialLine, 0.9995);
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(400000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(800000));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7022", "International 1924", 6378388, 297);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1149"];

            this.projection = new LabordeObliqueMercatorProjection("EPSG::19861", "Laborde Grid", parameters, ellipsoid, areaOfUse);
        }
예제 #18
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfProjectionCentre, Angle.FromDegree(49, 30, 0));
            parameters.Add(CoordinateOperationParameters.LongitudeOfOrigin, Angle.FromDegree(24, 50, 0));
            parameters.Add(CoordinateOperationParameters.CoLatitudeOfConeAxis, Angle.FromDegree(30, 17, 17.303));
            parameters.Add(CoordinateOperationParameters.LatitudeOfPseudoStandardParallel, Angle.FromDegree(78, 30, 0));
            parameters.Add(CoordinateOperationParameters.ScaleFactorOnPseudoStandardParallel, 0.9999);
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(0));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(0));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7004", "Bessel 1841", 6377397.155, 299.1528128);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1079"];

            this.krovakNorthOrientedProjection = new KrovakNorthOrientedProjection("ESPG::5225", "S-JTSK/05 (Ferro) / Modified Krovak East North", parameters, ellipsoid, areaOfUse);
        }
예제 #19
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfProjectionCentre, Angle.FromDegree(4));
            parameters.Add(CoordinateOperationParameters.LongitudeOfProjectionCentre, Angle.FromDegree(115));
            parameters.Add(CoordinateOperationParameters.AzimuthOfInitialLine, Angle.FromDegree(53, 18, 56.9537));
            parameters.Add(CoordinateOperationParameters.AngleFromRectifiedToSkewGrid, Angle.FromDegree(53, 7, 48.3685));
            parameters.Add(CoordinateOperationParameters.ScaleFactorOnInitialLine, 0.99984);
            parameters.Add(CoordinateOperationParameters.EastingAtProjectionCentre, Length.FromMetre(590476.87));
            parameters.Add(CoordinateOperationParameters.NorthingAtProjectionCentre, Length.FromMetre(442857.65));

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7016", "Everest 1830 (1967 Definition)", 6377298.556, 300.8017);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1362"];

            this.projection = new HotineObliqueMercatorBProjection("EPSG::19958", "Rectified Skew Orthomorphic Borneo Grid (metres)", parameters, ellipsoid, areaOfUse);
        }
예제 #20
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfFalseOrigin, Angle.FromDegree(43, 19, 00));
            parameters.Add(CoordinateOperationParameters.LongitudeOfFalseOrigin, Angle.FromDegree(-84, 20, 00));
            parameters.Add(CoordinateOperationParameters.LatitudeOf1stStandardParallel, Angle.FromDegree(44, 11, 00));
            parameters.Add(CoordinateOperationParameters.LatitudeOf2ndStandardParallel, Angle.FromDegree(45, 42, 00));
            parameters.Add(CoordinateOperationParameters.EastingAtFalseOrigin, Length.Convert(Length.FromUSSurveyFoot(2000000.00), UnitsOfMeasurement.Metre));
            parameters.Add(CoordinateOperationParameters.NorthingAtFalseOrigin, Length.Convert(Length.FromUSSurveyFoot(0.00), UnitsOfMeasurement.Metre));
            parameters.Add(CoordinateOperationParameters.EllipsoidScalingFactor, 1.0000382);

            Ellipsoid ellipsoid = Ellipsoid.FromInverseFlattening("EPSG::7008", "Clarke 1866", 6378206.4, 294.9786982);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::2256"];

            this.projection2SPMichigan = new LambertConicConformal2SPMichiganProjection("EPSG::4267", "NAD 27 Michigan Central", parameters, ellipsoid, areaOfUse);
        }