/// <summary> /// Initializes a new instance of the <see cref="MultiLineString"/> class. /// </summary> /// <param name="lineStrings"> /// List of <see cref="LineStringCoordinates"/> instances representing individual line strings. /// </param> /// <param name="geometryParams"> /// Additional geometry parameters. /// </param> public MultiLineString(IList <LineStringCoordinates> lineStrings, GeometryParams geometryParams) : base(GeometryType.MultiLineString, geometryParams) { if (lineStrings == null) { throw new ArgumentNullException("lineStrings"); } this.LineStrings = new ReadOnlyCollection <LineStringCoordinates>(lineStrings); }
/// <summary> /// Initializes a new instance of the <see cref="MultiPolygon"/> class. /// </summary> /// <param name="polygons"> /// List of <see cref="PolygonCoordinates"/> instances. Each <see cref="PolygonCoordinates"/> represents separate polygon. /// </param> /// <param name="geometryParams">Additional geometry parameters.</param> public MultiPolygon(IList <PolygonCoordinates> polygons, GeometryParams geometryParams) : base(GeometryType.MultiPolygon, geometryParams) { if (polygons == null) { throw new ArgumentNullException("polygons"); } this.Polygons = new ReadOnlyCollection <PolygonCoordinates>(polygons); }
/// <summary> /// Initializes a new instance of the <see cref="MultiPoint" /> class. /// </summary> /// <param name="points"> /// List of <see cref="Position"/> representing individual points. /// </param> /// <param name="geometryParams"> /// Additional geometry parameters. /// </param> public MultiPoint(IList <Position> points, GeometryParams geometryParams) : base(GeometryType.MultiPoint, geometryParams) { if (points == null) { throw new ArgumentNullException("points"); } this.Points = new ReadOnlyCollection <Position>(points); }
/// <summary> /// Initializes a new instance of the <see cref="GeometryCollection"/> class. /// </summary> /// <param name="geometries"> /// Child geometries. /// </param> /// <param name="geometryParams"> /// Additional geometry parameters. /// </param> public GeometryCollection(IList <Geometry> geometries, GeometryParams geometryParams) : base(GeometryType.GeometryCollection, geometryParams) { if (geometries == null) { throw new ArgumentNullException("geometries"); } this.Geometries = new ReadOnlyCollection <Geometry>(geometries); }
/// <summary> /// Initializes a new instance of the <see cref="LineString"/> class. /// </summary> /// <param name="coordinates"> /// The coordinates. /// </param> /// <param name="geometryParams"> /// Additional geometry parameters. /// </param> public LineString(IList <Position> coordinates, GeometryParams geometryParams) : base(GeometryShape.LineString, geometryParams) { if (coordinates == null) { throw new ArgumentNullException("coordinates"); } this.Positions = new ReadOnlyCollection <Position>(coordinates); }
/// <summary> /// Initializes a new instance of the <see cref="Polygon"/> class in the Azure Cosmos DB service. /// </summary> /// <param name="rings"> /// Polygon rings. /// </param> /// <param name="geometryParams"> /// Additional geometry parameters. /// </param> public Polygon(IList <LinearRing> rings, GeometryParams geometryParams) : base(GeometryType.Polygon, geometryParams) { if (rings == null) { throw new ArgumentNullException("rings"); } this.Rings = new ReadOnlyCollection <LinearRing>(rings); }
/// <summary> /// Initializes a new instance of the <see cref="Point" /> class in the Azure Cosmos DB service. /// </summary> /// <param name="position"> /// Point coordinates. /// </param> /// <param name="geometryParams"> /// Additional geometry parameters. /// </param> public Point(Position position, GeometryParams geometryParams) : base(GeometryShape.Point, geometryParams) { if (position == null) { throw new ArgumentNullException("position"); } this.Position = position; }
/// <summary> /// Initializes a new instance of the <see cref="Geometry" /> class in the Azure Cosmos DB service. /// </summary> /// <param name="type"> /// Geometry type. /// </param> /// <param name="geometryParams"> /// Coordinate reference system, additional properties etc. /// </param> protected Geometry(GeometryType type, GeometryParams geometryParams) { if (geometryParams == null) { throw new ArgumentNullException("geometryParams"); } this.Type = type; if (geometryParams.Crs == null || geometryParams.Crs.Equals(Crs.Default)) { this.CrsForSerialization = null; } else { this.CrsForSerialization = geometryParams.Crs; } this.BoundingBox = geometryParams.BoundingBox; this.AdditionalProperties = geometryParams.AdditionalProperties ?? new Dictionary <string, object>(); }