/* * string Name { get; } * AngularUnit AngularUnit { get; } * PrimeMeridian PrimeMeridian { get; } * Datum Datum { get; } * string proj4 = "+datum={0} +a={1} +b={2} +f={3} +nodefs"; */ private IGeographicCoordSystem GetGeoCoordSystemByProj4(Dictionary <string, string> nameValuePairs) { Datum datum = new Datum(); string name = "wgs84"; if (nameValuePairs.ContainsKey("datum")) { name = GetGeocoordsystemNameByProj4Name(nameValuePairs["datum"]); datum = GetDatum(nameValuePairs["datum"], nameValuePairs); datum.Name = GetDatumNameByProj4DatumName(nameValuePairs["datum"]); datum.Spheroid.Name = GetSpheroidNameByProj4Name(nameValuePairs["datum"]);// nameValuePairs["datum"].ToUpper(); } string unitname = "Degree"; if (nameValuePairs.ContainsKey("units")) { unitname = nameValuePairs["units"]; } AngularUnit unit = new AngularUnit(unitname, 0.0174532925199433d); string primeName = "Greenwich"; PrimeMeridian primeMeridian = new PrimeMeridian(primeName, 0d); return(new GeographicCoordSystem(name, unit, primeMeridian, datum)); }
public GeographicCoordSystem(string name, AngularUnit angularUnit, PrimeMeridian primeMeridian, Datum datum) { _name = name; _angularUnit = angularUnit; _primeMeridian = primeMeridian; _datum = datum; _oracleSpatialSRID = int.MinValue; }
public GeographicCoordSystem(WktItem wktItem) { _name = wktItem.Value.Split(',')[0].Replace("\"", string.Empty); _angularUnit = new AngularUnit(wktItem.GetWktItem("UNIT")); _primeMeridian = new PrimeMeridian(wktItem.GetWktItem("PRIMEM")); _datum = new Datum(wktItem.GetWktItem("DATUM")); _oracleSpatialSRID = int.MinValue; }
public bool IsSame(PrimeMeridian pm) { return(pm != null && Math.Abs(pm.Value - Value) < MINI_DOUBLE); }