Пример #1
0
        /// <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);
        }
Пример #2
0
        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;
 }