1. 功能简介

地图图层控制就是图层的相关操作,如地图图层数据的添加、删除、移动和拖拽等功能。

2. 功能实现说明

2.1. 实现思路及原理说明

第一步

图层添加是调用AddLayer方法将图层添加到地图中

第二步

图层删除是调用Delete方法将指定索引的图层删除

第三步

图层移动是调用MoveLayerTo方法将指定的图层移动到指定的索引位置

2.2 . 核心接口与方法

接口/类

方法/属性

说明

PIE.AxControls.MapControl

AddLayer

添加图层

DeleteLayer

删除图层

MoveLayer

移动图层到指定位置

PIE.Carto.LayerFactory

CreateDeFaultLayer

创建默认图层

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/02.地图操作/02.地图图层控制

数据路径

百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif

视频路径

百度云盘地址下/PIE视频教程/02.地图操作/02.地图图层控制.avi

示例代码

        /// 添加图层
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_AddLayer_Click(object sender, EventArgs e)
{
//1、获取数据路径
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Title = "加载数据";
openFileDialog.Filter = "Shape(*.shp)|*.shp|RasterData(*.tiff)|*.tiff;*.tif";
if (openFileDialog.ShowDialog() != DialogResult.OK) return;
//2、获取layer
ILayer layer = LayerFactory.CreateDefaultLayer(openFileDialog.FileName);
//3、添加图层并刷新
mapControlMain.ActiveView.FocusMap.AddLayer(layer, );
mapControlMain.ActiveView.PartialRefresh(ViewDrawPhaseType.ViewAll);
}
/// <summary>
/// 删除图层
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_DeleteLayer_Click(object sender, EventArgs e)
{
if (mapControlMain.FocusMap.LayerCount < ) return;
//删除索引为0图层
ILayer layer = mapControlMain.ActiveView.FocusMap.GetLayer();
mapControlMain.ActiveView.FocusMap.DeleteLayer(layer);
} /// <summary>
/// 移动图层
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_MoveLayer_Click(object sender, EventArgs e)
{
if (mapControlMain.FocusMap.LayerCount < ) return;
ILayer layer = mapControlMain.ActiveView.FocusMap.GetLayer();
mapControlMain.ActiveView.FocusMap.MoveLayer(layer,);
}

2.4. 示例截图

PIE SDK地图图层控制的更多相关文章

  1. PIE SDK地图图层渲染方案管理

    1. 功能简介 在数据种类较多.渲染规则复杂的情况下,逐个设置其渲染方式是一件繁琐的工作.PIE SDK提供了一种省力省心的办法, PIE SDK提供栅格和矢量数据渲染方案的打开与保存.能够将配色方案 ...

  2. PIE SDK地图范围设置和图层事件监听

    1. 功能简介 地图范围设置的监听就是通过IMapControlEvents接口对地图的视图范围更新或者地图的分辨率发生变化进行监听,然后做出相应的操作. 图层事件的监听就是通过IActiveView ...

  3. PIE SDK地图范围设置

    1.功能简介 地图范围设置主要就是对图层的地图浏览控制,例如地图的放大.缩小.漫游.全图显示.1:1视图.比例尺等功能,能更好的与地图有一个互动的地图浏览体验.PIE SDK对地图范围设置主要利用IC ...

  4. PIE SDK栅格增强控制

    1. 功能简介 亮度是指发光体(反光体)表面发光(反光)强弱的物理量:对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量:透明度是描述光线透过的程度 栅格数据增强控制主要是通过对亮 ...

  5. PIE SDK栅格拉伸控制

    1. 功能简介 在我们的实际应用中,对于一般16bit或者更大比特深度的影像,像元值都是大于255的.这种情况下,RGB的显示器是不能够直接使用像元值进行显示的,需要将像元值换算到0~255的区间内以 ...

  6. PIE SDK地图鹰眼图

    鹰眼图,是GIS的一个基本功能,在鹰眼图上可以像从空中俯视一样查看地图框中所显示的地图在整个图中的位置,是对全局地图的一种概述表达,能够起到很好的空间提示和导航的作用.网上有很多Arcengine 二 ...

  7. PIE SDK地图平移校正

    地图平移校正,当加载两幅空间参考一样的影像,其中一幅影像有点偏移,这时就以另一幅影像为基准将其进行平移校正,然后保存,再次加载就不会出现偏移了. 下面来介绍下实现的主要代码: 首先通过选中目录树中的要 ...

  8. PIE SDK栅格图层渲染变化事件监听

    1. 功能简介 通过PIE SDK加载图层后,会默认的赋值给数据一个渲染.当用户重新给数据赋值Render或改变数据显示效果时,会触发渲染变化事件. 所谓的事件监听是在事件触发时,将执行用户指定的函数 ...

  9. PIE SDK地图放大镜

    放大镜,在地图的浏览过程中在主地图和次地图中起到很好的辅助作用, 要实现放大镜功能主要就是通过两个mapControl控件,主地图控件是mapControlMain,放大镜控件是UserControl ...

随机推荐

  1. Mac OS 10.8 中的 OpenGL 开发环境设置(转)

    转自:http://www.th7.cn/Program/cp/201305/137743.shtml 一.XCode 4.5 在项目的"Build Phases">&quo ...

  2. DataAnnotationsModelValidator-基于数据注解方式的model验证器

    http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html http://www.cnblogs.com/artech/ar ...

  3. 对request,session,application作用域形象理解

    看到一篇比较有意思的文章,分享一下.原网址:http://blog.csdn.net/rushkid02/article/details/8063792 几乎所有的Web开发语言都支持Session功 ...

  4. C++小学生四则运算_余伟淇_郑鉴

    https://github.com/kielingpao/sizeyunsuan 项目相关要求 1题目:实现一个自动生成小学四则运算题目的命令行程序 2说明 自然数:0, 1, 2, ….• 真分数 ...

  5. 个人项目:wc程序(java)

    Github项目地址:https://github.com/jat0824/wc.git 项目相关要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行 ...

  6. C#分布式存储演练(提供项目下载)

    C#简单的演练了一下分布式的存储,学习fastdns的结构,Client向ProcessCenter请求Storage的服务,然后上传文件. 分布式服务就是多个服务器作为客户端互相[配合],要中心化就 ...

  7. 华硕X550VC安装ubuntu后wifi无法连接问题

    在网上找了很多资料比如重新编译内核,想办法连上有线网络然后更新驱动,下载离线驱动安装包…… 等等方法 其中有些方法实际测试的时候失败了,文章是几年前的,可能缺少某些依赖.上个网都这么麻烦实在让人疲惫. ...

  8. 第0篇 Python前言

    1.注释 1)注释的作用: 用自己熟悉的语言在代码中添加注释,方便后期自己查看和理解,也方便其他人查看和理解代码含义. 2)单行注释: 以#号开头,#后面的所有内容均不会被程序执行,起到辅助说明的作用 ...

  9. 多线程《四》Thread对象的其他属性和方法

    Thread对象的其他属性或方法 介绍 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. th ...

  10. python文件操作-修改文件中的内容

    一.文件读写有缓冲区 fw = open('nhy','w') fw.write('sdfsdf') fw.flush()# 把缓冲区里面的数据立即写到磁盘上 fw.close() 二.with的用法 ...