public void ContainsTest2() { IXYPolygon stevns; using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"D:\NitrateModel\Overfladevand\oplande\Stevns.shp")) { stevns = (IXYPolygon)sr.GeoData.First().Geometry; Assert.IsTrue(stevns.Contains(709422, 6129109)); } List<int> parts = new List<int>(); using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"E:\dhi\data\dkm\dk1\result\dbf results\PTReg_dk1_R201401_normal.shp")) { for (int i = 0; i < sr.Data.NoOfEntries; i++) { int id = sr.Data.ReadInt(i, "ID"); double XStart = sr.Data.ReadDouble(i, "X-Birth"); double YStart = sr.Data.ReadDouble(i, "Y-Birth"); int Registration = sr.Data.ReadInt(i, "Registrati"); string sink = sr.Data.ReadString(i, "SinkType"); if (stevns.Contains(XStart, YStart)) parts.Add(id); } } int k = parts.Count; }
public void ContainsTest2() { IXYPolygon stevns; using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"D:\NitrateModel\Overfladevand\oplande\Stevns.shp")) { stevns = (IXYPolygon)sr.GeoData.First().Geometry; Assert.IsTrue(stevns.Contains(709422, 6129109)); } List <int> parts = new List <int>(); using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"E:\dhi\data\dkm\dk1\result\dbf results\PTReg_dk1_R201401_normal.shp")) { for (int i = 0; i < sr.Data.NoOfEntries; i++) { int id = sr.Data.ReadInt(i, "ID"); double XStart = sr.Data.ReadDouble(i, "X-Birth"); double YStart = sr.Data.ReadDouble(i, "Y-Birth"); int Registration = sr.Data.ReadInt(i, "Registrati"); string sink = sr.Data.ReadString(i, "SinkType"); if (stevns.Contains(XStart, YStart)) { parts.Add(id); } } } int k = parts.Count; }
public void ContainsTest() { using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"f:\NitrateModel\Overfladevand\oplande\mors.shp")) { IXYPolygon geo = (IXYPolygon)sr.ReadNext(0); Assert.IsTrue(geo.Contains(494131.00000000000, 6309279.00000000000)); } }
public void ContainsTest() { using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"f:\NitrateModel\Overfladevand\oplande\mors.shp")) { IXYPolygon geo = (IXYPolygon)sr.ReadNext(0); Assert.IsTrue(geo.Contains(494131.00000000000, 6309279.00000000000)); } }
public void OverLapsTest() { int overlap = 0; System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); int match = 0; using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"F:\Oplandsmodel\Overfladevand\oplande\id15_NSTmodel_24112014.shp")) { using (Geometry.Shapes.ShapeReader sr2 = new Geometry.Shapes.ShapeReader(@"F:\Oplandsmodel\NitrateModel\output\WaterBiasStatRerun06.shp")) { var geom1 = sr.GeoData.ToList(); var geom2 = sr2.GeoData.ToList(); foreach (var pol in geom1) { foreach (var pol2 in geom2) { var f = ((IXYPolygon)pol2.Geometry).OverLaps((IXYPolygon)pol.Geometry); if (f) { overlap++; var area = XYGeometryTools.CalculateSharedArea((IXYPolygon)pol.Geometry, (IXYPolygon)pol2.Geometry); if (area / ((IXYPolygon)pol.Geometry).GetArea() > 0.99) { match++; break; } } } } } } sw.Stop(); int k = overlap; }
public void GetIDTest() { SoilCodesGrid target = new SoilCodesGrid(); // TODO: Initialize to an appropriate value string ShapeSoilCodes = @"D:\DK_information\DKDomainNodes_LU_Soil_codes.shp"; target.BuildGrid(ShapeSoilCodes); int ec = 0; List <int> errors = new List <int>(); using (HydroNumerics.Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(ShapeSoilCodes)) { foreach (var c in sr.GeoData) { if ((int)c.Data["GRIDID"] != target.GetID((IXYPoint)c.Geometry)) { errors.Add((int)c.Data["GRIDID"]); } } } Assert.AreEqual(0, ec); }
public void ContainsTest() { List <IXYPolygon> pols = new List <IXYPolygon>(); using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"D:\NitrateModel\Overfladevand\Punktkilder\kystzone.shp")) { foreach (var pol in sr.GeoData) { if (pol.Data[1].ToString().Trim().ToLower() == "land") { pols.Add(pol.Geometry as IXYPolygon); } } } List <XYPoint> points = new List <XYPoint>(); using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"D:\NitrateModel\Overfladevand\Punktkilder\spredt_pkt.shp")) { for (int i = 0; i < sr.Data.NoOfEntries; i++) { XYPoint p = sr.ReadNext(i) as XYPoint; Parallel.ForEach(pols, (pol, state) => { if (pol.Contains(p)) { points.Add(p); state.Break(); } }); } } int k = points.Count; }
public void OverLapsTest() { int overlap = 0; System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); int match=0; using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"F:\Oplandsmodel\Overfladevand\oplande\id15_NSTmodel_24112014.shp")) { using (Geometry.Shapes.ShapeReader sr2 = new Geometry.Shapes.ShapeReader(@"F:\Oplandsmodel\NitrateModel\output\WaterBiasStatRerun06.shp")) { var geom1 = sr.GeoData.ToList(); var geom2 = sr2.GeoData.ToList(); foreach (var pol in geom1) { foreach (var pol2 in geom2) { var f = ((IXYPolygon)pol2.Geometry).OverLaps((IXYPolygon)pol.Geometry); if (f) { overlap++; var area = XYGeometryTools.CalculateSharedArea((IXYPolygon)pol.Geometry, (IXYPolygon)pol2.Geometry); if (area / ((IXYPolygon)pol.Geometry).GetArea() > 0.99) { match++; break; } } } } } } sw.Stop(); int k =overlap; }
public void ContainsTest() { List<IXYPolygon> pols = new List<IXYPolygon>(); using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"D:\NitrateModel\Overfladevand\Punktkilder\kystzone.shp")) { foreach (var pol in sr.GeoData) { if (pol.Data[1].ToString().Trim().ToLower() == "land") pols.Add(pol.Geometry as IXYPolygon); } } List<XYPoint> points = new List<XYPoint>(); using (Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(@"D:\NitrateModel\Overfladevand\Punktkilder\spredt_pkt.shp")) { for(int i =0;i<sr.Data.NoOfEntries;i++) { XYPoint p = sr.ReadNext(i) as XYPoint; Parallel.ForEach(pols, (pol, state) => { if (pol.Contains(p)) { points.Add(p); state.Break(); } }); } } int k = points.Count; }
public void GetIDTest() { SoilCodesGrid target = new SoilCodesGrid(); // TODO: Initialize to an appropriate value string ShapeSoilCodes = @"D:\DK_information\DKDomainNodes_LU_Soil_codes.shp"; target.BuildGrid(ShapeSoilCodes); int ec=0; List<int> errors = new List<int>(); using (HydroNumerics.Geometry.Shapes.ShapeReader sr = new Geometry.Shapes.ShapeReader(ShapeSoilCodes)) { foreach (var c in sr.GeoData) { if ((int)c.Data["GRIDID"] != target.GetID((IXYPoint)c.Geometry)) errors.Add((int)c.Data["GRIDID"]); } } Assert.AreEqual(0,ec); }