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); }
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); }
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); }
public VectorGrid(AreaInterest p) { _area = p; }
public VectorGrid(AreaInterest p, IMap map) { _orgArea = p; _mainMap = map as Map; UpdateAreaInterest(p); }
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; } }
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; }
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; }
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; }