private void LoadWindDirection(SourceImage si) { if (si.Type == "WIND") { string samplename = si.Path.Split('\\').Last().Split('.')[0]; //Util.l($"Tady se budou načítat směry větrů pro {si.Path}:{si.Model}:{si.Submodel}:{si.Type}"); //Util.l($"Cesty ke zpracování {si.Path}:{Util.pathSource["wrf_mask"]}:.\\config\\Model_WRF_NMM_FLYMET.bmp:"); wrfSet = new Dictionary <string, string> { { "source", si.Path }, }; Dictionary <string, string> wrf = WRF.Process(wrfSet); if (wrf != null) { foreach (var r in wrf) { //Console.WriteLine(r.Key + " " + r.Value); CloudInputData inputORP = new CloudInputData(si.Model, si.Submodel, r.Key, samplename, Util.windDirectionToInt[r.Value], "REAL"); Util.l($"inputORP:{inputORP.id_model}:{inputORP.id_orp}:{inputORP.sample_name}:{inputORP.value}:{inputORP.region}:{inputORP.type}"); Model.Cloud.InputDataInsertOrUpdate(inputORP); } } } }
public CloudInputData(CloudInputData item) { id_model = item.id_model; id_orp = item.id_orp; sample_name = item.sample_name; value = item.value; region = item.region; type = item.type; }
public void InputData_InsertOrUpdateData() { //Ukázka přidání dat pro ORP /* CloudInputData inputORP = new CloudInputData("Model_ALADIN_CZ", "Teplota", "Beroun", "02", 2); * Util.l($"inputORP:{inputORP.id_model}:{inputORP.id_orp}:{inputORP.sample_name}:{inputORP.value}:{inputORP.region}"); * Model.Cloud.InputDataInsertOrUpdate(inputORP);*/ //Ukázka přidání dat pro Region CloudInputData inputREGION = new CloudInputData("Model_GFS_Austria_50km", "SI_index_GFS_MAIN", "Zlín", "03", 2); Util.l($"inputREGION:{inputREGION.id_model}:{inputREGION.id_orp}:{inputREGION.sample_name}:{inputREGION.value}:{inputREGION.region}"); Model.Cloud.InputDataInsertOrUpdate(inputREGION); /*CloudInputData inputNOEXIST = new CloudInputData("Model_ALADIN_CZ", "Teplota", "Neexistující oblast", "02", 2); * Util.l($"inputNOEXIST:{inputNOEXIST.id_model}:{inputNOEXIST.id_orp}:{inputNOEXIST.sample_name}:{inputNOEXIST.value}:{inputNOEXIST.region}");*/ }
public bool InputDataInsertOrUpdate(CloudInputData item) { using (IDbConnection conn = new SqlConnection(Model.ConnStr("Cloud"))) { if (item.id_model == -1) { return(false); } else { List <CloudInputData> records = new List <CloudInputData>(); if (!item.region) { records.Add(item); } else { //CloudInputData regionInput = new CloudInputData(item); List <CloudORPS> ORPSList = Model.Cloud.ORPSGetORPSForRegion(item.id_orp); foreach (var ORP in ORPSList) { CloudInputData regionInput = new CloudInputData(item); regionInput.id_orp = ORP.id; records.Add(regionInput); } } try { conn.Execute("dbo.INPUT_DATA_InsertOrUpdateData @ID_MODEL, @ID_ORP, @SAMPLE_NAME, @VALUE, @TYPE", records); } catch (Exception e) { Util.l(e); } return(true); } } }
private void ProcessORPgetValue(string mapcolor, List <Color> colors, JProperty p, string coods, string regionName, int sizeRegion) { float value = 0; if (p != null) { //Util.l($"Kontrola: {Util.curModelName}:{Util.curSubmodelName}:{typeStupnice}"); switch (p.Value.ToString()) { default: case "sum": Util.curCountMethod = "suma"; value = (float)GetValueFromSpectrumBar(colors, sizeRegion); break; case "average": Util.curCountMethod = "průměr"; value = GetValueFromSpectrumBarAverage(colors, sizeRegion); break; case "average_raw": Util.curCountMethod = "průměr (raw)"; value = (float)GetValueFromSpectrumBarAverageRaw(colors, sizeRegion); break; case "majority": Util.curCountMethod = "majorita"; value = GetValueFromSpectrumBarMajority(colors, sizeRegion); break; case "max": Util.curCountMethod = "max"; value = GetValueFromSpectrumBarMax(colors, sizeRegion); break; } } else { Util.l($"Chybí specifikace metody, nastavte v {curModelName}/{Util.pathSource["model_cfg"]}|Chyba modelu"); return; } if (onlyEnumeration) { //Util.l($"CloudInputData({Util.curModelName},{Util.curSubmodelName},{regionName},{Path.GetFileNameWithoutExtension(path)},{value})"); CloudInputData inputORP = new CloudInputData(curModelName, curSubmodelName, regionName, Path.GetFileNameWithoutExtension(path), value, typeStupnice); Model.Cloud.InputDataInsertOrUpdate(inputORP); //INPUT_DATA - DON'T TOUCH!!!! //Util.l($"Model: {Util.curModelName} /{Util.curSubmodelName} > Uložen do DB"); } else { if (value >= 1.0) { int x = 0, y = 0, count = 0; foreach (JArray point in JsonConvert.DeserializeObject <JArray>(coods)) { x += (int)point[0]; y += (int)point[1]; count++; } Util.rainRegion.Add(regionName, (new Point((int)Math.Round((float)x / count), (int)Math.Round((float)y / count)))); Util.rainRegionValue.Add(value); } Util.curModelName = curModelName; Util.curSubmodelName = curSubmodelName; Util.curDataOutputs.Add(new DataOutput() { RegionName = regionName, Value = value, Color = ColorTranslator.FromHtml(mapcolor) }); } }