⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsgispub.cs

📁 以构建的方式来实现对通用的查询统计
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;


namespace dist.hb.EnvQueryStat.Pub
{
  public class clsGISPub
  {

    public static string GetSpacialField(string layer)
    {
      if (layer == XXQH_TYPE.CPROV) return "prov_code";
      else if (layer == XXQH_TYPE.CDIST) return "dist_code";
      else if (layer == XXQH_TYPE.CCNTY) return "cnty_code";
      return "qydm";
    }

    public static IFeatureLayer FindFeatureLayer(IMap Map, string layername)
    {
      if (Map == null) return null;
      IEnumLayer pEnumLayer = null;

      UID uid = new UIDClass();
      uid.Value = "{40A9E885-5533-11d0-98BE-00805F7CED21}";
      try
      {
        pEnumLayer = Map.get_Layers(uid, true);
      }
      catch (Exception e)
      {
        ;
      }

      if (pEnumLayer == null) return null;
      pEnumLayer.Reset();
      ILayer pLayer;
      pLayer = pEnumLayer.Next();
      while (pLayer != null)
      {
        if (pLayer.Name == layername)
        {
          return (IFeatureLayer)pLayer;
        }
        pLayer = pEnumLayer.Next();
      }
      return null;
    }

    public static int FindLayerIndex(IMap Map, string layername)
    {
      if (Map == null) return -1;
      for (int i = 0; i < Map.LayerCount; i++)
      {
        ILayer layer = Map.get_Layer(i);
        if (layer.Name == layername) return i;
      }
      return -1;
    }

    //在一个记录集中查询在pGeo几何体中的对象
    public static IFeatureCursor InSearch(IFeatureClass pFClass, IGeometry pGeo, string strQueryFilter,
                                     esriSpatialRelEnum esriSRE)//esriSpatialRelContains
    {
      if (pFClass == null || pGeo == null) return null;
      ISpatialFilter pSpatialFilter = new SpatialFilterClass();
      pSpatialFilter.Geometry = pGeo;
      pSpatialFilter.SpatialRel = esriSRE;
      pSpatialFilter.WhereClause = strQueryFilter;
      return pFClass.Search(pSpatialFilter, true);
    }

    public static IFeatureCursor SearchFeature(IFeatureClass pFClass, string strQueryFilter)
    {
	    if(pFClass == null) return null;
	    IFeatureCursor pCur;
	    if(strQueryFilter != "")
	    {
		    IQueryFilter pQFilter = new QueryFilterClass();
        pQFilter.WhereClause = strQueryFilter;
        pCur = pFClass.Search(pQFilter, false);
	    }
      else pCur = pFClass.Search(null, false);
	    return pCur;	
    }

  }



}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -