/// <summary> /// Read in a coordinate object /// </summary> /// <param name="reader">The Shapefile stream</param> /// <returns>A coordinate</returns> private Coordinate ReadCoordinate(BinaryReader reader) { double lon = NumberReader.ReadDoubleLE(reader); double lat = NumberReader.ReadDoubleLE(reader); return(new Coordinate(lat, lon)); }
/// <summary> /// Reads the BoundingBox property of a record /// </summary> /// <param name="reader">The Shapefile stream</param> /// <returns>A bounding box of a record</returns> private BoundingBox ReadBoundingBox(BinaryReader reader) { //Read the standard bounding latitude and longitude values of the bounding box var minX = NumberReader.ReadDoubleLE(reader); var minY = NumberReader.ReadDoubleLE(reader); var maxX = NumberReader.ReadDoubleLE(reader); var maxY = NumberReader.ReadDoubleLE(reader); var width = Math.Abs(maxX - minX); var height = Math.Abs(maxY - minY); var center = new Coordinate(maxY - height / 2, maxX - width / 2); return(new BoundingBox(center, width, height)); }