Beispiel #1
0
 public void ZoneGetHexSize()
 {
     foreach (String[] v in ParseCsv(GetTestFilePath("resources/GetHexSize_v3.2.csv")))
     {
         double lat               = double.Parse(v[0]);
         double lon               = double.Parse(v[1]);
         int    level             = int.Parse(v[2]);
         double expected_hex_size = double.Parse(v[3]);
         Zone   z = GEOHEX.GetZoneByLocation(lat, lon, level);
         Assert.AreEqual(expected_hex_size, z.GetHexSize(), LOCATION_PRECISION);
     }
 }
Beispiel #2
0
 public void GetZoneByLocation()
 {
     foreach (string[] v in ParseCsv(GetTestFilePath("resources/GetZoneByLocation_v3.2.csv")))
     {
         double lat   = double.Parse(v[0]);
         double lon   = double.Parse(v[1]);
         int    level = int.Parse(v[2]);
         String code  = v[3];
         Zone   zone  = GEOHEX.GetZoneByLocation(lat, lon, level);
         Assert.AreEqual(code, zone.code);
     }
 }
        public void ZoneGetHexCoordsTest()
        {
            TimeWatch.Reset();
            const int MaxReat = 1000000;

            {
                double lat   = 33.35137950146622;
                double lon   = 135.6104480957031;
                int    level = 0;
                Zone   z     = GEOHEX.GetZoneByLocation(lat, lon, level);

                TimeWatch.Resume();
                for (int repeat = 0; repeat < MaxReat; repeat++)
                {
                    z.GetHexCoords();
                }
                TimeWatch.Pause(MaxReat);
            }

            TimeWatch.OutputResult("GetHexCoords");
        }
        public void GetZoneByLocation()
        {
            const int MaxRepeat = 100000;

            TimeWatch.Reset();

            {
                double lat   = 33.35137950146622;
                double lon   = 135.6104480957031;
                int    level = 0;

                TimeWatch.Resume();
                for (int repeat = 0; repeat < MaxRepeat; repeat++)
                {
                    GEOHEX.GetZoneByLocation(lat, lon, level);
                }
                TimeWatch.Pause(MaxRepeat);
            }

            TimeWatch.OutputResult("GetZoneByLocation");
        }
Beispiel #5
0
        public void ZoneGetHexCoordsTest()
        {
            foreach (string[] v in ParseCsv(GetTestFilePath("resources/GetHexCoords_v3.2.csv")))
            {
                double lat   = double.Parse(v[0]);
                double lon   = double.Parse(v[1]);
                int    level = int.Parse(v[2]);
                Zone   z     = GEOHEX.GetZoneByLocation(lat, lon, level);

                double[][] expectedPolygon =
                {
                    new double[] { double.Parse(v[3]),  double.Parse(v[4])  },
                    new double[] { double.Parse(v[5]),  double.Parse(v[6])  },
                    new double[] { double.Parse(v[7]),  double.Parse(v[8])  },
                    new double[] { double.Parse(v[9]),  double.Parse(v[10]) },
                    new double[] { double.Parse(v[11]), double.Parse(v[12]) },
                    new double[] { double.Parse(v[13]), double.Parse(v[14]) },
                };

                AssertPolygon(expectedPolygon, z.GetHexCoords());
            }
        }