SuperMap.Web.Mapping.HeatMapLayer.CreateDistanceMatrix C# (CSharp) Method

CreateDistanceMatrix() private static method

private static CreateDistanceMatrix ( int radius ) : ushort[]
radius int
return ushort[]
        private static ushort[] CreateDistanceMatrix(int radius)
        {
            int diameter = radius * 2 - 1;
            ushort[] matrix = new ushort[(int)Math.Pow(diameter, 2)];
            for (int i = 0; i < diameter; i++)
            {
                for (int j = 0; j < diameter; j++)
                {
                    matrix[i * diameter + j] = (ushort)Math.Max((radius - (Math.Sqrt(Math.Pow(i - radius + 1, 2) + Math.Pow(j - radius + 1, 2)))), 0);
                }//距离中心点为(radius,radius)越近,值则越大。介于0~radius之间
            }
            return matrix;
        }