Ejemplo n.º 1
0
        public GSFeature GetFeatureDB(HttpContext context, int id)
        {
            String    query   = "SELECT * FROM TblFeature WHERE fFeatureID = @fFeatureID";
            GSFeature feature = null;

            using (SqlConnection con = new SqlConnection(dbsource.main))
            {
                con.Open();
                using (SqlCommand cmd = new SqlCommand(query, con))
                {
                    cmd.Parameters.AddWithValue("@fFeatureID", id);
                    using (SqlDataReader set = cmd.ExecuteReader())
                    {
                        if (set.Read() == true)
                        {
                            feature        = new GSFeature();
                            feature.fref   = set["fFeatureRef"].ToString();
                            feature.name   = set["fFeatureName"].ToString();
                            feature.type   = set["fFeatureType"].ToString();
                            feature.region = set["fRegionName"].ToString();
                            feature.wkt    = set["fFeatureWKT"].ToString();
                            feature.x1     = (double)set["fBoundX1"];
                            feature.y1     = (double)set["fBoundY1"];
                            feature.x2     = (double)set["fBoundX2"];
                            feature.y2     = (double)set["fBoundY2"];
                        }
                    }
                }
            }
            return(feature);
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            String mode = Request["mode"];

            if (mode != null && mode != "")
            {
                if (mode == "loadSel")
                {
                    LoadSelection();
                }

                Response.End();
                return;
            }

            id = Request["id"];

            GSTool gs = new GSTool(Context);

            feature = gs.GetFeatureDB(Context, int.Parse(id));

            MMTools tool = new MMTools(Context);

            file       = tool.file;
            rootStock  = tool.rootStock;
            rootDriver = tool.rootDriver;

            if (Request["rot"] != null && Request["rot"] != "")
            {
                rot = int.Parse(Request["rot"]);
            }
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            gstool = new GSTool(Context);

            if (Request["mode"] == "list")
            {
                Response.Write(gstool.Filter(Context, Request["source"], Request["text"]));
                Response.End();
            }

            if (Request["mode"] == "getfeature")
            {
                int       id      = gstool.GetFeature(Context, Request["source"], Request["id"]);
                GSFeature feature = gstool.GetFeatureDB(Context, id);
                Response.Write(id.ToString() + "|" + feature.name);
                Response.End();
            }

            if (Request["mode"] == "getSources")
            {
                String name = Request["fid"];
                foreach (GSGroup group in gstool.groups)
                {
                    if (group.name == name)
                    {
                        foreach (GSSource source in group.sources)
                        {
                            Response.Write("<option>" + source.name + "</option>");
                        }
                    }
                }
                Response.End();
            }
        }
Ejemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            id = Request["id"];
            v1 = Request["v1"];
            v2 = Request["v2"];

            GSTool gs = new GSTool(Context);

            feature = gs.GetFeatureDB(Context, int.Parse(id));



            MMTools mm     = new MMTools(Context);
            string  region = mm.GetRegionName(int.Parse(id));

            regionID = mm.GetRegionID(region);
            if (regionID != 0)
            {
                using (HttpClient client = new HttpClient())
                {
                    Uri baseAddress = new Uri("http://app01.saeon.ac.za/nccrdapi/");
                    client.BaseAddress = baseAddress;

                    //Setup post body
                    var postBody = new { polygon = feature.wkt };

                    //Get response
                    var response = client.PostAsync("odata/Projects/Extensions.ByPolygon?$expand=ProjectLocations($expand=Location($select=LatCalculated,LonCalculated))&$select=ProjectId,ProjectTitle,ProjectDescription", new StringContent(new JavaScriptSerializer().Serialize(postBody), Encoding.UTF8, "application/json")).Result;

                    /*
                     * if (!response.IsSuccessStatusCode)
                     * {
                     *  String url = baseAddress + "api/Projects/GetByPolygonPost";
                     *  throw new HttpRequestException(url + "\nPost body:" + postBody);
                     * }
                     */
                    features = response.Content.ReadAsStringAsync().Result;
                }
            }

            dynamic ideas = mm.ReadIdeas(Context);

            if (v1 != null && v1 != "")
            {
                var1 = mm.GetVariable(ideas, v1, Context);
                if (var1 == null)
                {
                    Response.End();
                    return;
                }
            }

            if (v2 != null && v2 != "")
            {
                var2 = mm.GetVariable(ideas, v2, Context);
                if (var2 == null)
                {
                    Response.End();
                    return;
                }
            }
        }
Ejemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Session.LCID = 1033;

            String mode = Request["mode"];

            if (mode != null && mode != "")
            {
                if (mode == "savesel")
                {
                    SaveSelection();
                }

                Response.End();
                return;
            }


            id = Request["id"];
            v1 = Request["v1"];
            v2 = Request["v2"];

            GSTool gs = new GSTool(Context);

            feature = gs.GetFeatureDB(Context, int.Parse(id));


            if (Request["v"] != null)
            {
                v = Request["v"];
            }

            double x1 = feature.x1;
            double y1 = feature.y1;
            double x2 = feature.x2;
            double y2 = feature.y2;

            ramp = new ColorRamp();
            ramp.Load(Server.MapPath("images/ramp.png"));

            CMapRect    maprect = new CMapRect(x1, y1, x2, y2);
            CScreenRect scrrect = new CScreenRect(0, 0, bmpx, bmpy);
            CZoom       zoom    = new CZoom();

            zoom.ZoomToFullExtent(maprect, scrrect);

            wkt  = feature.wkt;
            mask = new Bitmap(bmpx, bmpy);
            using (Graphics gr = Graphics.FromImage(mask))
            {
                Brush white = new SolidBrush(Color.White);
                Brush black = new SolidBrush(Color.Black);
                gr.FillRectangle(white, new Rectangle(0, 0, bmpx, bmpy));

                string wkt1 = wkt;
                wkt1 = wkt1.Replace("POLYGON((", "");
                wkt1 = wkt1.Replace("))", "");
                wkt1 = wkt1.Replace("), (", "|");

                GraphicsPath path = new GraphicsPath();

                String[] parts = wkt1.Split('|');
                foreach (String part in parts)
                {
                    String[]     coords     = part.Split(',');
                    List <Point> pointArray = new List <Point>();

                    foreach (String coord in coords)
                    {
                        String[] xy = coord.Trim().Split(' ');
                        double   mx = double.Parse(xy[0].Trim(), CultureInfo.InvariantCulture);
                        double   my = double.Parse(xy[1].Trim(), CultureInfo.InvariantCulture);
                        int      sx = 0;
                        int      sy = 0;
                        zoom.Map2Screen(mx, my, out sx, out sy);
                        pointArray.Add(new Point(sx, sy));
                    }
                    path.AddPolygon(pointArray.ToArray());
                }
                gr.FillPath(black, path);
            }
            String name = "temp/mask_" + Guid.NewGuid().ToString() + ".png";
            String file = Server.MapPath(name);

            mask.Save(file, System.Drawing.Imaging.ImageFormat.Png);
            file_mask = name;


            MMTools mm    = new MMTools(Context);
            dynamic ideas = mm.ReadIdeas(Context);

            if (v1 != null && v1 != "")
            {
                var1 = mm.GetVariable(ideas, v1, Context);
                if (var1 == null)
                {
                    Response.End();
                    return;
                }
                ProcessChart(1, var1);
            }

            if (v2 != null && v2 != "")
            {
                var2 = mm.GetVariable(ideas, v2, Context);
                if (var2 == null)
                {
                    Response.End();
                    return;
                }
                ProcessChart(2, var2);
            }

            // normalize
            double dTotalMain1 = 0;
            double dTotalSub1  = 0;

            foreach (String key in var1.dicb.Keys)
            {
                MMBucket bucket = var1.dicb[key];
                dTotalMain1 += bucket.count;
                foreach (String sub in bucket.dict.Keys)
                {
                    dTotalSub1 += bucket.dict[sub].count;
                }
            }

            foreach (String key in var1.dicb.Keys)
            {
                MMBucket bucket = var1.dicb[key];
                bucket.count = (bucket.count / dTotalMain1);
                foreach (String sub in bucket.dict.Keys)
                {
                    bucket.dict[sub].count = (bucket.dict[sub].count / dTotalSub1);
                }
            }

            // var 2
            if (var2 != null)
            {
                LoadGrid();

                double dTotalMain2 = 0;
                double dTotalSub2  = 0;
                foreach (String key in var2.dicb.Keys)
                {
                    MMBucket bucket = var2.dicb[key];
                    dTotalMain2 += bucket.count;
                    foreach (String sub in bucket.dict.Keys)
                    {
                        dTotalSub2 += bucket.dict[sub].count;
                    }
                }

                foreach (String key in var2.dicb.Keys)
                {
                    MMBucket bucket = var2.dicb[key];
                    bucket.count = (bucket.count / dTotalMain2);
                    foreach (String sub in bucket.dict.Keys)
                    {
                        bucket.dict[sub].count = (bucket.dict[sub].count / dTotalSub2);
                    }
                }
            }

            // dispose
            if (bmp1 != null)
            {
                bmp1.Dispose();
            }

            if (bmp2 != null)
            {
                bmp2.Dispose();
            }

            if (mask != null)
            {
                mask.Dispose();
            }
        }