示例#1
0
        public void EncodesAsExpected(double lat, double lng, GeoHashPrecision precision)
        {
            var expectedOutput = BuckingHamPalaceGeoHash.Substring(0, (int)precision);

            var encoder = new GeoHashEncoder <string>();
            var encoded = encoder.Encode(lat, lng, precision);

            Assert.Equal(encoded, expectedOutput);
        }
示例#2
0
        public void EncodesAsExpected(GeoHashPrecision precision, int expectedMatches)
        {
            var encoder = new GeoHashEncoder <Location>();
            var matcher = new GeoHashMatcher <Location>();

            var geoHashedCities = encoder.Encode(_aussieSuburbs);
            var actualMatches   = matcher.GetMatches(CoogeeGeoHash, geoHashedCities, precision).Count();

            Assert.Equal(actualMatches, expectedMatches);
        }
示例#3
0
        public static async Task <List <Data> > ObtainValues(string path)
        {
            List <Data> result  = new List <Data>();
            var         encoder = new GeoHashEncoder <string>();
            double      val1;
            double      val2;

            foreach (var line in await File.ReadAllLinesAsync(path))
            {
                Data dataElement = new Data();
                var  values      = line.Split(",");
                if (Double.TryParse(values[0], out val1) && Double.TryParse(values[0], out val2))
                {
                    dataElement.Latitude  = double.Parse(values[0]);
                    dataElement.Longitude = double.Parse(values[1]);
                    dataElement.Geohash   = encoder.Encode(double.Parse(values[0]), double.Parse(values[1]), GeoHash.Net.Utilities.Enums.GeoHashPrecision.MaximumPrecision);
                    result.Add(dataElement);
                }
            }
            return(result);
        }