Esempio n. 1
0
        public VectorGrid(string typecoor, double xmin, double ymin, int numColums, int numRows, double cellSizeX, double cellSizeY, double azimut, IMap map)
        {
            _orgArea = new AreaInterest();
            _orgArea.TypeCoor = typecoor;
            _orgArea.MinX = xmin;
            _orgArea.MinY = ymin;
            _orgArea.NumColumns = numColums;
            _orgArea.NumRows = numRows;
            _orgArea.CellSizeX = cellSizeX;
            _orgArea.CellSizeY = cellSizeY;
            _orgArea.Azimut = azimut;
            _mainMap = map as Map;
            UpdateAreaInterestByOrigin(_orgArea);

        }
Esempio n. 2
0
        public IRaster GetClip(Extent e, double cellsize, string output)
        {
            currentExtent = e;

            this.cellsize = cellsize;

            AreaInterest a = new AreaInterest();

            a.Azimut = 0;
            a.CellSizeX = cellsize;
            a.CellSizeY = cellsize;
            a.MinX = e.MinX;
            a.MinY = e.MinY;
            a.MaxX = e.MaxX;
            a.MaxY = e.MaxY;

            double height = Math.Abs(e.MaxY - e.MinY);
            double width = Math.Abs(e.MaxX - e.MinX);
            int numberRows = Convert.ToInt32(Math.Ceiling(height / cellsize)) + 1;
            int numberCols = Convert.ToInt32(Math.Ceiling(width / cellsize)) + 1;

            IRaster raster;
            // this.np=this.Search.MaxNumPoints;
            CreateGridFromExtents(e, cellsize, poly.Projection, -9999, output, out raster);
            a.NumColumns = raster.NumColumns;
            a.NumRows = raster.NumRows;

            vector = new VectorGrid(a, null);

            //  vector.UpdateAreaInterestByCellSize();
            data = new double[vector.Get_area().NumColumns, vector.Get_area().NumRows];

            foreach (Feature fea in poly.Features)
            {
                InterceptLine(fea);
            }

            return Surface(raster);
        }
Esempio n. 3
0
        public IRaster GetClip(Extent e, double cellsize, string output)
        {
            currentExtent = e;

            if (test)
            {
                li = new FeatureSet(FeatureType.Line);
                li.Projection = poly.Projection;
                li.DataTable.Columns.Add(new System.Data.DataColumn("id"));
            }

            this.cellsize = cellsize;


            AreaInterest a = new AreaInterest();

            a.Azimut = 0;
            a.CellSizeX = cellsize;
            a.CellSizeY = cellsize;
            a.MinX = e.MinX;
            a.MinY = e.MinY;
            a.MaxX = e.MaxX;
            a.MaxY = e.MaxY;

            IRaster raster;
            // this.np=this.Search.MaxNumPoints;
            CreateGridFromExtents(e, cellsize, poly.Projection, -9999, output, out raster);
            a.NumColumns = raster.NumColumns;
            a.NumRows = raster.NumRows;
            vector = new VectorGrid(a, null);
            //  vector.UpdateAreaInterestByCellSize();
            data = new double[vector.Get_area().NumColumns, vector.Get_area().NumRows];

            foreach (Feature fea in poly.Features)
            {
                InterceptLine(fea);
            }

            if (test)
                li.SaveAs("c:\\temp\\Lakelines.shp", true);

            return Surface(raster);


        }
Esempio n. 4
0
 public VectorGrid(AreaInterest p)
 {
     _area = p;
 }
Esempio n. 5
0
 public VectorGrid(AreaInterest p, IMap map)
 {
     _orgArea = p;
     _mainMap = map as Map;
     UpdateAreaInterest(p);
 }
Esempio n. 6
0
        public bool UpdateAreaInterest(AreaInterest p)
        {
            if ((Math.Abs(p.MinX - (p.MaxX - (p.NumColumns * p.CellSizeX))) < 0.001) &&
                (Math.Abs(p.MinY - (p.MaxY - (p.NumRows * p.CellSizeY))) < 0.001))
            {
                _area = p;
                return false;
            }
            else
            {
                double dx = p.MaxX - p.MinX;
                double dy = p.MaxY - p.MinY;
                _area.Name = p.Name;
                _area.Description = p.Description;
                _area.TypeCoor = p.TypeCoor;
                _area.MinX = p.MinX;
                _area.MinY = p.MinY;
                _area.MaxY = p.MinY + (p.CellSizeY * p.NumRows);
                _area.MaxX = p.MinX + (p.CellSizeX * p.NumColumns);
                _area.NumColumns = p.NumColumns;
                _area.NumRows = p.NumRows;
                _area.CellSizeX = p.CellSizeX;
                _area.CellSizeY = p.CellSizeY;
                _area.Azimut = p.Azimut;
                return true;
            }


        }
Esempio n. 7
0
        public void UpdateAreaInterestByCellSize(AreaInterest p)
        {
            //return Convert.ToInt32(Math.Ceiling(dist / cellsize));
            double dx = p.MaxX - p.MinX;
            double dy = p.MaxY - p.MinY;
            double ncol = Math.Ceiling(dx / p.CellSizeX);
            double nrow = Math.Ceiling(dy / p.CellSizeY);

            _area.MinX = p.MinX;
            _area.MinY = p.MinY;
            _area.MaxY = p.MinY + (p.CellSizeY * nrow);
            _area.MaxX = p.MinX + (p.CellSizeX * ncol);

            _area.NumColumns = Convert.ToInt32(ncol);
            _area.NumRows = Convert.ToInt32(nrow);
            _area.CellSizeX = p.CellSizeX;
            _area.CellSizeY = p.CellSizeY;
            _area.Azimut = p.Azimut;

        }
Esempio n. 8
0
        public void UpdateAreaInterestByColumnsRows(AreaInterest p)
        {
            double dx = p.MaxX - p.MinX;
            double dy = p.MaxY - p.MinY;
            double cellSizeX = dx / p.NumColumns;
            double cellSizeY = dy / p.NumRows;

            _area.MinX = p.MinX;
            _area.MinY = p.MinY;
            _area.MaxY = p.MinY + (p.NumRows * cellSizeY);
            _area.MaxX = p.MinX + (p.NumColumns * cellSizeX);

            _area.NumColumns = p.NumColumns;
            _area.NumRows = p.NumRows;
            _area.CellSizeX = cellSizeX;
            _area.CellSizeY = cellSizeY;
            _area.Azimut = p.Azimut;
        }
Esempio n. 9
0
 public void UpdateAreaInterestByOrigin(AreaInterest p)
 {
     _area.Name = p.Name;
     _area.Description = p.Description;
     _area.TypeCoor = p.TypeCoor;
     _area.MinX = p.MinX;
     _area.MinY = p.MinY;
     _area.MaxX = p.MinX + (p.CellSizeX * p.NumColumns);
     _area.MaxY = p.MinY + (p.CellSizeY * p.NumRows);
     _area.NumColumns = p.NumColumns;
     _area.NumRows = p.NumRows;
     _area.CellSizeY = p.CellSizeY;
     _area.CellSizeX = p.CellSizeX;
     _area.Azimut = p.Azimut;
 }