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;





    }
Пример #2
0
        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;
        }
Пример #3
0
        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));
            }
        }
Пример #4
0
    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));


      }
    }
Пример #5
0
        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;
        }
Пример #6
0
        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);
        }
Пример #7
0
        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;
      
    }
Пример #10
0
    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);
    
    }