public override void Call()
        {
            Progress.Caption = "Simplificando regiones...";
            var ci = context.Data.Session.Query <ClippingRegionItem>()
                     .ToList();

            Progress.Total = ci.Count;
            var session = medea.context.Data.Session;
            int i       = 1;

            foreach (var item in ci)
            {
                IGeometry geo = session.GetGeometry <ClippingRegionItem>(item.Id.Value,
                                                                         x => x.Geometry);
                i++;
                item.GeometryR1 = (Geometry)Simplifications.Simplify(geo, QualityEnum.High);
                if (item.GeometryR1.Coordinates.Length == 0)
                {
                    item.GeometryR1 = (Geometry)geo;
                }
                string sql = "update clipping_region_item set "
                             + "cli_geometry_r1 = " + InsertGenerator.GetValueEscaped(item.GeometryR1) +
                             " where cli_id = " + item.Id.Value;
                try
                {
                    session.SqlActions.ExecuteNonQuery(sql);
                }
                catch (Exception e)
                {
                    Errors.Add("falló: " + item.Id.Value + " - " + e.ToString());
                }

                Progress.Increment();
            }
        }
Пример #2
0
        public void CallDirect()
        {
            Progress.Caption = "Simplificando geografías...";
            var ci = context.Data.Session.Query <GeographyItem>()
                     .ToList();

            Progress.Total = ci.Count;
            var    session = medea.context.Data.Session;
            string cad     = "";
            int    i       = 0;

            foreach (var item in ci)
            {
                i++;
                IGeometry geo = session.GetGeometry <GeographyItem>(item.Id.Value,
                                                                    x => x.Geometry);

                Simplifications.FillSimplifiedGeometries((Geometry)geo, item);

                string sql = "update geography_item set "
                             + "gei_geometry_r1 = " + InsertGenerator.GetValueEscaped(item.GeometryR1)
                             + ", gei_geometry_r2 = " + InsertGenerator.GetValueEscaped(item.GeometryR2)
                             + ", gei_geometry_r3 = " + InsertGenerator.GetValueEscaped(item.GeometryR3)
                             + ", gei_geometry_r4 = " + InsertGenerator.GetValueEscaped(item.GeometryR4)
                             + ", gei_geometry_r5 = " + InsertGenerator.GetValueEscaped(item.GeometryR5)
                             + ", gei_geometry_r6 = " + InsertGenerator.GetValueEscaped(item.GeometryR6)
                             + " where gei_id = " + item.Id.Value + ";";
                cad = cad + sql;
                try
                {
                    if (i % 20 == 0)
                    {
                        session.SqlActions.ExecuteNonQuery(cad);
                        cad = "";
                    }
                }
                catch (Exception e)
                {
                    Errors.Add("falló: " + item.Id.Value + " - " + e.ToString());
                }

                Progress.Increment();
            }

            session.SqlActions.ExecuteNonQuery(cad);
            cad = "";
        }