public async void Initialize() { Title = "CHORALE"; BackgroundColor = Resources.ColorBlue; TextColor = Resources.ColorWhite; ProgressBarVisibility = System.Windows.Visibility.Visible; await Task.Run(() => { GraphDataList = EcologDao.GetGraphDataOnSemanticLink(SemanticLink, Direction); RecentGraphDataList = EcologDao.GetRecentGraphDataOnSemanticLink(SemanticLink, Direction); OutlierExclusion(); ChoraleModel = ChoraleModel.Init(GraphDataList); RModel = RModel.Init(GraphDataList); }); SwitchToChoralePage(); }
public async void Initialize() { //var SemanticLinks = SemanticLinkDao.OutwardSemanticLinks; //Direction = new TripDirection { Direction = "outward" }; //SemanticLink = SemanticLinks.FirstOrDefault(s => s.SemanticLinkId == 13); Title = "CHORALE"; BackgroundColor = Resources.ColorBlue; TextColor = Resources.ColorWhite; ProgressBarVisibility = System.Windows.Visibility.Visible; await Task.Run(() => { GraphDataList = EcologDao.GetGraphDataOnSemanticLink(SemanticLink, Direction); OutlierExclusion(); ChoraleModel = ChoraleModel.Init(GraphDataList); RModel = RModel.Init(GraphDataList); }); SwitchToChoralePage(); }
private void OnPositionChanged(object sender, PositionEventArgs e) { LastGeoStr.Value = (string)(e.Position.Latitude + ", " + e.Position.Longitude); Device.BeginInvokeOnMainThread(() => { App.CurrentPosition = e.Position; Console.WriteLine(e.Position.Latitude + ", " + e.Position.Longitude); if (SemanticLink.TargetSemanticLinks == null) { // HomeWardかOutWardかを決定 if (Coordinate.TommyHome.LatitudeStart < e.Position.Latitude && Coordinate.TommyHome.LatitudeEnd > e.Position.Latitude && Coordinate.TommyHome.LongitudeStart < e.Position.Longitude && Coordinate.TommyHome.LongitudeEnd > e.Position.Longitude) { SemanticLink.TargetSemanticLinks = SemanticLink.OutwardSemanticLinks; Direction = "outward"; Debug.WriteLine("出発地点を自宅にセット"); } else if (Coordinate.Ynu.LatitudeStart < e.Position.Latitude && Coordinate.Ynu.LatitudeEnd > e.Position.Latitude && Coordinate.Ynu.LongitudeStart < e.Position.Longitude && Coordinate.Ynu.LongitudeEnd > e.Position.Longitude) { SemanticLink.TargetSemanticLinks = SemanticLink.HomewardSemanticLinks; Direction = "homeward"; Debug.WriteLine("出発地点を学校にセット"); } } else { // HomeWardかOutWardか決定されている if (SemanticLinkCurrent == null) { // 最初のセマンティックリンクを決定 SemanticLinkCurrent = SemanticLink.TargetSemanticLinks .FirstOrDefault(v => e.Position.Latitude > v.MinLatitude && e.Position.Latitude <v.MaxLatitude && e.Position.Longitude> v.MinLongitude && e.Position.Longitude < v.MaxLongitude); } else { if (e.Position.Latitude < SemanticLinkCurrent.MinLatitude - 0.0001 || e.Position.Latitude > SemanticLinkCurrent.MaxLatitude + 0.0001 || e.Position.Longitude < SemanticLinkCurrent.MinLongitude || e.Position.Longitude > SemanticLinkCurrent.MaxLongitude) { // セマンティックリンクの変更を検知 // ChoraleとEnergyStackModelの描画を開始 ChoraleModel = ChoraleModel.CreateChoraleModel(SemanticLinkCurrent); EnergyStackModelList = EnergyStackModel.CreateEnergyStackSource(Calculator.GetGraphDatum(), SemanticLinkCurrent); PlotModelChorale.Value = CreatePlotModelChorale(); PlotModelEnergyStack.Value = CreatePlotModelEnergyStack(); Calculator.Init(); SemanticLinkPrevious = SemanticLinkCurrent.Copy(); SemanticLinkCurrent = null; // DependencyService.Get<IAudio>().PlayAudioFile("broadcasting.mp3"); } else { Calculator.PositionCollection.Add(e.Position); } } } }); }