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 }; }
public static PrjFile Parse(string esriWktPrj) { return(new PrjFile(PrjTree.Parse(esriWktPrj))); }
public PrjFile(string prjFileName) { this._root = PrjTree.Parse(System.IO.File.ReadAllText(prjFileName)); }
public PrjFile(PrjTree root) { this._root = root; }