Exemple #1
0
        public PrjTree(IRI.Ham.CoordinateSystem.IEllipsoid ellipsoid, string title = null)
        {
            this.Name = PrjFile._geogcs;

            this.Values = new List <string>()
            {
                title ?? $"GCS_{ellipsoid.EsriName}"
            };

            //esri write zero for Inverse Flattening of shperes!
            var inverseFlattening = double.IsInfinity(ellipsoid.InverseFlattening) ? 0 : ellipsoid.InverseFlattening;

            var spheroid = new PrjTree(PrjFile._spheroid, ellipsoid.EsriName, ellipsoid.SemiMajorAxis.Value.AsExactString(), inverseFlattening.AsExactString());

            var datum = new PrjTree(PrjFile._datum, $"D_{ellipsoid.EsriName}")
            {
                Children = new List <PrjTree>()
                {
                    spheroid
                }
            };

            var primem = new PrjTree(PrjFile._primem, PrjFile._greenwich, "0.0");

            var unit = new PrjTree(PrjFile._unit, PrjFile._degree, PrjFile._degreeValue);

            this.Children = new List <PrjTree>()
            {
                datum, primem, unit
            };
        }
Exemple #2
0
 public static PrjFile Parse(string esriWktPrj)
 {
     return(new PrjFile(PrjTree.Parse(esriWktPrj)));
 }
Exemple #3
0
 public PrjFile(string prjFileName)
 {
     this._root = PrjTree.Parse(System.IO.File.ReadAllText(prjFileName));
 }
Exemple #4
0
 public PrjFile(PrjTree root)
 {
     this._root = root;
 }