using System.IO; using GeoAPI.Geometries; namespace GisSharpBlog.NetTopologySuite.IO { public class MsSqlSpatialReader : WKBReader { public override IGeometry Read(Stream stream) { BinaryReader reader = null; ByteOrder byteOrder = (ByteOrder) stream.ReadByte(); try { if (byteOrder == ByteOrder.BigEndian) { reader = new BEBinaryReader(stream); } else { reader = new BinaryReader(stream); } IGeometry geometry = Read(reader); int srid = -1; try { srid = reader.ReadInt32(); } catch {} if (srid == 0) { srid = -1; } geometry.SRID = srid; return geometry; } finally { if (reader != null) { reader.Close(); } } } } }