/// <summary> /// Creates a <see cref="GeographicCoordinateSystem"/>, which could be Lat/Lon or Lon/Lat. /// </summary> /// <param name="name">Name of geographical coordinate system</param> /// <param name="angularUnit">Angular units</param> /// <param name="datum">Horizontal datum</param> /// <param name="primeMeridian">Prime meridian</param> /// <param name="axis0">First axis</param> /// <param name="axis1">Second axis</param> /// <returns>Geographic coordinate system</returns> public IGeographicCoordinateSystem CreateGeographicCoordinateSystem(string name, IAngularUnit angularUnit, IHorizontalDatum datum, IPrimeMeridian primeMeridian, AxisInfo axis0, AxisInfo axis1) { if (String.IsNullOrEmpty(name)) { throw new ArgumentException("Invalid name", "name"); } List<AxisInfo> info = new List<AxisInfo>(2); info.Add(axis0); info.Add(axis1); return new GeographicCoordinateSystem(angularUnit, datum, primeMeridian, info, name, String.Empty, -1, String.Empty, String.Empty, String.Empty); }
/// <summary> /// Creates a <see cref="IVerticalCoordinateSystem"/> from a <see cref="IVerticalDatum">datum</see> and <see cref="LinearUnit">linear units</see>. /// </summary> /// <param name="name">Name of vertical coordinate system</param> /// <param name="datum">Vertical datum</param> /// <param name="verticalUnit">Unit</param> /// <param name="axis">Axis info</param> /// <returns>Vertical coordinate system</returns> public IVerticalCoordinateSystem CreateVerticalCoordinateSystem(string name, IVerticalDatum datum, ILinearUnit verticalUnit, AxisInfo axis) { throw new NotImplementedException(); }
/// <summary> /// Creates a <see cref="ProjectedCoordinateSystem"/> using a projection object. /// </summary> /// <param name="name">Name of projected coordinate system</param> /// <param name="gcs">Geographic coordinate system</param> /// <param name="projection">Projection</param> /// <param name="linearUnit">Linear unit</param> /// <param name="axis0">Primary axis</param> /// <param name="axis1">Secondary axis</param> /// <returns>Projected coordinate system</returns> public IProjectedCoordinateSystem CreateProjectedCoordinateSystem(string name, IGeographicCoordinateSystem gcs, IProjection projection, ILinearUnit linearUnit, AxisInfo axis0, AxisInfo axis1) { if (String.IsNullOrEmpty(name)) { throw new ArgumentException("Invalid name", "name"); } if (gcs == null) { throw new ArgumentNullException("gcs", "Geographic coordinate system was null."); } if (projection == null) { throw new ArgumentNullException("projection", "Projection was null."); } if (linearUnit == null) { throw new ArgumentNullException("linearUnit", "Linear unit was null."); } List<AxisInfo> info = new List<AxisInfo>(2); info.Add(axis0); info.Add(axis1); return new ProjectedCoordinateSystem(null, gcs, linearUnit, projection, info, name, String.Empty, -1, String.Empty, String.Empty, String.Empty); }
/// <summary> /// Creates a <see cref="GeographicCoordinateSystem"/>, which could be Lat/Lon or Lon/Lat. /// </summary> /// <param name="name">Name of geographical coordinate system</param> /// <param name="angularUnit">Angular units</param> /// <param name="datum">Horizontal datum</param> /// <param name="primeMeridian">Prime meridian</param> /// <param name="axis0">First axis</param> /// <param name="axis1">Second axis</param> /// <returns>Geographic coordinate system</returns> public IGeographicCoordinateSystem CreateGeographicCoordinateSystem(string name, IAngularUnit angularUnit, IHorizontalDatum datum, IPrimeMeridian primeMeridian, AxisInfo axis0, AxisInfo axis1) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException("Invalid name"); } List <AxisInfo> info = new List <AxisInfo>(2); info.Add(axis0); info.Add(axis1); return(new GeographicCoordinateSystem(angularUnit, datum, primeMeridian, info, name, String.Empty, -1, String.Empty, String.Empty, String.Empty)); }
/// <summary> /// Creates a <see cref="ProjectedCoordinateSystem"/> using a projection object. /// </summary> /// <param name="name">Name of projected coordinate system</param> /// <param name="gcs">Geographic coordinate system</param> /// <param name="projection">Projection</param> /// <param name="linearUnit">Linear unit</param> /// <param name="axis0">Primary axis</param> /// <param name="axis1">Secondary axis</param> /// <returns>Projected coordinate system</returns> public IProjectedCoordinateSystem CreateProjectedCoordinateSystem(string name, IGeographicCoordinateSystem gcs, IProjection projection, ILinearUnit linearUnit, AxisInfo axis0, AxisInfo axis1) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException("Invalid name"); } if (gcs == null) { throw new ArgumentException("Geographic coordinate system was null"); } if (projection == null) { throw new ArgumentException("Projection was null"); } if (linearUnit == null) { throw new ArgumentException("Linear unit was null"); } List <AxisInfo> info = new List <AxisInfo>(2); info.Add(axis0); info.Add(axis1); return(new ProjectedCoordinateSystem(null, gcs, linearUnit, projection, info, name, String.Empty, -1, String.Empty, String.Empty, String.Empty)); }
private static IProjectedCoordinateSystem createExpectedCoordinateSystem() { ICoordinateSystemFactory factory = new CoordinateSystemFactory(); IEllipsoid grs80 = Ellipsoid.GRS80; IHorizontalDatum harn = factory.CreateHorizontalDatum("D_North_American_1983_HARN", DatumType.HD_Classic, grs80, null); IPrimeMeridian greenwich = PrimeMeridian.Greenwich; AxisInfo axis0 = new AxisInfo("Lon", AxisOrientationEnum.East); AxisInfo axis1 = new AxisInfo("Lat", AxisOrientationEnum.North); IGeographicCoordinateSystem gcs = factory.CreateGeographicCoordinateSystem("GCS_North_American_1983_HARN", AngularUnit.Degrees, harn, greenwich, axis0, axis1); IProjection prj = factory.CreateProjection( "Lambert_Conformal_Conic", "Lambert_Conformal_Conic", new ProjectionParameter[] { new ProjectionParameter("False_Easting", 8202099.737532808), new ProjectionParameter("False_Northing", 0), new ProjectionParameter("Central_Meridian", -120.5), new ProjectionParameter("Standard_Parallel_1", 44.33333333333334), new ProjectionParameter("Standard_Parallel_2", 46.0), new ProjectionParameter("Latitude_Of_Origin", 43.66666666666666) }); IProjectedCoordinateSystem expected = factory.CreateProjectedCoordinateSystem("NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601", gcs, prj, LinearUnit.Foot, axis0, axis1); // TODO: Check if this is correct, since on line 184 of CoorindateSystemFactory.cs, HorizontalDatum is passed in as null expected.HorizontalDatum = harn; return expected; }
/// <summary> /// Creates a <see cref="T:GeoAPI.CoordinateSystems.IProjectedCoordinateSystem" /> using a projection object. /// </summary> /// <param name="name">Name of projected coordinate system</param> /// <param name="gcs">Geographic coordinate system</param> /// <param name="projection">Projection</param> /// <param name="linearUnit">Linear unit</param> /// <param name="axis0">Primary axis</param> /// <param name="axis1">Secondary axis</param> /// <returns>Projected coordinate system</returns> /// <exception cref="NotSupportedException"></exception> public IProjectedCoordinateSystem CreateProjectedCoordinateSystem(string name, IGeographicCoordinateSystem gcs, IProjection projection, ILinearUnit linearUnit, AxisInfo axis0, AxisInfo axis1) { throw new NotSupportedException(); }
/// <summary> /// Creates a <see cref="T:GeoAPI.CoordinateSystems.IGeographicCoordinateSystem" />, which could be Lat/Lon or Lon/Lat. /// </summary> /// <param name="name">Name of geographical coordinate system</param> /// <param name="angularUnit">Angular units</param> /// <param name="datum">Horizontal datum</param> /// <param name="primeMeridian">Prime meridian</param> /// <param name="axis0">First axis</param> /// <param name="axis1">Second axis</param> /// <returns>Geographic coordinate system</returns> /// <exception cref="NotSupportedException"></exception> public IGeographicCoordinateSystem CreateGeographicCoordinateSystem(string name, IAngularUnit angularUnit, IHorizontalDatum datum, IPrimeMeridian primeMeridian, AxisInfo axis0, AxisInfo axis1) { throw new NotSupportedException(); }