/// <summary>
        /// Converts the specified content.
        /// </summary>
        /// <param name="content">The content.</param>
        /// <returns>The converted reference.</returns>
        protected override ProjectedCoordinateReferenceSystem Convert(String[] content)
        {
            switch (content[3])
            {
            case "projected":
                AreaOfUse areaOfUse = this.areaOfUseCollection[Authority, Int32.Parse(content[2])];
                GeographicCoordinateReferenceSystem baseReferenceSystem = this.baseCoordinateReferenceSystemCollection[Authority, Int32.Parse(content[6])];
                CoordinateSystem coordinateSystem = this.coordinateSystemCollection[Authority, Int32.Parse(content[4])];

                // the projection should use the ellipsoid with the unit specified by the coordinate system
                CoordinateProjection projection = this.coordinateProjectionCollection[Authority, Int32.Parse(content[7]), baseReferenceSystem.Datum.Ellipsoid.ToUnit(coordinateSystem.GetAxis(0).Unit)];

                // TODO: remove condition, once all projections are implemented
                if (projection == null)
                {
                    return(null);
                }

                return(new ProjectedCoordinateReferenceSystem(IdentifiedObject.GetIdentifier(Authority, content[0]), content[1],
                                                              content[11], this.GetAliases(Int32.Parse(content[0])), content[10],
                                                              baseReferenceSystem, coordinateSystem, areaOfUse, projection));

            default:
                return(null);
            }
        }
示例#2
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);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CoordinateProjection" /> class.
        /// </summary>
        /// <param name="identifier">The identifier of the operation.</param>
        /// <param name="name">The name of the operation.</param>
        /// <param name="method">The coordinate operation method.</param>
        /// <param name="parameters">The parameters of the operation.</param>
        /// <param name="ellipsoid">The ellipsoid.</param>
        /// <param name="areaOfUse">The area of use where the operation is applicable.</param>
        /// <exception cref="System.ArgumentNullException">
        /// The identifier is null.
        /// or
        /// The method is null.
        /// or
        /// The method requires parameters which are not specified.
        /// or
        /// The ellipsoid is null.
        /// or
        /// The area of use is null.
        /// </exception>
        /// <exception cref="System.ArgumentException">
        /// The parameters do not contain a required parameter value.
        /// or
        /// The parameter is not an angular value as required by the method.
        /// or
        /// The parameter is not a length value as required by the method.
        /// or
        /// The parameter is not a double precision floating-point number as required by the method.
        /// or
        /// The parameter does not have the same measurement unit as the ellipsoid.
        /// </exception>
        public CoordinateProjection(String identifier, String name, CoordinateOperationMethod method, IDictionary <CoordinateOperationParameter, Object> parameters, Ellipsoid ellipsoid, AreaOfUse areaOfUse)
            : base(identifier, name, method, parameters)
        {
            if (ellipsoid == null)
            {
                throw new ArgumentNullException("ellipsoid", "The ellipsoid is null.");
            }

            if (areaOfUse == null)
            {
                throw new ArgumentNullException("areaOfUse", "The area of use is null.");
            }

            if (parameters != null)
            {
                foreach (CoordinateOperationParameter parameter in parameters.Keys)
                {
                    if ((parameters[parameter] is Length) && ((Length)parameters[parameter]).Unit != ellipsoid.SemiMajorAxis.Unit)
                    {
                        throw new ArgumentException("The parameter '" + parameter.Name + "' does not have the same measurement unit as the ellipsoid.", "parameters");
                    }
                }
            }

            _areaOfUse = areaOfUse;
            _ellipsoid = ellipsoid;
        }
        /// <summary>
        /// Returns a collection with items within the specified area of use.
        /// </summary>
        /// <param name="area">The area of use.</param>
        /// <returns>A collection containing the items that are within the specified area of use.</returns>
        /// <exception cref="System.ArgumentNullException">The area of use is null.</exception>
        public IEnumerable <VerticalDatum> WithinArea(AreaOfUse area)
        {
            if (area == null)
            {
                throw new ArgumentNullException(nameof(area));
            }

            return(this.GetReferences().Where(datum => datum.AreaOfUse.Within(area)));
        }
示例#5
0
        /// <summary>
        /// Returns a collection with items within the specified area of use.
        /// </summary>
        /// <param name="area">The area of use.</param>
        /// <returns>A collection containing the items that are within the specified area of use.</returns>
        /// <exception cref="System.ArgumentNullException">The area of use is null.</exception>
        public IEnumerable <GeographicCoordinateReferenceSystem> WithinArea(AreaOfUse area)
        {
            if (area == null)
            {
                throw new ArgumentNullException(nameof(area));
            }

            return(this.GetReferences().Where(referenceSystem => referenceSystem.AreaOfUse.Within(area)));
        }
        /// <summary>
        /// Returns a collection with items with the specified area of use.
        /// </summary>
        /// <param name="area">The area of use.</param>
        /// <returns>A collection containing the items that are with the specified area of use.</returns>
        /// <exception cref="System.ArgumentNullException">The area of use is null.</exception>
        public IEnumerable <ProjectedCoordinateReferenceSystem> WithArea(AreaOfUse area)
        {
            if (area == null)
            {
                throw new ArgumentNullException(nameof(area));
            }

            return(this.GetReferences().Where(referenceSystem => referenceSystem.AreaOfUse.Equals(area)));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="GridProjection" /> class.
        /// </summary>
        /// <param name="identifier">The identifier of the operation.</param>
        /// <param name="name">The name of the operation.</param>
        /// <param name="method">The coordinate operation method.</param>
        /// <param name="areaOfUse">The area of use where the operation is applicable.</param>
        /// <exception cref="System.ArgumentNullException">The area of use is null.</exception>
        public GridProjection(String identifier, String name, CoordinateOperationMethod method, AreaOfUse areaOfUse)
            : base(identifier, name, method, null)
        {
            if (areaOfUse == null)
            {
                throw new ArgumentNullException("areaOfUse", "The area of use is null.");
            }

            _areaOfUse = areaOfUse;
        }
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfTopocentricOrigin, Angle.FromDegree(55));
            parameters.Add(CoordinateOperationParameters.LongitudeOfTopocentricOrigin, Angle.FromDegree(5));
            parameters.Add(CoordinateOperationParameters.EllipsoidalHeightOfTopocentricOrigin, Length.FromMetre(200));

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::7030", "WGS 1984", 6378137, 6356752.314);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1262"];

            this.projection = new VerticalPerspectiveOrthographicProjection(IdentifiedObject.UserDefinedIdentifier, IdentifiedObject.UserDefinedName, parameters, ellipsoid, areaOfUse);
        }
示例#9
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);
        }
示例#10
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.XAxisTranslation, Length.FromMetre(84.87));
            parameters.Add(CoordinateOperationParameters.YAxisTranslation, Length.FromMetre(96.49));
            parameters.Add(CoordinateOperationParameters.ZAxisTranslation, Length.FromMetre(116.95));

            CoordinateReferenceSystem source = TestUtilities.ReferenceProvider.GeographicCoordinateReferenceSystems["EPSG::4326"];
            CoordinateReferenceSystem target = TestUtilities.ReferenceProvider.GeographicCoordinateReferenceSystems["EPSG::4230"];
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1262"];

            this.transformation = new GeocentricTranslation(IdentifiedObject.UserDefinedIdentifier, IdentifiedObject.UserDefinedName, parameters, source, target, areaOfUse);
        }
        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);
        }
示例#12
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(10, 26, 30));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(-61, 20, 0));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromClarkesLink(430000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromClarkesLink(325000));

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::7007", "Clarke 1858", Length.FromClarkesFoot(20926348), Length.FromClarkesFoot(20855233)).ToUnit(UnitsOfMeasurement.ClarkesLink);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1339"];

            this.projection = new CassiniSoldnerProjection("EPSG::19925", "Trinidad Grid", parameters, ellipsoid, areaOfUse);
        }
示例#13
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);
        }
示例#14
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(0));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(0));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(0));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(0));

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::7030", "WGS 1984", 6378137, 6356752.314);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1262"];

            this.projection = new EquidistantCylindricalProjection("EPSG::4085", "World Equidistant Cylindrical", 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);
        }
示例#17
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);
        }
示例#18
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.Ordinate1OfEvaluationPointInTarget, Length.FromMetre(-129.549));
            parameters.Add(CoordinateOperationParameters.Ordinate2OfEvaluationPointInTarget, Length.FromMetre(-208.185));
            parameters.Add(CoordinateOperationParameters.XAxisRotation, Angle.FromArcSecond(1.56504));
            parameters.Add(CoordinateOperationParameters.ScaleDifference, 1.0000015504);

            CoordinateReferenceSystem source = TestUtilities.ReferenceProvider.ProjectedCoordinateReferenceSystems["EPSG::23031"];
            CoordinateReferenceSystem target = TestUtilities.ReferenceProvider.ProjectedCoordinateReferenceSystems["EPSG::25831"];
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::3732"];

            this.transformation = new SimilarityTransformation("EPSG::5166", "ED50 / UTM zone 31N to ETRS89 / UTM zone 31N (1)", parameters, source, target, areaOfUse);
        }
示例#19
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

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

            Ellipsoid ellipsoid = Ellipsoid.FromSphere(IdentifiedObject.UserDefinedIdentifier, IdentifiedObject.UserDefinedName, 6378137);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1262"];

            this.projection = new PopularVisualisationPseudoMercatorProjection(IdentifiedObject.UserDefinedIdentifier, IdentifiedObject.UserDefinedName, parameters, ellipsoid, areaOfUse);
        }
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(90));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(0));
            parameters.Add(CoordinateOperationParameters.ScaleFactorAtNaturalOrigin, 0.994);
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(2000000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(2000000));

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::7030", "WGS 1984", 6378137, 6356752.314);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1996"];

            this.projection = new PolarStereographicAProjection("EPSG::16061", "Universal Polar Stereographic North", parameters, ellipsoid, areaOfUse);
        }
示例#21
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);
        }
示例#22
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters = new Dictionary <CoordinateOperationParameter, Object>();
            parameters.Add(CoordinateOperationParameters.LatitudeOfStandardParallel, Angle.FromDegree(-71));
            parameters.Add(CoordinateOperationParameters.LongitudeOfOrigin, Angle.FromDegree(70));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(6000000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(6000000));

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::7030", "WGS 1984", 6378137, 6356752.314);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1278"];

            this.projection = new PolarStereographicBProjection("EPSG::19993", "Australian Antarctic Polar Stereographic", parameters, ellipsoid, areaOfUse);
        }
示例#23
0
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(34, 39, 00));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(37, 21, 00));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(300000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(300000));
            parameters.Add(CoordinateOperationParameters.ScaleFactorAtNaturalOrigin, 0.99962560);

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::7011", "Clarke 1880 (IGN)", 6378249.2, 6356515);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1623"];

            this.projectionLambertConicNearConformal = new LambertConicNearConformalProjection("EPSG::19940", "Levant Zone", parameters, ellipsoid, areaOfUse);
        }
示例#24
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);
        }
示例#25
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);
        }
        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);
        }
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.LatitudeOfNaturalOrigin, Angle.FromDegree(49));
            parameters.Add(CoordinateOperationParameters.LongitudeOfNaturalOrigin, Angle.FromDegree(-2));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(400000));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(-100000));
            parameters.Add(CoordinateOperationParameters.ScaleFactorAtNaturalOrigin, 0.9996012717);

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::7001", "Airy 1830", 6377563.396, 6356256.910);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1264"];

            this.projection = new TransverseMercatorProjection("EPSG::19916", "British National Grid", parameters, ellipsoid, areaOfUse);
        }
示例#28
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);
        }
示例#29
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(29));
            parameters.Add(CoordinateOperationParameters.FalseEasting, Length.FromMetre(0));
            parameters.Add(CoordinateOperationParameters.FalseNorthing, Length.FromMetre(0));
            parameters.Add(CoordinateOperationParameters.ScaleFactorAtNaturalOrigin, 1);

            Ellipsoid ellipsoid = Ellipsoid.FromSemiMinorAxis("EPSG::4326", "WGS 84", 6378137, 6356752.31424);
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1264"];

            this.projection = new TransverseMercatorSouthProjection("EPSG::4148", "Hartebeesthoek94", parameters, ellipsoid, areaOfUse);
        }
        public void SetUp()
        {
            Dictionary <CoordinateOperationParameter, Object> parameters = new Dictionary <CoordinateOperationParameter, Object>();

            parameters.Add(CoordinateOperationParameters.Ordinate1OfEvaluationPointInSource, Angle.FromDegree(53.5));
            parameters.Add(CoordinateOperationParameters.Ordinate2OfEvaluationPointInSource, Angle.FromDegree(-7.7));
            parameters.Add(CoordinateOperationParameters.Ordinate1OfEvaluationPointInTarget, Angle.FromDegree(53.5));
            parameters.Add(CoordinateOperationParameters.Ordinate2OfEvaluationPointInTarget, Angle.FromDegree(-7.7));
            parameters.Add(CoordinateOperationParameters.ScalingFactorForSourceCoordinateDifferences, 0.1);
            parameters.Add(CoordinateOperationParameters.ScalingFactorForTargetCoordinateDifferences, 3600);
            parameters.Add(CoordinateOperationParameters.A0, 0.763);
            parameters.Add(CoordinateOperationParameters.Au1v0, -4.487);
            parameters.Add(CoordinateOperationParameters.Au0v1, 0.123);
            parameters.Add(CoordinateOperationParameters.Au2v0, 0.215);
            parameters.Add(CoordinateOperationParameters.Au1v1, -0.515);
            parameters.Add(CoordinateOperationParameters.Au0v2, 0.183);
            parameters.Add(CoordinateOperationParameters.Au3v0, -0.265);
            parameters.Add(CoordinateOperationParameters.Au2v1, -0.57);
            parameters.Add(CoordinateOperationParameters.Au1v2, 0.414);
            parameters.Add(CoordinateOperationParameters.Au0v3, 2.852);
            parameters.Add(CoordinateOperationParameters.Au3v1, 2.852);
            parameters.Add(CoordinateOperationParameters.Au2v2, 5.703);
            parameters.Add(CoordinateOperationParameters.Au1v3, 13.11);
            parameters.Add(CoordinateOperationParameters.Au2v3, 113.743);
            parameters.Add(CoordinateOperationParameters.Au3v3, -265.898);
            parameters.Add(CoordinateOperationParameters.B0, -2.81);
            parameters.Add(CoordinateOperationParameters.Bu1v0, -0.341);
            parameters.Add(CoordinateOperationParameters.Bu0v1, -4.68);
            parameters.Add(CoordinateOperationParameters.Bu2v0, 1.196);
            parameters.Add(CoordinateOperationParameters.Bu1v1, -0.119);
            parameters.Add(CoordinateOperationParameters.Bu0v2, 0.17);
            parameters.Add(CoordinateOperationParameters.Bu3v0, -0.887);
            parameters.Add(CoordinateOperationParameters.Bu2v1, 4.877);
            parameters.Add(CoordinateOperationParameters.Bu1v2, 3.913);
            parameters.Add(CoordinateOperationParameters.Bu0v3, 2.163);
            parameters.Add(CoordinateOperationParameters.Bu3v1, -46.666);
            parameters.Add(CoordinateOperationParameters.Bu2v2, -27.795);
            parameters.Add(CoordinateOperationParameters.Bu1v3, 18.867);
            parameters.Add(CoordinateOperationParameters.Bu3v2, -95.377);
            parameters.Add(CoordinateOperationParameters.Bu2v3, -284.294);
            parameters.Add(CoordinateOperationParameters.Bu3v3, -853.95);

            CoordinateReferenceSystem source = TestUtilities.ReferenceProvider.GeographicCoordinateReferenceSystems["EPSG::4300"];
            CoordinateReferenceSystem target = TestUtilities.ReferenceProvider.GeographicCoordinateReferenceSystems["EPSG::4258"];
            AreaOfUse areaOfUse = TestUtilities.ReferenceProvider.AreasOfUse["EPSG::1305"];

            this.transformation = new GeneralPolynomial6Transformation("ESPG::1041", "TM75 to ETRS89 (1)", parameters, source, target, areaOfUse);
        }