Exemple #1
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="rTemplate"></param>
        /// <param name="newRect"></param>
        /// <param name="rOutputRaster"></param>
        public PointDensity(Raster rDEM, Vector vPointCloud, Raster OutputRaster, RasterOperators.KernelShapes eKernel, decimal fSize)
            : base(new List <Raster>() { rDEM }, OutputRaster)
        {
            _vinput   = vPointCloud;
            _routput  = OutputRaster;
            _kshape   = eKernel;
            _fsize    = (double)fSize;
            _fsizedec = fSize;

            // set the rows to be a certain multiple of fSize windows
            chunkRows = (int)Math.Ceiling((NUMWINDOWS * fSize) / Math.Abs(rDEM.Extent.CellHeight));

            // Calling this again after setting the rows will give us a nicer chunk size
            SetOpExtent(OpExtent);
            VectorChunkExtent = ChunkExtent.Buffer(_fsizedec);
            switch (eKernel)
            {
            case RasterOperators.KernelShapes.Circle:
                area = Math.PI * Math.Pow((double)fSize, 2);
                break;

            case RasterOperators.KernelShapes.Square:
                area = Math.Pow((double)fSize * 2, 2);
                break;
            }
        }
 //Dummy constructor
 public PointDensityTesterClass(Raster rDEM, Vector vPointCloud, Raster OutputRaster, RasterOperators.KernelShapes eKernel, decimal fSize)
     : base(rDEM, vPointCloud, OutputRaster, eKernel, fSize)
 {
 }