- 积分
- 19
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-4-29
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 julywolf 于 2014-5-28 19:14 编辑
王老师,做了一个小的系统,里面有一部分生成色斑图的功能是利用wContour 1.4版本实现的,发现生成色斑图之后,站点数值与色斑绘制的结果不符合,调试了一天没找到问题所在,麻烦帮忙看看,附上部分代码。
- private void GetData()
- {
- List<double[]> DiscreteData = new List<double[]>();
- double lon = 0;
- double lat = 0;
- double index = 0;
- int i = 0;
- stationName=new string[dt.Rows.Count];
- for (i = 0; i < dt.Rows.Count; i++)
- {
- string get = "select CountyName,Longitude,Latitude from StationInfo where StationNo='" + dt.Rows[i][0].ToString() + "'";
- sql s = new sql(Compute.conDatabase);
- DataTable jwd = s.ExeSQLdt(get);
- stationName[i]=jwd.Rows[0][0].ToString();
- lon = Convert.ToDouble(jwd.Rows[0][1]);
- lat = Convert.ToDouble(jwd.Rows[0][2]);
- index = Convert.ToDouble(dt.Rows[i][1].ToString());
- DiscreteData.Add(new double[] { lon, lat, index });
- }
- m_DiscreteData = new double[3, DiscreteData.Count];
- for (i = 0; i < DiscreteData.Count; i++)
- {
- m_DiscreteData[0, i] = DiscreteData[i][0];
- m_DiscreteData[1, i] = DiscreteData[i][1];
- m_DiscreteData[2, i] = DiscreteData[i][2];
- }
- }</double[]></double[]>
复制代码- private void TracingContourLines(string index)
- {
- //分层
- int nc = 0;
- double[] ind = new double[dt.Rows.Count];
- for (int i = 0; i < dt.Rows.Count; i++)
- {
- ind[i] = Convert.ToDouble(dt.Rows[i][1].ToString());
- }
- //Array.Sort(ind);
- //利用反射动态获取对应指数内指数分级的值
- //index的命名空间的全名可以通过以下方法获得System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace;
- string sindex = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace + "." + index;
- Type tp = Type.GetType(sindex); //需要带上index名字空间
- FieldInfo f = tp.GetField("spaceInfo");
- m_CValues = (double[])f.GetValue(null);
- nc = m_CValues.Length;
- //颜色
- m_Colors = CreateColors(m_StartColor, m_EndColor, nc + 1);
- double XDelt = 0;
- double YDelt = 0;
- XDelt = m_X[1] - m_X[0];
- YDelt = m_Y[1] - m_Y[0];
- m_ContourLines = Contour.CreateContourLines(m_GridData, m_X, m_Y, nc + 1, m_CValues, XDelt, YDelt);
- }
复制代码
|
|