コード例 #1
0
        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();
            }
        }
コード例 #2
0
        /// <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));
        }
コード例 #3
0
 /// <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;
     }
 }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        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);
            }
        }