private void select(Object geoObj, SelectionType selType) { //设置web查询参数 CLayerSelectParam mapsel = new CLayerSelectParam(); CWebSelectParam websel = new CWebSelectParam(); websel.CompareRectOnly = this.vectorLayer.CompareRectOnly; websel.Geometry = geoObj; //几何查询范围 if (geoObj != null) //几何查询图形类型 { websel.GeomType = (geoObj as IWebGeometry).GetGeomType(); } websel.MustInside = this.vectorLayer.MustInside; //查询要素是否在图形里面 websel.NearDistance = 0; // this.vectorLayer.NearDistanse;//查询半径 websel.SelectionType = selType; //查询类型:几何 mapsel.WebSelectParam = websel; //web查询参数对象 mapsel.PageCount = 0; //查询起始页数 this.layer_dataView._lastSelectParam = mapsel; //调用矢量图层的查询方法查询 this.vectorLayer.LayerSelectAndGetAtt(mapsel, this.layer_dataView.SelectCallback); if (this.HightLight.IsChecked == true) {//高亮显示:传入地图容器对象、查询参数、绘图层对象、矢量图层对象 drawHighLight.AddhighLightFeatures(this.iMSMap1, mapsel, this.graphicsLayer1, this.vectorLayer); drawHighLight.reflash(); } }
/// <summary> /// 图层查询 /// </summary> /// <param name="geoObj">查询空间范围对象</param> /// <param name="selType">查询类型</param> /// <param name="page">结果记录页码</param> /// <param name="condition">查询条件</param> internal void Select(Object geoObj, SelectionType selType, int page = 0, string condition = "") { if (m_catalog.ActiveLayerObj == null) { MessageBox.Show("请选择一个活动的矢量图层!", "提示", MessageBoxButton.OK); return; } dataPager1.PageIndexChanged -= new EventHandler <EventArgs>(dataPager1_PageIndexChanged); CLayerSelectParam mapsel = new CLayerSelectParam(); CWebSelectParam websel = new CWebSelectParam(); websel.CompareRectOnly = m_catalog.ActiveLayerObj.CompareRectOnly; websel.Geometry = geoObj; if (geoObj != null) { websel.GeomType = (geoObj as IWebGeometry).GetGeomType(); } websel.MustInside = m_catalog.ActiveLayerObj.MustInside; websel.NearDistance = m_catalog.ActiveLayerObj.NearDistanse; websel.SelectionType = selType; websel.WhereClause = condition; mapsel.WebSelectParam = websel; mapsel.PageCount = page; _lastSelectParam = mapsel; m_catalog.ActiveLayerObj.LayerSelectAndGetAtt(mapsel, new UploadStringCompletedEventHandler(SelectCallback)); }
/// <summary> /// 查询事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void select_Click(object sender, RoutedEventArgs e) { if (this.sql.Text != "") { CSetEnumLayerStatus setLayerStatus; setLayerStatus = new CSetEnumLayerStatus(); setLayerStatus.GdbIndex = 0; setLayerStatus.LayerStatus = new EnumLayerStatus[1]; setLayerStatus.LayerStatus[0] = EnumLayerStatus.Editable; this.vectorLayer.SetEnumLayerStatus(setLayerStatus, onSetSingleLayerStatus); //设置web查询参数 CLayerSelectParam mapsel = new CLayerSelectParam(); CWebSelectParam websel = new CWebSelectParam(); websel.CompareRectOnly = this.vectorLayer.CompareRectOnly; websel.Geometry = null; websel.MustInside = this.vectorLayer.MustInside; //查询要素是否在图形里面 websel.NearDistance = this.vectorLayer.NearDistanse; //查询半径 websel.SelectionType = SelectionType.Condition; //查询类型:属性 websel.WhereClause = this.sql.Text; //查询sql语句 mapsel.WebSelectParam = websel; //web查询参数对象 mapsel.PageCount = 0; //查询起始页数 this.layer_dataView._lastSelectParam = mapsel; //调用矢量图层的查询方法查询 this.vectorLayer.LayerSelectAndGetAtt(mapsel, this.layer_dataView.SelectCallback); if (this.HightLight.IsChecked == true) {//高亮显示:传入地图容器对象、查询参数、绘图层对象、矢量图层对象 drawHighLight.AddhighLightFeatures(this.iMSMap1, mapsel, this.graphicsLayer1, this.vectorLayer); } } else { MessageBox.Show("查询参数为空!"); return; } }
/// <summary> /// 选择要素 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void selFeature() { CLayerSelectParam mapsel = new CLayerSelectParam(); CWebSelectParam websel = new CWebSelectParam(); websel.Geometry = obj1; websel.CompareRectOnly = this.IMSCatalog.ActiveLayerObj.CompareRectOnly; websel.GeomType = (obj1 as IWebGeometry).GetGeomType(); websel.NearDistance = this.IMSCatalog.ActiveLayerObj.NearDistanse; websel.SelectionType = SelectionType.SpatialRange; websel.MustInside = this.IMSCatalog.ActiveLayerObj.MustInside; mapsel.WebSelectParam = websel; mapsel.PageCount = 0; this.IMSCatalog.ActiveLayerObj.LayerSelectAndGetAtt(mapsel, setFeature); }
public void OnSetAllEnumLayerStatusCallBack(object sender, UploadStringCompletedEventArgs e) { COperResult operRlt = this._vLayer.OnSetAllEnumLayerStatus(e); if (operRlt.OperResult) { CLayerSelectParam layerSelectParam = new CLayerSelectParam(); layerSelectParam.PageCount = 0; layerSelectParam.WebSelectParam = new CWebSelectParam(); layerSelectParam.WebSelectParam.SelectionType = SelectionType.Condition; layerSelectParam.WebSelectParam.WhereClause = ""; _lastSelectParam = layerSelectParam; this._vLayer.LayerSelectAndGetAtt(layerSelectParam, new UploadStringCompletedEventHandler(SelectCallback)); } else { MessageBox.Show(operRlt.ErrorInfo); } }