/// <summary> /// Creates a new MultiPoint geometry from a MultiPoint shape /// </summary> /// <param name="shape">The shape to convert</param> /// <param name="factory">The geometry factory to use.</param> /// <param name="copyAttributes">A value indicating whether or not to copy the <see cref="Data.Shape.Attributes"/> to <see cref="GeoAPIGeometry.UserData"/></param> /// <returns>The geometry representing the converted shape.</returns> /// <returns></returns> private static GeoAPIGeometry FromMultiPointShape(Data.Shape shape, GeoAPIGeometryFactory factory, bool copyAttributes) { var coords = new List <GeoAPICoordinate>(); foreach (var part in shape.Range.Parts) { var i = part.StartIndex; foreach (var vertex in part) { var c = new GeoAPICoordinate(vertex.X, vertex.Y); coords.Add(c); //if (shape.HasM()) c.M = shape.M[i]; if (shape.HasZ()) { c.Z = shape.Z[i]; } i++; } } var ret = factory.CreateMultiPoint(coords.ToArray()); if (copyAttributes) { ret.UserData = shape.Attributes; } return(ret); }
private static GeoAPIMultiPoint FromMultiPoint(IMultiPoint geometry, GeoAPIGeometryFactory factory, bool copyUserData) { var result = factory.CreateMultiPoint(FromCoordinates(geometry.Coordinates)); if (copyUserData) { result.UserData = geometry.UserData; } return(result); }
/// <summary> /// Creates a new MultiPoint geometry from a MultiPoint shape /// </summary> /// <param name="shape">The shape to convert</param> /// <param name="factory">The geometry factory to use.</param> /// <param name="copyAttributes">A value indicating whether or not to copy the <see cref="Data.Shape.Attributes"/> to <see cref="GeoAPIGeometry.UserData"/></param> /// <returns>The geometry representing the converted shape.</returns> /// <returns></returns> private static GeoAPIGeometry FromMultiPointShape(Data.Shape shape, GeoAPIGeometryFactory factory, bool copyAttributes) { var coords = new List<GeoAPICoordinate>(); foreach (var part in shape.Range.Parts) { var i = part.StartIndex; foreach (var vertex in part) { var c = new GeoAPICoordinate(vertex.X, vertex.Y); coords.Add(c); //if (shape.HasM()) c.M = shape.M[i]; if (shape.HasZ()) c.Z = shape.Z[i]; i++; } } var ret = factory.CreateMultiPoint(coords.ToArray()); if (copyAttributes) ret.UserData = shape.Attributes; return ret; }
private static GeoAPIMultiPoint FromMultiPoint(IMultiPoint geometry, GeoAPIGeometryFactory factory, bool copyUserData) { var result = factory.CreateMultiPoint(FromCoordinates(geometry.Coordinates)); if (copyUserData) result.UserData = geometry.UserData; return result; }