Example #1
0
 /// <summary>
 /// Writes MultiPoint to the output using specified writer.
 /// </summary>
 /// <param name="multipoint">The MultiPoint to write.</param>
 /// <param name="writer">The BinaryWriter used to write geometry to the output.</param>
 private static void WriteMultiPoint(IMultiPoint multipoint, BinaryWriter writer)
 {
     writer.Write((uint)WkbWriter.AdjustGeometryType(multipoint, WkbGeometryType.MultiPoint));
     writer.Write((uint)multipoint.Geometries.Count());
     foreach (var point in multipoint.Geometries)
     {
         WkbWriter.WriteCoordinate(point.Position, writer);
     }
 }
Example #2
0
        /// <summary>
        /// Writes list of Coordinates to the output using specified writer.
        /// </summary>
        /// <param name="coordinates">The list od Coordinates to write.</param>
        /// <param name="writer">The BinaryWriter used to write geometry to the output.</param>
        private static void WriteCoordinates(ICoordinateList coordinates, BinaryWriter writer)
        {
            writer.Write((uint)coordinates.Count);

            for (int i = 0; i < coordinates.Count; i++)
            {
                WkbWriter.WriteCoordinate(coordinates[i], writer);
            }
        }
Example #3
0
 /// <summary>
 /// Writes Point to the output using specified writer.
 /// </summary>
 /// <param name="point">The Point to write.</param>
 /// <param name="writer">The BinaryWriter used to write geometry to the output.</param>
 private static void WritePoint(IPoint point, BinaryWriter writer)
 {
     if (point.Position.Equals(Coordinate.Empty))
     {
         writer.Write((uint)WkbGeometryType.GeometryCollection);
         writer.Write(0u);
     }
     else
     {
         writer.Write((uint)WkbWriter.AdjustGeometryType(point, WkbGeometryType.Point));
         WkbWriter.WriteCoordinate(point.Position, writer);
     }
 }