Exemplo n.º 1
0
        private static Heightmap ReadHeader(StreamReader reader)
        {
            var result = new Heightmap();

            result.Columns = int.Parse(ReadHeader(reader, "ncols"));
            result.Rows    = int.Parse(ReadHeader(reader, "nrows"));
            ReadHeader(reader, "xllcorner");
            ReadHeader(reader, "yllcorner");
            result.CellSize    = ParseFloat(ReadHeader(reader, "cellsize"));
            result.NoDataValue = ParseFloat(ReadHeader(reader, "NODATA_value"));
            result.Data        = new NDArray <float>(new Shape(result.Rows, result.Columns));
            return(result);
        }
Exemplo n.º 2
0
        public static Func <float, Gray16> FullRange16(Heightmap heightmap)
        {
            var min = heightmap.Data.min <float>();
            var max = heightmap.Data.max <float>();

            if (min == max)
            {
                return(v => new Gray16());
            }

            var delta = max - min;

            return(v =>
            {
                v -= min;
                v /= delta;
                v *= 65535;
                return new Gray16((ushort)v);
            });
        }