Пример #1
0
        public void UpdateSpotList(Mapbox.Utils.Vector2d vec)
        {
            var spots      = MapSceneManager.Data.spotList;
            var removeList = new List <Result>();

            foreach (var s in spots)
            {
                var distance = ConvertDistance.Distance(vec.x, vec.y, s.geometry.location.lat, s.geometry.location.lng, 'K');
                if (distance > 6)
                {
                    removeList.Add(s);
                }
                if (distance <= 3)
                {
                    MapSceneManager.Boad.InstantiateBoad(s);
                }
                if (distance > 3)
                {
                    MapSceneManager.Boad.DestroyBoad(s);
                }
            }

            //最後にリストから消去
            foreach (var r in removeList)
            {
                spots.Remove(r);
            }
        }
Пример #2
0
        protected override void OnUpdate()
        {
            if (MapSceneManager.IsDebug)
            {
                var data     = MapSceneManager.Data;
                var location = MapSceneManager.MainMap.WorldToGeoPosition(MapSceneManager.Player.gameObject.transform.position);
                if (ConvertDistance.Distance(location.x, location.y, data.beforeLat, data.beforeLng, 'K') >= 3)
                {
                    data.beforeLat = location.x;
                    data.beforeLng = location.y;
                    enumerator     = LoadMapData(location);
                }
            }
            if (MapSceneManager.Getter.CanGetLonLat())
            {
                string lonLatInfoTemplate = "緯度: {0}\n経度: {1}";
                MapSceneManager.UI.SetText(string.Format(lonLatInfoTemplate, (float)MapSceneManager.Getter.Latitude, (float)MapSceneManager.Getter.Longitude));
                MapSceneManager.Player.PlayerTransUpdate();

                var getter = MapSceneManager.Getter;
                var data   = MapSceneManager.Data;
                //前に更新した時より3km以上離れていたら更新する
                if (ConvertDistance.Distance(getter.Latitude, getter.Longitude, data.beforeLat, data.beforeLng, 'K') >= 3)
                {
                    data.beforeLat = getter.Latitude;
                    data.beforeLng = getter.Longitude;
                    var vec = new Mapbox.Utils.Vector2d(getter.Latitude, getter.Longitude);
                    enumerator = LoadMapData(vec);
                }
            }

            if (enumerator != null)
            {
                if (!enumerator.MoveNext())
                {
                    enumerator = null;
                }
            }
        }
Пример #3
0
        protected override void OnExecute()
        {
            MapSceneManager.Player.Setup();

            var getter = MapSceneManager.Getter;

            foreach (var data in MapSceneManager.Data.spotList)
            {
                var location = data.geometry.location;
                if (MapSceneManager.IsDebug)
                {
                    if (ConvertDistance.Distance(35.7134029f, 139.7611094f, location.lat, location.lng, 'K') <= 3)
                    {
                        MapSceneManager.Boad.InstantiateBoad(data);
                    }
                }
                else
                {
                    if (ConvertDistance.Distance(getter.Latitude, getter.Longitude, location.lat, location.lng, 'K') <= 3)
                    {
                        MapSceneManager.Boad.InstantiateBoad(data);
                    }
                }
            }

            if (MapSceneManager.IsDebug)
            {
                MapSceneManager.Data.beforeLat = 35.7134029f;
                MapSceneManager.Data.beforeLng = 139.7611094f;
            }
            else
            {
                MapSceneManager.Data.beforeLat = getter.Latitude;
                MapSceneManager.Data.beforeLng = getter.Longitude;
            }

            MapSceneManager.UI.SetActiveLoad(false);
        }
Пример #4
0
        public void ReadCsvSample()
        {
            var proivder = new CompuTrainerTXTFileProvider(csvData);
            var samples  = proivder.Samples.ToList();

            Assert.AreEqual(2, samples.Count, "wrong number of samples");

            var sample = samples[0];

            Assert.AreEqual(60, sample.HeartRateBpm, "HeartRateBpm is wrong");
            Assert.AreEqual((uint)9156, sample.TimeMilisecondElapsed, "TimeMilisecondElapsed is wrong");
            Assert.AreEqual(270, sample.PowerWatts, "PowerWatts is wrong");
            Assert.AreEqual(92, sample.CadenceRpm, "CadenceRpm is wrong");
            Assert.AreEqual(Math.Round(ConvertDistance.MilesToKilometers(0.0272F), 4), Math.Round(sample.DistanceKilometerElapsed, 4), "DistanceKilometerElapsed is wrong");
            Assert.AreEqual(Math.Round(17.38 / ConvertDistance.KilometersPerMile, 2), Math.Round(sample.SpeedMph, 2), "SpeedMph is wrong");

            sample = samples[1];
            Assert.AreEqual(70, sample.HeartRateBpm, "HeartRateBpm is wrong");
            Assert.AreEqual((uint)12219, sample.TimeMilisecondElapsed, "TimeMilisecondElapsed is wrong");
            Assert.AreEqual(208, sample.PowerWatts, "PowerWatts is wrong");
            Assert.AreEqual(96, sample.CadenceRpm, "CadenceRpm is wrong");
            Assert.AreEqual(Math.Round(ConvertDistance.MilesToKilometers(0.0427F), 4), Math.Round(sample.DistanceKilometerElapsed, 4), "DistanceKilometerElapsed is wrong");
            Assert.AreEqual(Math.Round(18.54 / ConvertDistance.KilometersPerMile, 2), Math.Round(sample.SpeedMph, 2), "SpeedMph is wrong");
        }
Пример #5
0
        private LocationModel GetRadiusLocation(string latitude, string longitude, string radius)
        {
            try
            {
                LocationModel locationModel = new LocationModel();

                double radiusTemp  = Convert.ToDouble(radius);
                var    radiusMiles = ConvertDistance.ConvertKilometersToMiles(radiusTemp);


                SqlParameter StartingLatitude  = new SqlParameter("@latitude", latitude);
                SqlParameter StartingLongitude = new SqlParameter("@longitude", longitude);
                SqlParameter MaxDistance       = new SqlParameter("@radius", radiusMiles);

                var earthquakesGuids = earthquakeRepository.GetRadiusLocation(StartingLatitude, StartingLongitude, MaxDistance);
                IList <Earthquake> nearEarthquakes = new List <Earthquake>();

                foreach (Guid id in earthquakesGuids)
                {
                    var ea = earthquakeRepository.GetEarthquakeById(id);
                    if (ea != null)
                    {
                        nearEarthquakes.Add(ea);
                    }
                }
                locationModel.NearEarthquakes = nearEarthquakes;

                return(locationModel);
            }

            catch (Exception ex)
            {
                ExceptionUtility.Warn(ex, this.GetType());
                return(new LocationModel());
            }
        }
Пример #6
0
 private static void PrintServerDetails(Server server) => Console.WriteLine($"Hosted by {server.Sponsor} ({server.Name}/{server.Country}), " +
                                                                            $"distance: {(int)server.Distance / 1000}km " +
                                                                            $"({Math.Round(ConvertDistance.ConvertKilometersToMiles((int)server.Distance / 1000), 2)}mi), " +
                                                                            $"latency: {server.Latency}ms");