public bool layerExist(Recordset tempRecordset) { bool flag = false; //项目地块是否存在标记 bool isExit = false; if (formatRecordset == null) { return(flag); } //地块编号 string strDkbh = ""; if (formatRecordset.RecordCount > 0) { for (int i = 0; i <= formatRecordset.RecordCount; i++) { formatRecordset.MoveTo(i); //判断该图斑是否已经由临时图层导入正式图层 if (formatRecordset.GetGeometry().Bounds.Equals(tempRecordset.GetGeometry().Bounds)) { //取得地块编号 strDkbh = formatRecordset.GetFieldValue("DKBH").ToString(); flag = true; break; } } } //补耕地块录入时同一个旗县可能存在多个复垦项目的情况,该种情况下,判断该项目下是否存在上面处理中取得的地块编号 //获取项目名称值 if (textBox2.Text == "补耕") { sqlQuery.Clear(); sqlQuery.Append("SELECT DKBH AS 地块编号, "); sqlQuery.Append(" FKXMMC AS 所属复垦项目名称, "); sqlQuery.Append(" XMSZXM AS 项目所在县名称 "); sqlQuery.Append(", BZ AS 备注 "); sqlQuery.Append(" FROM " + "BG" + gkfqd.Common.DbUse.GetTownCode(textBox3.Text)); sqlQuery.Append(" WHERE FKXMMC='" + textBox1.Text + "'AND DKBH='" + strDkbh + "'"); gkfqd.Common.DbUse.GetOleDbconnection().Close(); gkfqd.Common.DbUse.GetOleDbconnection().Open(); dataSet6.Clear(); OleDbDataAdapter MyAdapter = new OleDbDataAdapter(sqlQuery.ToString(), gkfqd.Common.DbUse.GetOleDbconnection()); MyAdapter.Fill(dataSet6); gkfqd.Common.DbUse.GetOleDbconnection().Close(); if (dataSet6.Tables[0].Rows.Count > 0) { isExit = true; } //当地块存在,并且该项目名称下有该地块的情况 return(flag && isExit); } return(flag); }
//获取线数据的点集 private Point2Ds GetPoint2DsFromLine(string strFilter) { Point2Ds resPts = null; try { Datasource dtSource = m_Workspace.Datasources[0]; Dataset dtSet = dtSource.Datasets["公路"]; DatasetVector dtVector = dtSet as DatasetVector; Recordset recdst = dtVector.Query(strFilter, CursorType.Static); if (recdst != null && recdst.RecordCount > 0) { Point2Ds pt2Ds = new Point2Ds(); if (recdst.RecordCount > 2) { Random r = new Random(); int iAt = r.Next(0, recdst.RecordCount - 2); recdst.MoveTo(iAt); } while (!recdst.IsEOF) { GeoLine geoLine = recdst.GetGeometry() as GeoLine; if (geoLine != null) { pt2Ds.AddRange(geoLine[0].ToArray()); } recdst.MoveNext(); } if (pt2Ds != null && pt2Ds.Count > 0) { resPts = pt2Ds.Clone(); //对线进行插值平滑处理 int smoothness = 8; resPts = Geometrist.Smooth(pt2Ds, smoothness); } } } catch { } return(resPts); }
private void btnSetCamera_Click(object sender, EventArgs e) { Recordset objRt = null; try { if (lst_Items.SelectedItem == null) { m_Application.MessageBox.Show("请选择分段数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } int id = Convert.ToInt32((lst_Items.SelectedItem as Label).Tag); objRt = (m_Application.Workspace.Datasources["SpaceData"].Datasets[txt_Name.Text.Trim()] as DatasetVector).GetRecordset(false, CursorType.Dynamic); objRt.MoveTo(id); objRt.Edit(); objRt.SetFieldValue("Longitude", m_SceneControl.Scene.Camera.Longitude.ToString()); objRt.SetFieldValue("Latitude", m_SceneControl.Scene.Camera.Latitude.ToString()); objRt.SetFieldValue("Altitude", m_SceneControl.Scene.Camera.Altitude.ToString()); objRt.SetFieldValue("Tilt", m_SceneControl.Scene.Camera.Tilt.ToString()); objRt.SetFieldValue("Heading", m_SceneControl.Scene.Camera.Heading.ToString()); objRt.SetFieldValue("Time", txt_PlaySpeed.Text); objRt.Update(); (m_lstItems[lst_Items.SelectedIndex] as Label).Text = (lst_Items.SelectedItem as Label).Text.Split('(')[0]; lst_Items.DataSource = null; lst_Items.DataSource = m_lstItems; lst_Items.DisplayMember = "Text"; } catch (Exception ex) { Log.OutputBox(ex); } finally { if (objRt != null) { objRt.Close(); objRt.Dispose(); } } }
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { try { Recordset rec = mDataVec.GetRecordset(false, CursorType.Dynamic); int Rowindex = e.RowIndex; //获取修改记录的行索引 int Colindex = e.ColumnIndex; //获取修改记录的列索引 rec.MoveTo(Rowindex); //记录集移到当前索引 object changevalue = dataGridView1.Rows[Rowindex].Cells[Colindex].Value; //获取修改之后的cell值 if (!rec.Dataset.FieldInfos[Colindex].IsSystemField) { rec.Edit();//编辑记录集中该行记录 rec.SetFieldValue(Colindex, changevalue); rec.Update(); } } catch (Exception) { throw; } }
private GeoPoint GetGeoPoint() { GeoPoint geoPt = null; // string strDatasetName = "县面层"; try { Datasource dtSource = m_Workspace.Datasources[0]; Dataset dtSet = dtSource.Datasets[strDatasetName]; DatasetVector dtVector = dtSet as DatasetVector; Recordset recdst = dtVector.Query("gb like '3204%'", CursorType.Static); int nPos = m_Random.Next(0, recdst.RecordCount - 1); recdst.MoveTo(nPos); GeoRegion geoR = recdst.GetGeometry() as GeoRegion; if (geoR != null) { Random r = new Random(); Rectangle2D rect2D = geoR.Bounds; double dx_min = rect2D.Left; double dy_min = rect2D.Bottom; double dx_max = rect2D.Right; double dy_max = rect2D.Top; double xDiff = dx_max - dx_min; double yDiff = dy_max - dy_min; double dx = dx_min + xDiff * r.Next(9, 95) / 100.0; double dy = dy_min + yDiff * r.Next(9, 95) / 100.0; Point2D pt2D = new Point2D(dx, dy); geoPt = new GeoPoint(pt2D); } } catch { } // return(geoPt); }
private void insertData() { #region 属性记录补登 //----------------拼接行政区图形数据存储表名 string tableName = gkfqd.Common.DbUse.GetTownCode(textBox35.Text); //文件上传成功后,文件表插入成功后,更新属性表记录 //获得用于操作的两个数据集 DatasetVector gkfqdDatasetVector = (DatasetVector)gk013Datasource.Datasets[tableName]; DatasetVector tempDatasetVector = (DatasetVector)gk013Datasource.Datasets["temp_gkfqd"]; string strSmid = gk013DataGridViewRow.Cells["SMID"].Value.ToString();//获取smid值 // 构造一个查询参数对象,查询选中的记录 QueryParameter para = new QueryParameter(); para.AttributeFilter = "SMID = " + strSmid; para.CursorType = CursorType.Dynamic; Recordset tempRecordset = tempDatasetVector.Query(para); Recordset gkfqdRecordset = gkfqdDatasetVector.GetRecordset(false, CursorType.Dynamic); //判断添加地块在目标图层是否存在 标记 Boolean flag = false; //临时图层到正式图层用smid string getSmid = ""; if (gkfqdRecordset == null) { flag = false; } else if (gkfqdRecordset.RecordCount > 0) { for (int i = 0; i <= gkfqdRecordset.RecordCount; i++) { gkfqdRecordset.MoveTo(i); if (gkfqdRecordset.GetGeometry().Bounds.Equals(tempRecordset.GetGeometry().Bounds)) { flag = true; break; } } } if (!flag) { //非面数据不能导入 if (tempRecordset.GetGeometry().GetType().Name.ToString() != "GeoRegion") { MessageBox.Show("导入图斑不是面数据,不能导入,请重新选择!"); return; } //------以下为属性字段添加 //地块编号 if (textBox1.Text == "") { MessageBox.Show("请输入地块编号!"); return; } //国有面积 if (textBox2.Text == "") { MessageBox.Show("请输入国有面积!"); return; } //地块位置 if (textBox4.Text == "") { MessageBox.Show("请输入地块位置!"); return; } //集体面积 if (textBox5.Text == "") { MessageBox.Show("请输入集体面积!"); return; } //土源保障情况 if (comboBox9.Text == "") { MessageBox.Show("请输入土源保障情况!"); return; } //地块现状的地形坡度 if (comboBox10.Text == "") { MessageBox.Show("请输入地块现状的地形坡度!"); return; } //水源保障情况 if (comboBox4.Text == "") { MessageBox.Show("请输入水源保障情况!"); return; } //预期复垦更低等级 if (textBox14.Text == "") { MessageBox.Show("请输入预期复垦更低等级!"); return; } //预期地块的地形坡度 if (comboBox16.Text == "") { MessageBox.Show("请输入预期地块的地形坡度!"); return; } //建设用地合法性 if (comboBox1.Text == "") { MessageBox.Show("请选择建设用地合法性!"); return; } //复垦义务人情况 if (comboBox2.Text == "") { MessageBox.Show("请选择复垦义务人情况!"); return; } //查询重复地块编号,若重复则重新输入地块编号 sqlQuery.Clear(); sqlQuery.Append(" SELECT DKBH FROM " + tableName); sqlQuery.Append(" WHERE DKBH ='" + textBox1.Text + "'"); gkfqd.Common.DbUse.GetOleDbconnection().Close(); gkfqd.Common.DbUse.GetOleDbconnection().Open(); DataSetDkbh.Clear(); OleDbDataAdapter MyAdapter = new OleDbDataAdapter(sqlQuery.ToString(), gkfqd.Common.DbUse.GetOleDbconnection()); MyAdapter.Fill(DataSetDkbh); gkfqd.Common.DbUse.GetOleDbconnection().Close(); if (DataSetDkbh.Tables[0].Rows.Count != 0) { MessageBox.Show("该地块编号已经存在,请重新录入!"); return; } //临时图层到正式图层赋值 gkfqdRecordset.AddNew(tempRecordset.GetGeometry()); getSmid = gkfqdRecordset.GetFieldValue("SMID").ToString(); //复垦项目名称 主键 gkfqdRecordset.SetFieldValue("FKXMMC", textBox10.Text); //地块编号 gkfqdRecordset.SetFieldValue("DKBH", textBox1.Text); //地块位置 gkfqdRecordset.SetFieldValue("DKWZ", textBox4.Text); //地块中的国有面积 gkfqdRecordset.SetFieldValue("DKZGYMJ", double.Parse(textBox2.Text)); //地块中的集体面积 gkfqdRecordset.SetFieldValue("DKZJTMJ", double.Parse(textBox5.Text)); //土源保障情况 gkfqdRecordset.SetFieldValue("TYBZQK", comboBox9.Text); //水源保障情况 gkfqdRecordset.SetFieldValue("SYBZQK", comboBox4.Text); //现状地形坡度 gkfqdRecordset.SetFieldValue("XZDXPD", comboBox10.Text); //预期复垦更低等级 gkfqdRecordset.SetFieldValue("YQFKGDDJ", textBox14.Text); //预期地形坡度 gkfqdRecordset.SetFieldValue("YQDXPD", comboBox4.Text); //建设用地合法性 gkfqdRecordset.SetFieldValue("JSYDHF", comboBox1.Text); //复垦义务人情况 gkfqdRecordset.SetFieldValue("FKYWR", comboBox2.Text); //其他规划名称 if (textBox6.Text != null) { gkfqdRecordset.SetFieldValue("QTGHMC", textBox6.Text); } //是否符合 if (checkBox2.Checked == true) { gkfqdRecordset.SetFieldValue("SFFH", "是"); } //是否符合土地利用总体规划 if (checkBox1.Checked == true) { gkfqdRecordset.SetFieldValue("SFFHTDLYZTGH", "是"); } //现状有无污染状况 if (checkBox3.Checked == true) { gkfqdRecordset.SetFieldValue("XZYWWRZK", "有"); } //现状污染状况 if (textBox7.Text != null) { gkfqdRecordset.SetFieldValue("XZWRZK", textBox7.Text); } //现状有无地质灾害隐患 if (checkBox4.Checked == true) { gkfqdRecordset.SetFieldValue("XZYWDZZHYH", "有"); } //交通运输用地 if (textBox9.Text != "") { gkfqdRecordset.SetFieldValue("JTYSYD", double.Parse(textBox9.Text)); } //工业用地 if (textBox25.Text != "") { gkfqdRecordset.SetFieldValue("GYYD", double.Parse(textBox25.Text)); } //其他建设用地 if (textBox11.Text != "") { gkfqdRecordset.SetFieldValue("QTJSYD", double.Parse(textBox11.Text)); } //采矿用地 if (textBox12.Text != "") { gkfqdRecordset.SetFieldValue("CKYD", double.Parse(textBox12.Text)); } //水域及水利设施用地 if (textBox8.Text != "") { gkfqdRecordset.SetFieldValue("SYJSLSSYD", double.Parse(textBox8.Text)); } //地块现状小计 if (textBox13.Text != "") { // double result = double.Parse(textBox9.Text) + double.Parse(textBox25.Text) + double.Parse(textBox11.Text) + double.Parse(textBox12.Text) + double.Parse(textBox8.Text); gkfqdRecordset.SetFieldValue("XZXJ", double.Parse(textBox13.Text)); } //有效土层厚度 if (textBox3.Text != "") { gkfqdRecordset.SetFieldValue("YXTCHD", double.Parse(textBox3.Text)); } //预期有无污染状况 if (checkBox5.Checked == true) { gkfqdRecordset.SetFieldValue("YQYWWRZK", "有"); } //预期污染状况 if (textBox15.Text != null) { gkfqdRecordset.SetFieldValue("YQWRZK", textBox15.Text); } //预期有无地质灾害隐患 if (checkBox6.Checked == true) { gkfqdRecordset.SetFieldValue("YQYWDZZHYH", "有"); } //农村道路 if (textBox16.Text != "") { gkfqdRecordset.SetFieldValue("NCDL", double.Parse(textBox16.Text)); } //耕地 if (textBox18.Text != "") { gkfqdRecordset.SetFieldValue("GD", double.Parse(textBox18.Text)); } //园地 if (textBox17.Text != "") { gkfqdRecordset.SetFieldValue("YD", double.Parse(textBox17.Text)); } //坑塘水面 if (textBox19.Text != "") { gkfqdRecordset.SetFieldValue("KTSM", double.Parse(textBox19.Text)); } //林地 if (textBox20.Text != "") { gkfqdRecordset.SetFieldValue("LD", double.Parse(textBox20.Text)); } //草地 if (textBox21.Text != "") { gkfqdRecordset.SetFieldValue("CD", double.Parse(textBox21.Text)); } //其他农用地 if (textBox22.Text != "") { gkfqdRecordset.SetFieldValue("QTNYD", double.Parse(textBox22.Text)); } //沟渠 if (textBox23.Text != "") { gkfqdRecordset.SetFieldValue("GQ", double.Parse(textBox23.Text)); } //预期地块小计 if (textBox24.Text != "") { // double result = double.Parse(textBox16.Text) + double.Parse(textBox17.Text) + double.Parse(textBox18.Text) + double.Parse(textBox19.Text) + double.Parse(textBox20.Text) + double.Parse(textBox21.Text) + double.Parse(textBox22.Text) + double.Parse(textBox23.Text); gkfqdRecordset.SetFieldValue("YQXJ", double.Parse(textBox24.Text)); } //地块名称 if (textBox26.Text != "") { gkfqdRecordset.SetFieldValue("DKMC", textBox26.Text); } //地块面积(亩) if (textBox27.Text != "") { gkfqdRecordset.SetFieldValue("DKMJ", double.Parse(textBox27.Text)); } //坐标系 if (textBox28.Text != "") { gkfqdRecordset.SetFieldValue("ZBX", textBox28.Text); } //界址点数 if (textBox29.Text != "") { gkfqdRecordset.SetFieldValue("JZDS", double.Parse(textBox29.Text)); } //几度分带 if (textBox30.Text != "") { gkfqdRecordset.SetFieldValue("JDFD", double.Parse(textBox30.Text)); } //精度 if (textBox31.Text != "") { gkfqdRecordset.SetFieldValue("JD", double.Parse(textBox31.Text)); } //计量单位 if (textBox32.Text != "") { gkfqdRecordset.SetFieldValue("JLDW", textBox32.Text); } // 记录图形属性 if (textBox33.Text != "") { gkfqdRecordset.SetFieldValue("JLTCSX", textBox33.Text); } // 投影类型 if (textBox34.Text != "") { gkfqdRecordset.SetFieldValue("TYLX", textBox34.Text); } gkfqdRecordset.Update(); //防止第二次插入 设置按钮不能点 button2.Enabled = false; } else { MessageBox.Show("该图斑已经存在,请确认或重新选择!"); tempRecordset.Dispose(); gkfqdRecordset.Dispose(); return; } tempRecordset.Dispose(); gkfqdRecordset.Dispose(); gk011 frmGk011; frmGk011 = (gk011)this.Owner; frmGk011.RefreshDataGridView(); MessageBox.Show("导入成功!"); #endregion }
public TIC_BIN_DATA GetUTICMachineNumber(string Sn) { //"TIC_EQUIP_ID" = 58 //"TIC_EVENT_DATE" = 59 TIC_BIN_DATA ticdata = new TIC_BIN_DATA(); lock (_lockObject) { string returnMcNo = string.Empty; int autoretry = 1; while (autoretry > 0) { try { FisSession ses = _server.FisSessions(); ses.UnitType = FisApiServer.UNIT_HGA; if (Sn == string.Empty) { Sn = ""; } Recordset rec = ses.RequestRecordset(FisSession.REQUEST_ATTRIBUTE, Sn, "NA"); if (rec.RecordCount() > 0) { bool end = false; bool isEquipfound = false; bool isEventDataFound = false; bool isDockSideDataFound = false; rec.MoveTo(15); while (!rec.Eof() && !end) { if (rec.Fields(rec.GetColumnName(0)).Value.ToUpper().Equals(TIC_BIN_DATA.TIC_PARAM_BIN.TIC_EQUIP_ID.ToString())) { ticdata.EQUIP_ID = rec.Fields(rec.GetColumnName(1)).Value; isEquipfound = true; } else if (rec.Fields(rec.GetColumnName(0)).Value.ToUpper().Equals(TIC_BIN_DATA.TIC_PARAM_BIN.TIC_EVENT_DATE.ToString())) { ticdata.EVENT_DATE = rec.Fields(rec.GetColumnName(1)).Value; isEventDataFound = true; } else if (rec.Fields(rec.GetColumnName(0)).Value.ToUpper().Equals(TIC_BIN_DATA.TIC_PARAM_BIN.DOCKSIDE.ToString())) { ticdata.DOCK_SIDE = rec.Fields(rec.GetColumnName(1)).Value; isDockSideDataFound = true; rec.MoveTo(50); } if (isEquipfound && isEventDataFound && isDockSideDataFound) { rec.MoveLast(); rec.Eof(); end = true; autoretry = 0; } else { rec.MoveNext(); } Thread.Sleep(10); } } ses.CloseSession(); } catch (Exception ex) { throw new Exception(ex.Message); } autoretry--; } return(ticdata); } }
private void insertData() { #region 属性记录补登 //文件上传成功后,文件表插入成功后,更新属性表记录 //获得用于操作的两个数据集 DatasetVector gkfqdDatasetVector = (DatasetVector)gk01dDatasource.Datasets["BG" + gkfqd.Common.DbUse.GetTownCode(textBox4.Text)]; DatasetVector tempDatasetVector = (DatasetVector)gk01dDatasource.Datasets["temp_gkfqd"]; string strSmid = gk01dDataGridViewRow.Cells["SMID"].Value.ToString();//获取smid值 // 构造一个查询参数对象,查询选中的记录 QueryParameter para = new QueryParameter(); para.AttributeFilter = "SMID = " + strSmid; para.CursorType = CursorType.Dynamic; Recordset tempRecordset = tempDatasetVector.Query(para); Recordset gkfqdRecordset = gkfqdDatasetVector.GetRecordset(false, CursorType.Dynamic); //判断添加地块在目标图层是否存在 标记 Boolean flag = false; //临时图层到正式图层用smid string getSmid = ""; if (gkfqdRecordset == null) { flag = false; } else if (gkfqdRecordset.RecordCount > 0) { for (int i = 0; i <= gkfqdRecordset.RecordCount; i++) { gkfqdRecordset.MoveTo(i); if (gkfqdRecordset.GetGeometry().Bounds.Equals(tempRecordset.GetGeometry().Bounds)) { flag = true; break; } } } if (!flag) { //非面数据不能导入 if (tempRecordset.GetGeometry().GetType().Name.ToString() != "GeoRegion") { MessageBox.Show("导入图斑不是面数据,不能导入,请重新选择!"); return; } //------以下为属性字段添加 //项目所在县 if (textBox4.Text == "") { MessageBox.Show("请输入项目所在县!"); return; } //项目名称 if (textBox2.Text == "") { MessageBox.Show("请输入项目名称!"); return; } //备注 if (textBox1.Text == "") { MessageBox.Show("请输入备注!"); return; } //地块编号 if (textBox3.Text == "") { MessageBox.Show("请输入地块编号!"); return; } if (button1.Text != "更新") { //查询重复项目名称 sqlQuery.Clear(); sqlQuery.Append(" SELECT DKBH FROM " + "BG" + gkfqd.Common.DbUse.GetTownCode(textBox4.Text)); sqlQuery.Append(" WHERE DKBH ='" + textBox3.Text + "'"); gkfqd.Common.DbUse.GetOleDbconnection().Close(); gkfqd.Common.DbUse.GetOleDbconnection().Open(); dataSet.Clear(); OleDbDataAdapter MyAdapter = new OleDbDataAdapter(sqlQuery.ToString(), gkfqd.Common.DbUse.GetOleDbconnection()); MyAdapter.Fill(dataSet); gkfqd.Common.DbUse.GetOleDbconnection().Close(); if (dataSet.Tables[0].Rows.Count != 0) { MessageBox.Show("该地块编号已经存在,请重新录入!"); return; } } //临时图层到正式图层赋值 gkfqdRecordset.AddNew(tempRecordset.GetGeometry()); //所属复垦项目名称 主键 gkfqdRecordset.SetFieldValue("FKXMMC", textBox2.Text); //地块编号 gkfqdRecordset.SetFieldValue("DKBH", textBox3.Text); //备注 gkfqdRecordset.SetFieldValue("BZ", textBox1.Text); //项目所在县名 gkfqdRecordset.SetFieldValue("XMSZXM", textBox4.Text); gkfqdRecordset.Update(); //插入记录成功后防止再次点击插入设置按钮不可用 button1.Enabled = false; } else { MessageBox.Show("该图斑已经存在,请确认或重新选择!"); tempRecordset.Dispose(); gkfqdRecordset.Dispose(); return; } tempRecordset.Dispose(); gkfqdRecordset.Dispose(); gk011 frmGk011; frmGk011 = (gk011)this.Owner; frmGk011.RefreshDataGridView(); MessageBox.Show("导入成功!"); #endregion }