AE按行政区范围加载图层数据(转载)
比方说我想获取河南省的数据只需传入行政区图层中河南省图元的Geometry即可。另外如果如果遇到行政区层必须用 esriSpatialRelEnum.esriSpatialRelContains这个参数,否则行政区这个图层就不能只获取河南这个省份,它会把河南省的周围省份,河北,湖北,安徽,陕西,山东,山西等省份的图元也添加创建到新图层。
/// <summary>
/// 按行政区范围创建行政区范围的图层
/// </summary>
/// <param name="pFeatureLayer">源数据图层</param>
/// <param name="pGeometry">行政区范围</param>
/// <param name="bXZQ">图层是否为行政区</param>
/// <returns>新创建的图层</returns>
private IFeatureLayer GetSelectionLayer(IFeatureLayer pFeatureLayer, IGeometry pGeometry,bool bXZQ)
{
try
{
if (pFeatureLayer != null && pGeometry != null)
{
IQueryFilter pQueryFilter;
ISpatialFilter pSpatialFilter = new SpatialFilterClass();
IFeatureSelection pFeatureSelection = pFeatureLayer as IFeatureSelection;
pSpatialFilter.GeometryField = pFeatureLayer.FeatureClass.ShapeFieldName;
pFeatureSelection.Clear();
if (!bXZQ)
{
pSpatialFilter.Geometry = pGeometry;
pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;
pQueryFilter = pSpatialFilter;
pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultNew, false);
}
else
{
pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelContains;
pQueryFilter = pSpatialFilter;
if(pGeometry is IGeometryCollection)
{
for (int i = 0; i < (pGeometry as IGeometryCollection).GeometryCount; i++)
{
pSpatialFilter.Geometry = (pGeometry as IGeometryCollection).get_Geometry(i);
pFeatureSelection.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultAdd, false);
}
}
}
IFeatureLayerDefinition pFLDefinition = pFeatureLayer as IFeatureLayerDefinition;
IFeatureLayer pNewFeatureLayer = pFLDefinition.CreateSelectionLayer(pFeatureLayer.Name ,true, null, null);
pNewFeatureLayer.MaximumScale = pFeatureLayer.MaximumScale;
pNewFeatureLayer.MinimumScale = pFeatureLayer.MinimumScale;
pNewFeatureLayer.Selectable = pFeatureLayer.Selectable;
pNewFeatureLayer.Visible = pFeatureLayer.Visible;
pNewFeatureLayer.ScaleSymbols = pFeatureLayer.ScaleSymbols;
return pNewFeatureLayer;
}
else
{
return null;
}
}
catch (Exception Err)
{
MessageBox.Show(Err.Message, "获取SelectionLayer", MessageBoxButtons.OK, MessageBoxIcon.Information);
return null;
}
}
}
原文地址:http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=34165&extra=&page=1
如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
作 者:温景良
文章出处:http://wenjl520.cnblogs.com/ 或 http://www.cnblogs.com/
关注 - 32
粉丝 - 161
» 下一篇:关键字过滤(转载)
【推荐】腾讯云新用户域名抢购1元起,抓紧抢购
· 精准率首次超过人类!阿里巴巴机器阅读理解打破世界纪录
· 技术帖:每天被今日头条推送文章 背后的算法技术是什么?
· 支付宝实体版老黄历问世:全球限量1000册
· 趣店被蚂蚁金服送上纽交所,现在是时候该独立了
· 蚂蚁宝卡升级:支付宝/微博即将免流
» 更多新闻...
· 以操作系统的角度述说线程与进程
· 软件测试转型之路
· 门内门外看招聘
· 大道至简,职场上做人做事做管理
» 更多知识库文章...
公告
hit counter dreamweaver
AE按行政区范围加载图层数据(转载)相关推荐
- 分图层加载CAD数据
#region 分图层加载CAD数据 private void btnAddCADByLayer_Click(object sender, EventArgs e) {IWorkspaceFactor ...
- AE加载不同数据的方法
先看一下GeoDatabase核心结构模型图: 1 工作空间工厂WorkspaceFactory对象 WorkspaceFactory是GeoDatabase的入口,是一个抽象类,拥有很多子类,例如S ...
- 【ArcGIS风暴】ArcGIS Editor for OSM中文教程(2):下载及加载OSM数据
本文讲解在ArcGIS中借助OpenStreetMap工具下载并加载OSM数据. 文章目录 1. 下载OSM数据 2. 加载OSM数据 1. 下载OSM数据 在工具箱中双击Download OSM D ...
- WebGIS——Openlayers加载图层
Openlayers加载图层 一.创建Html文件并在body中放入一个Div作为地图显示的容器 <body><div id="map" class=" ...
- Cesium基础知识-加载json数据
viewer = new Cesium.Viewer('cesiumContainer'); //加载json数据生成线 function CreateLineFromJson(params) { / ...
- ArcGIS Runtime SDK for .Net 100.6 如何加载本地数据
由于ArcGIS Engine的32位.部署繁重.不适应新一代Web GIS的发展等缺点,Esri推出了ArcGIS Runtime产品,该产品因其64位.部署轻便.跨平台.更好地适应新一代Web G ...
- Cesium开发基础笔记总结(加载影像、加载地形数据、加载矢量)
Cesium开发基础笔记总结 学习总结于GIS李胜老师博客 Cesium开发基础01加载影像数据 加载影像数据 Cesium中的影像图层类: 无论是二维地图还是三维地图,如果缺少了底图影像或电子地图, ...
- autoware加载地图数据与使用rosbag包建图(三)
autoware加载地图数据(三) 介绍如何为autoware加载地图数据 启动autoware $ cd ~/autoware.ai $ source install/setup.bash $ ro ...
- Naigos PNP图无法加载最新数据
Naigos PNP图无法加载最新数据 前几天IDC断电,设备全部重启,导致nagios pnp图无法正常加载,经过排查发下如下几点状况: 1,查看log日志,并没有报错. 2,npcd没有正常运行, ...
最新文章
- 一些知识点的初步理解_4(协方差矩阵,ing...)
- 实训09.10:HTML简单表格设计
- c#winform演练 ktv项目 制作歌曲播放列表
- 04737 c++ 自学考试2019版 第二章课后程序设计题 3
- mysql远程连接打不开_MySql远程连接无法打开解决办法
- antd如何获取表单的值_JavaScript多个表单序列化获取值
- [转载] 算法导论:分治法,python实现合并排序MERGE-SORT
- synchronized的使用(一)
- 基于Python-turtle库绘制哆啦A梦
- 10.Java面向对象(一)
- 2015百度之星资格赛.1004放盘子(数学推导)
- 投资学翻译及感悟 Lazy Prices
- Phase2 Day20 事务 索引
- 关于PLC手册中的源型和漏型
- 删除的vue怎么找回_vue详情 恢复 删除
- IP-guard如何实现远程控制或远程文件传送时,不在客户端弹出授权提示
- 比起结果过程更加重要
- 自适应均衡器的设计与仿真
- 3d mark android 版本,安卓版3D Mark软件介绍及使用方法
- keepalived脚本健康检查