static void Main(string[] args) { MapInfoAppControls map = new MapInfoAppControls(new MapinfoCurrentApp()); map.TablesShow(); int index = Convert.ToInt32(Console.ReadLine()); Table table = map.tables[index]; foreach (var row in table.Rows) { var temp = row.RowID * 10000 / Math.PI; //row.RowID / 100; row[1] = temp; var q = row[8]; if (q != null) { Console.WriteLine("{0} - {1}", row[8], q.GetType()); } } Console.Read(); }
private void main() { Console.WriteLine("F**K"); MapInfoAppControls mapInfo = new MapInfoAppControls(new MapinfoCurrentApp()); mapInfo.TablesShow(); Table table = mapInfo.GetTable(); var list = new List <IInputData>(); Console.WriteLine("Начало считывания"); Console.WriteLine("["); mapInfo.Cycle(table, (k) => { var doc = mapInfo.Eval(table.Name + @".Utilization"); var areaAsString = mapInfo.Eval(@"Int( Area( " + table.Name + @".Obj, ""sq m"") )"); var area = Convert.ToInt32(areaAsString); string lvl = mapInfo.Eval(table.Name + @".этажи"); var bti = BTI_lvls(lvl); var klass = mapInfo.Eval(table.Name + @".назнач_старый_слой"); list.Add(new InputData(doc, area, bti.Item1, bti.Item2, bti.Item3, bti.Item4, klass)); }); Tuple <string, string, int, int>[] result = new Tuple <string, string, int, int> [table.Lenght]; Console.WriteLine("Начало обработки"); Parallel.ForEach(list, item => { IFactory factory = new Factory(item); factory.Execute(); var index = list.IndexOf(item); result[index] = (Tuple.Create(factory.outputData.VRI_List, factory.outputData.Matches, factory.outputData.Type, factory.outputData.Kind)); }); int it = 1; Console.WriteLine("Начало записи"); while (it <= table.Lenght) { if (it % 1000 == 0) { Console.WriteLine("Запись: итерация {0}", it); } mapInfo.Do(@"Update " + table.Name + @" Set VRI = """ + result[it - 1].Item1 + @""" Where RowID = " + it); mapInfo.Do(@"Update " + table.Name + @" Set Matches = """ + result[it - 1].Item2 + @""" Where RowID = " + it); mapInfo.Do(@"Update " + table.Name + @" Set fs_tip = """ + result[it - 1].Item3.ToString() + @""" Where RowID = " + it); mapInfo.Do(@"Update " + table.Name + @" Set fs_vid = """ + result[it - 1].Item4.ToString() + @""" Where RowID = " + it); it++; } Console.Read(); }
public MapInfo2() { MapInfoAppControls map = new MapInfoAppControls(new MapinfoCurrentApp()); map.TablesShow(); Plots = map.GetTable(); }
private void uselessshit() { MapInfoAppControls map = new MapInfoAppControls(new MapinfoCurrentApp()); map.TablesShow(); var table = map.GetTable(); var cadNums = new ConcurrentDictionary <(string, double), Classifier.IFactory>(); Console.WriteLine("Start collecting cad_nums"); Stopwatch sw = new Stopwatch(); sw.Start(); foreach (var row in table.Rows) { if (row.RowID % 10000 == 0) { Console.WriteLine("{0} Elapsed time => {1}", row.RowID, sw.Elapsed.Seconds); sw.Restart(); } string cadNum = row["CAD_NUM"]; double area = row["Площадь"] * 10000; if (cadNum.Length > 10) { cadNums.TryAdd((cadNum, area), null); } } Console.WriteLine("Start processing cad_nums"); sw.Restart(); var bag = new ConcurrentBag <Plot>(); using (var context = new Context()) { var plots = context.Plots.ToList(); foreach (var _plot in plots) { _plot.Buildings.ToList(); bag.Add(_plot); } } Parallel.ForEach(cadNums, (item) => { var plot = bag.FirstOrDefault(p => p.CadNum.Equals(item.Key.Item1, StringComparison.InvariantCulture)); if (plot != null) { var data = new Classifier.InputDataDB(plot, (int)item.Key.Item2); var factory = new Classifier.Factory(data); factory.Execute(); cadNums[item.Key] = factory; } }); Console.WriteLine("Start writing data"); foreach (var row in table.Rows) { if (row.RowID % 10000 == 0) { Console.WriteLine("{0} Elapsed time => {1}", row.RowID, sw.Elapsed.Seconds); sw.Restart(); } string cadNum = row["CAD_NUM"]; if (cadNum.Length > 10) { var data = cadNums.FirstOrDefault(p => p.Key.Item1.Equals(cadNum, StringComparison.InvariantCulture)).Value; if (data != null) { row["VRI"] = data.outputData.VRI_List; row["Type"] = data.outputData.Type; row["Kind"] = data.outputData.Kind; } } } }
private void BDTemp() { MapInfoAppControls map = new MapInfoAppControls(new MapinfoCurrentApp()); map.TablesShow(); var table = map.GetTable(); var query = map.GetTable(); var context = new Context(); Console.WriteLine("Start reading and precessing..."); //context.Database.ExecuteSqlCommand("TRUNCATE TABLE [dbo.BTIs]"); foreach (var val in context.BTIBuildings) { context.BTIBuildings.Remove(val); Console.WriteLine(val.UNOM); } context.SaveChanges(); Console.WriteLine(context.BTIBuildings.ToList().Count()); var dict = new Dictionary <int, string>(); var list = new List <BTI>(); Stopwatch sw = new Stopwatch(); sw.Start(); foreach (var val in query.Rows) { if (val.RowID % 1000 == 0) { Console.WriteLine("{0} Elapsed time = {1}", val.RowID, sw.Elapsed.Seconds); sw.Restart(); } var unom = val["UNOM"]; var cad_num = val["CAD_NUM"]; if (unom == 0) { continue; } if (dict.ContainsKey(unom)) { continue; } else { dict.Add(unom, cad_num); } } sw.Restart(); foreach (var row in table.Rows) { if (row.RowID % 1000 == 0) { Console.WriteLine("Row {0} затрачено времени {1} ", row.RowID, sw.Elapsed.Seconds.ToString()); sw.Restart(); } var unom = row["UNOM"]; var cad_num = dict.ContainsKey(unom) ? dict[unom] : null; //var bti = DBLayer.BTI.Create(0, (int)row[0], (string)row[1], (string)row[2], (string)row[3], (string)row[4] // , (string)row[5], row[8], (int?)row[15], (string)row[86], (string)row[87], (double?)row[89] // , (int?)row[90], (int?)row[92], (string)row[100], (int)row[101], (int)row[102], cad_num); //list.Add(bti); } sw.Restart(); int it = 0; foreach (var val in list) { if (it++ % 1000 == 0) { Console.WriteLine("{0} Elapsed time = {1}", it, sw.Elapsed.Seconds); sw.Restart(); } context.BTIBuildings.Add(val); } context.SaveChanges(); Console.ReadKey(); }
static void Main() { var mf = new Classifier.Nodes.NodesCollection(); var app = new MapInfoAppControls(new MapinfoCurrentApp()); app.TablesShow(); Context context = null; try { context = new Context(); } catch (Exception e) { Console.WriteLine(e); } finally { context.Dispose(); } var table = app.GetTable(); Console.WriteLine("Number of rows is: {0}", table.Lenght); var sw = new Stopwatch(); sw.Start(); foreach (var val in table.Rows) { Console.WriteLine("{0} rows was comleted", val.RowID); try { string vri_egrn = string.IsNullOrEmpty(val["Наименование_ОКС"]) ? val["Назначение"] : val["Наименование_ОКС"]; string vri_dgi = val["ДГИ_назначение"]; if (!string.IsNullOrEmpty(vri_egrn)) { Classifier.InputData data = new Classifier.InputData(vri_egrn, 600); Classifier.Factory factory = new Classifier.Factory(data); factory.Execute(); var vri = factory.outputData.VRI_List; val["VRI_EGRN"] = vri; } if (!string.IsNullOrEmpty(vri_dgi)) { Classifier.InputData data = new Classifier.InputData(vri_dgi, 600); Classifier.Factory factory = new Classifier.Factory(data); factory.Execute(); var vri = factory.outputData.VRI_List; val["VRI_DGI"] = vri; } } catch (Exception e) { Console.WriteLine(e.Message); continue; } } sw.Stop(); }