public static MarkerCollection GetDistinctCities(int moduleId, string customField, string country, string state, int maxPoints) { MarkerCollection states = new MarkerCollection(); MarkerQuery q = new MarkerQuery(); q.Select(q.City); if (!String.IsNullOrEmpty(customField)) { q.Where(q.CustomField == customField); } q.Where(q.ModuleId == moduleId); q.Where(q.Country == country); q.Where(q.Region == state); q.Where(q.Latitude.IsNotNull() && q.Longitude.IsNotNull()); q.OrderBy(q.City.Ascending); q.es.Distinct = true; states.Load(q); return(states); }
public void StartFrame() { #if TRACE lock (this) { // We skip reset frame when this method gets called multiple times. int count = Interlocked.Increment(ref updateCount); if (Visible && (1 < count && count < MaxSampleFrames)) { return; } // Update current frame log. prevLog = logs[frameCount++ & 0x1]; curLog = logs[frameCount & 0x1]; float endFrameTime = (float)stopwatch.Elapsed.TotalMilliseconds; // Update marker and create a log. for (int barIdx = 0; barIdx < prevLog.Bars.Length; ++barIdx) { MarkerCollection prevBar = prevLog.Bars[barIdx]; MarkerCollection nextBar = curLog.Bars[barIdx]; // Re-open marker that didn't get called EndMark in previous frame. for (int nest = 0; nest < prevBar.NestCount; ++nest) { int markerIdx = prevBar.MarkerNests[nest]; prevBar.Markers[markerIdx].EndTime = endFrameTime; nextBar.MarkerNests[nest] = nest; nextBar.Markers[nest].MarkerId = prevBar.Markers[markerIdx].MarkerId; nextBar.Markers[nest].BeginTime = 0; nextBar.Markers[nest].EndTime = -1; nextBar.Markers[nest].Color = prevBar.Markers[markerIdx].Color; } // Update marker log. for (int markerIdx = 0; markerIdx < prevBar.MarkCount; ++markerIdx) { float duration = prevBar.Markers[markerIdx].EndTime - prevBar.Markers[markerIdx].BeginTime; int markerId = prevBar.Markers[markerIdx].MarkerId; MarkerInfo m = markers[markerId]; m.Logs[barIdx].Color = prevBar.Markers[markerIdx].Color; if (!m.Logs[barIdx].Initialized) { // First frame process. m.Logs[barIdx].Min = duration; m.Logs[barIdx].Max = duration; m.Logs[barIdx].Avg = duration; m.Logs[barIdx].Initialized = true; } else { // Process after first frame. m.Logs[barIdx].Min = Math.Min(m.Logs[barIdx].Min, duration); m.Logs[barIdx].Max = Math.Min(m.Logs[barIdx].Max, duration); m.Logs[barIdx].Avg += duration; m.Logs[barIdx].Avg *= 0.5f; if (m.Logs[barIdx].Samples++ >= LogSnapDuration) { m.Logs[barIdx].SnapMin = m.Logs[barIdx].Min; m.Logs[barIdx].SnapMax = m.Logs[barIdx].Max; m.Logs[barIdx].SnapAvg = m.Logs[barIdx].Avg; m.Logs[barIdx].Samples = 0; } } } nextBar.MarkCount = prevBar.NestCount; nextBar.NestCount = prevBar.NestCount; } // Start measuring. stopwatch.Reset(); stopwatch.Start(); } #endif }
public FrameLog() { // Initialize markers. Bars = new MarkerCollection[MaxBars]; for (int i = 0; i < MaxBars; ++i) Bars[i] = new MarkerCollection(); }
public FrameLog() { Bars = new MarkerCollection[MaxBars]; for ( int i = 0; i < MaxBars; ++i ) Bars[i] = new MarkerCollection(); }
public FrameLog() { // マーカーコレクション配列の初期化 Bars = new MarkerCollection[MaxBars]; for (int i = 0; i < MaxBars; ++i) Bars[i] = new MarkerCollection(); }
protected void btnGeocodeRemainingMarkers_Click(object sender, EventArgs e) { List <Marker> markers = MarkerCollection.LoadNotGeolocated(ModuleId).ToList(); litMessage.Text = GeocodeMarkerList(markers); }
private string ParseCsvFile() { var fileName = Settings[ModuleSettingNames.FileName]; var filePath = HttpContext.Current.Server.MapPath(String.Format("{0}Maps/uploads/{1}", ModuleWebPath, fileName)); string status = string.Empty; if (!File.Exists(filePath)) { status = String.Format("File {0} doesn't exist. Please upload a CSV file in the module settings.", fileName); return(status); } var csvOptions = new CsvReaderOptions() { HasHeaderRecord = true, Strict = false }; var parser = new CsvParser(new StreamReader(filePath)); var reader = new CsvReader(parser, csvOptions); // Get header names var address1 = (string)(Settings[ModuleSettingNames.Address1] ?? ModuleSettingNames.Address1); var address2 = (string)(Settings[ModuleSettingNames.Address2] ?? ModuleSettingNames.Address2); var city = (string)(Settings[ModuleSettingNames.City] ?? ModuleSettingNames.City); var country = (string)(Settings[ModuleSettingNames.Country] ?? ModuleSettingNames.Country); var iconUrl = (string)(Settings[ModuleSettingNames.IconUrl] ?? ModuleSettingNames.IconUrl); var iconShadowUrl = (string)(Settings[ModuleSettingNames.IconShadowUrl] ?? ModuleSettingNames.IconShadowUrl); var infoWindowHtml = (string)(Settings[ModuleSettingNames.InfoWindowHtml] ?? ModuleSettingNames.InfoWindowHtml); var latitude = (string)(Settings[ModuleSettingNames.Latitude] ?? ModuleSettingNames.Latitude); var longitude = (string)(Settings[ModuleSettingNames.Longitude] ?? ModuleSettingNames.Longitude); var postalCode = (string)(Settings[ModuleSettingNames.PostalCode] ?? ModuleSettingNames.PostalCode); var region = (string)(Settings[ModuleSettingNames.Region] ?? ModuleSettingNames.Region); var title = (string)(Settings[ModuleSettingNames.Title] ?? ModuleSettingNames.Title); var customField = (string)(Settings[ModuleSettingNames.CustomField] ?? ModuleSettingNames.CustomField); var priority = (string)(Settings[ModuleSettingNames.Priority] ?? ModuleSettingNames.Priority); var phoneNumber = (string)(Settings[ModuleSettingNames.PhoneNumber] ?? ModuleSettingNames.PhoneNumber); // Delete old markers var markerQuery = new MarkerQuery(); markerQuery.Where(markerQuery.ModuleId == ModuleId); var markerCollection = new MarkerCollection(); markerCollection.Load(markerQuery); markerCollection.MarkAllAsDeleted(); markerCollection.Save(); while (reader.Read()) { // Add new markers to db from csv try { var marker = new Marker { ModuleId = ModuleId, Title = reader.GetField(title), InfoWindowHtml = reader.GetField(infoWindowHtml), Address1 = reader.GetField(address1), Address2 = reader.GetField(address2), City = reader.GetField(city), Region = reader.GetField(region), PostalCode = reader.GetField(postalCode), Country = reader.GetField(country), Latitude = WA.Parser.ToDouble(reader.GetField(latitude)), Longitude = WA.Parser.ToDouble(reader.GetField(longitude)), IconUrl = reader.GetField(iconUrl), IconShadowUrl = reader.GetField(iconShadowUrl), CustomField = reader.GetField(customField), PhoneNumber = reader.GetField(phoneNumber), Priority = (reader.GetField(priority) == "" || reader.GetField(priority) == null) ? "zzzz" : reader.GetField(priority) }; marker.Save(); if (!marker.Latitude.HasValue && !marker.Longitude.HasValue) { _markers.Add(marker); } } catch (Exception ex) { throw ex; } } status = String.Format("<h1>File {0} parsed successfully</h1><hr />", fileName); status += GeocodeMarkerList(_markers); return(status); }
public FrameLog(int maxBars, int maxSamples, int maxNestCall) { Bars = new MarkerCollection[maxBars]; for (int i = 0; i < maxBars; i++) { Bars[i] = new MarkerCollection(maxSamples, maxNestCall); } }