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. 1.python系统性能信息模块之psutil模块

    Psutil(进程和系统实用程序)是一个跨平台的库,用于在Python中检索有关运行进程和系统资源利用率(CPU,内存,磁盘,网络)的信息.它主要用于系统监视,分析和限制系统资源及运行进程的管理.它实 ...

  2. CORS同源策略

    同源策略以及跨域资源共享在大部分情况下针对的是Ajax请求.同源策略主要限制了通过XMLHttpRequest实现的Ajax请求,如果请求的是一个“异源”地址,浏览器将不允许读取返回的内容. 支持同源 ...

  3. Which Uri Encoding method should i use in C#/.net?

    June 19, 2015 This too is one of the boring "factual" posts. Sorry Lachlan. I never know w ...

  4. Linq 左连接 left join

    Suppose you have a tblRoom and tblUserInfo. Now, you need to select all the rooms regardless of whet ...

  5. .net core MVC 通过 Filters 过滤器拦截请求及响应内容

    前提: 需要nuget   Microsoft.Extensions.Logging.Log4Net.AspNetCore   2.2.6: Swashbuckle.AspNetCore 我暂时用的是 ...

  6. MVC上的jsonp扩展,解决跨域访问问题

    总是有人会遇到跨域问题,然后有个jsonp的解决方案,MVC中代码如下: public class JsonpResult : System.Web.Mvc.JsonResult { object d ...

  7. Winform中的DatagridView显示行号

    1.设置 RowPostPaint 为true 2.启用RowPostPaint事件 /// <summary> /// DataGridView显示行号 /// </summary ...

  8. 数据库抽象层 pdo

    一 . PDO的连接 $host = "localhost"; $dbname = "hejuntest"; $username = "root&qu ...

  9. linux下关闭防火墙命令

    今天使用linux虚拟机搭建jenkins,但是在虚拟机内部使用浏览器可以访问jenkins主页,在物理机上却无法访问jenkins主页,查找原因后是因为linux虚拟机没有关闭防火墙,关闭防火墙后, ...

  10. dota有哪些经典的典故或笑话?

    ----------------------------------------------------dota有哪些经典的典故或笑话?虽然现在玩游戏也没什么热情了, 但是看到这些还是笑尿,笑点低 = ...