Parameters
- index
- 0 based index. Specify 0 to insert at the beginning. Specify GeometryCount or -1 to insert at the end.
- geometry
- The geometry to insert.
Exception | Description |
---|---|
System.ArgumentNullException | geometry is null. |
System.ArgumentException | geometry is GeometryBag. You cannot insert a GeometryBag into another GeometryBag. |
System.ArgumentOutOfRangeException | Index must be equal to -1 or less than or equal to the number of geometries in the builder. |
An Envelope that is inserted into the builder is converted to a Polygon when the GeometryBag is created. As a result, when retrieving an Envelope from a GeometryBag, it will be a Polygon.
MapPoint point = MapPointBuilderEx.CreateMapPoint(1, 2, SpatialReferences.WebMercator); List<Coordinate2D> coords2D = new List<Coordinate2D>() { new Coordinate2D(0, 0), new Coordinate2D(0, 1), new Coordinate2D(1, 1), new Coordinate2D(1, 0) }; Multipoint multipoint = MultipointBuilderEx.CreateMultipoint(coords2D, SpatialReferences.WGS84); Polyline polyline = PolylineBuilderEx.CreatePolyline(coords2D, SpatialReferences.WebMercator); GeometryBagBuilderEx builder = new GeometryBagBuilderEx(SpatialReferences.WGS84); GeometryBag emptyBag = builder.ToGeometry(); // emptyBag.IsEmpty = true builder.AddGeometry(point); // builder.GeometryCount = 1 GeometryBag geometryBag = builder.ToGeometry(); // geometryBag.PartCount = 1 // geometryBag.PointCount = 1 // geometryBag.IsEmpty = false IReadOnlyList<Geometry> geometries = geometryBag.Geometries; // geometries.Count = 1 // geometries[0] is MapPoint with a sr of WGS84 bool isEqual = geometryBag.IsEqual(emptyBag); // isEqual = false builder.InsertGeometry(0, multipoint); geometryBag = builder.ToGeometry(); // geometryBag.PartCount = 2 geometries = geometryBag.Geometries; // geometries.Count = 2 // geometries[0] is Multipoint // geometries[1] is MapPoint builder.AddGeometry(polyline); builder.RemoveGeometry(1); geometryBag = builder.ToGeometry(); // geometryBag.PartCount = 2 geometries = geometryBag.Geometries; // geometries.Count = 2 // geometries[0] is Multipoint // geometries[1] is Polyline
Target Platforms: Windows 11, Windows 10