Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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));
        }