📄 clsgispub.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 + -