搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
GIS专题开发与设计实验教程
0.00     定价 ¥ 59.00
罗湖图书馆
此书还可采购10本,持证读者免费借回家
  • ISBN:
    9787030700414
  • 作      者:
    胡引翠,等
  • 出 版 社 :
    科学出版社
  • 出版日期:
    2021-10-01
收藏
畅销推荐
精彩书摘
第一部分 基于DotSpatial的桌面GIS开发系列实验
  实验1-1 地理数据加载与地图浏览
  DotSpatial以控件方式提供地理数据的加载、展示和分析功能。 DotSpatial是开源软件,组件核心为 DotSpatial.Controls.dll动态链接库,特点是代码完全开放,类库可供其他程序直接调用。使用者可以从其官网上下载源代码供个人修改研发。
  (1)实验目的:通过地理数据加载与地图浏览实习,熟悉在.NET环境和 Visual Studio平台下搭建和运行 DotSpatial类库,初步了解开源桌面 GIS的二次开发模式,初步认识 DotSpatial类库的基本组织架构,初步掌握 DotSpatial主要控件的功能和特性,并使用 DotSpatial类库加载矢量和栅格数据的方法,实现对地图视图的基本浏览操作。
  (2)相关实验: GIS专业实验设备与环境配置中的“ GIS应用开发环境”和“ GIS应用开发资源”。
  (3)实验数据:本教材系列实验数据。
  (4)实验环境: Visual Studio2010、DotSpatial 1.7库、.NET Framework 4.0框架、C#编程语言。
  (5)实验内容:通过在 Visual Studio下加载 DotSpatial类库,添加 DotSpatial控件,初步熟悉利用 DotSpatial进行二次开发的环境搭建过程和控件的简单操作;通过在 Visual Studio下使用 Map控件和代码编写一个窗体应用程序实现加载矢量和栅格数据的功能;通过在 Visual Studio下使用 Map控件和代码编写一个窗体应用程序实现对地图的放大、缩小、漫游、居中等基本视图操作功能。
  1.环境初识
  启动 Visual Studio2010,依次选择“文件”→“新建”→“项目”,弹出“新建项目”对话框,如图1-1-1所示。选择 Visual C#项目模板,再选择项目类型为 Windows窗体应用程序,输入项目名称并选择项目位置,点击“确定”按钮后,则成功新建一个 WinFrom窗体程序,并自动生成一个名为 From1的窗体。
  图1-1-1 新建窗体应用程序界面
  在窗体设计界面的工具箱上右击空白处,选择“添加选项卡”并命名为“DotSpatial”,鼠标右击 DotSpatial选项卡,选择“选择项”,则弹出“选择工具箱项”对话框。选择“.NET Framework组件”,如图1-1-2所示,点击“浏览”按钮,在弹出的对话框中找到本地的 DotSpatial.Controls.dll文件(其打包了一系列 GIS桌面开发所需的基本控件),如图1-1-3所示,点击“确定”后工具箱中出现常用的 DotSpatial相关控件。
  图1-1-2 工具箱加载 DotSpatial控件界面
  图1-1-3 本地 DotSpatial.Controls.dll文件界面
  右击解决方案资源管理器中的项目名称,选择添加引用,从“浏览”中找到本地的4个文件,如图1-1-4所示,点击“确定”后,工程引用中出现了添加的 DotSpatial库。
  设置好后,右击解决方案中的项目名称,选择属性,如图1-1-5所示,在属性窗体中选择目标框架为“.NET Framework 4”版本后,将配置完成 DotSpatial的开发环境。
  图1-1-4 添加 DotSpatial库引用界面
  图1-1-5 项目属性界面
  自主练习:创建新工程,配置完成 DotSpatial的开发环境。
  2.地理数据加载
  DotSpatial可加载矢量和栅格数据:矢量数据支持 ERSI公司的 shp格式,而栅格数据支持 bgd、tif、jpg、bmp等多种格式。DotSpatial自带 Legend控件,不需要编写烦琐的代码程序就能实现基本的图层管理功能。程序设计时可拖拽 Legend控件到主窗体上,并将 Map控件属性中的 Legend属性设置为 Legend1即可。但通常利用代码方式进行程序开发,本实验将全部使用代码编写。
  将工具箱中的 Map控件拖拽到主窗体中,再拖拽两个 Button按钮到主窗体中,分别命名为“btnLoad”和“btnClear”,按钮文本为“添加图层”和“删除图层”。分别双击“添加图层”和“删除图层”按钮,并在按钮的事件中编写相应的代码。
  DotSpatial提供了如下加载不同类型数据的方法:
  map1.AddLayer();//加载单个矢量或栅格图层
  map1.AddLayers();//加载多个矢量或栅格图层
  map1.AddFeatureLayer();//加载单个矢量图层
  map1.AddRasterLayer();//加载单个栅格图层
  map1.AddFeatureLayers();//加载多个矢量图层
  map1.AddRasterLayers();//加载多个栅格图层
  map1.AddImageLayer();//加载单个位图图层
  map1.AddImageLayers(); //加载多个位图图层
  map1.ClearLayers();//删除所有图层
  本实验代码如下:
  using DotSpatial.Controls;
  //加载矢量或栅格数据
  private void btnLoad_Click(object sender, EventArgs e)
  {
   map1.AddLayer();
  }
  //删除所有图层
  private void btnClear_Click(object sender, EventArgs e)
  {
   map1.ClearLayers();
  }
  点击 Visual Studio的启动调试项,运行程序,出现程序主界面,点击“添加图层”按钮,在弹出的选择文件对话框中分别选择本地 shp和 tif格式的数据,矢量数据和栅格数据添加分别如图1-1-6和图1-1-7所示。 Map控件中将分别显示矢量和栅格图层。点击“删除图层”按钮将删除界面的所有图层。
  自主练习:完善按钮的事件中对应的添加地图数据的相应代码,实现添加矢量数据、栅格数据。
  3.地图浏览
  图层视图操作只需调用 DotSpatial已经封装好的方法即可,如放大、缩小、漫游、居中、选择等功能。
  图1-1-6 添加矢量数据界面
  图1-1-7 添加栅格数据界面
  拖拽4个 Button按钮到主窗体中,分别命名为“ btnZoomIn”“btnZoomOut”“btnPan”“btnExtent”,按钮文本分别为“放大”“缩小”“漫游”“居中”。分别双击各个按钮,并在按钮的事件中编写相应的代码。
  实验代码如下:
  using DotSpatial.Controls;
  //放大地图
  private void btnZoomIn_Click(object sender, EventArgs e)
  {
  map1.FunctionMode = FunctionMode.ZoomIn;
  }
  //缩小地图
  private void btnZoomOut_Click(object sender, EventArgs e)
  {
  map1.FunctionMode = FunctionMode.ZoomOut;
  }
  //漫游地图
  private void btnPan_Click(object sender, EventArgs e)
  {
   map1.FunctionMode = FunctionMode.Pan;
  }
  //居中显示地图
  private void btnExtent_Click(object sender, EventArgs e)
  {
   map1.ZoomToMaxExtent();
  }
  运行程序,加载地图,点击“放大”按钮,在界面上选中要放大的区域后松开鼠标,该区域将按比例放大;而点击“漫游”按钮,则可拖动鼠标实现地图平移。点击其他按钮执行操作可出现相应结果。放大、居中、漫游等代码运行效果如图1-1-8~图1-1-10所示。
  图1-1-8 放大地图界面
  图1-1-9 居中显示地图界面
  图1-1-10 漫游地图界面
  自主练习:完善各按钮的事件中对应的地图浏览的相应代码,实现数据的放大、缩小、漫游、全图显示。
  实验1-2地理要素查询与检索
  DotSpatial的 Map控件中,已集成好图形查询功能,点击地图区域即可弹出属性对话框,但通常需要在属性表窗体上进行属性值修改。本节实验主要完成地理要素查询检索功能的开发。
  (1)实验目的:通过地理要素查询与检索实验,进一步了解 DotSpatial主要控件的功能和特性,初步掌握使用 DotSpatial类库从空间图形查询属性和从属性查询检索图形信息的方法。
  (2)相关实验:实验1-1地理数据加载与地图浏览。
  (3)实验数据:本教材系列实验数据。
  (4)实验环境: Visual Studio2010、DotSpatial 1.7库、.NET Framework 4.0框架、C#编程语言。
  (5)实验内容:通过在 Visual Studio下使用 Map控件和代码编写一个窗体应用程序,实现由点选和框选图形查询空间数据属性的功能;通过在 Visual Studio下使用 Map控件和代码编写一个窗体应用程序,实现根据属性条件查询图形和检索空间数据的功能。
  1.由空间图形查询属性
  本节实验要求编写代码实现图形选择、弹出属性表窗体功能。
  弹框显示要素信息代码为
  this.map1.FunctionMode = FunctionMode.Info;
  1)选择图斑事件编辑
  按照本章实验1-1的步骤添加 Map控件和加载、删除、放大、缩小图层的 Button按钮并编写好相应代码。拖拽一个 Button按钮到主窗体中,命名为“ btnSelect”,按钮文本为“选择图斑”,在按钮的事件中编写相应的代码。右击主窗体,在属性事件中双击 Form1_Load编写窗体初始化代码,修改加载图层按钮中的方法并绑定到 Map控件中的 Load事件下。
  实验代码如下:
  using DotSpatial.Controls;
  //定义当前选择图层
   IMapFeatureLayer currentLayer = null;
  //定义选择图斑方法
  MapFunctionSelect selectFunction = null;
  //窗体初始化
  private void Form1_Load(object sender, EventArgs e)
  {
  selectFunction1= new MapFunctionSelect(this.map1);
  this.map1.MapFunctions.Add(selectFunction);
  this.map1.ProjectionModeReproject = ActionMod
展开
目录
目录
丛书前言
前言
第一部分 基于DotSpatial的桌面GIS开发系列实验 1
实验1-1 地理数据加载与地图浏览 1
实验1-2 地理要素查询与检索 5
实验1-3 专题地图渲染 10
实验1-4 地理要素编辑 17
实验1-5 空间分析与统计 25
实验1-6 地图打印输出 30
第二部分 基于ArcGIS Engine的开发系列实验 38
实验2-1 ArcGIS Engine控件的使用 38
实验2-2 地图文档及相关对象 47
实验2-3 几何对象与空间参考 55
实验2-4 参数传递与鹰眼地图 67
实验2-5 命令封装与右键菜单 71
实验2-6 空间可视化 80
实验2-7 空间数据库 91
实验2-8 空间数据查询 98
实验2-9 空间数据编辑 105
实验2-10 空间分析 112
实验2-11 地图整饰输出 120
第三部分 基于GeoServer的WebGIS开发系列实验 131
实验3-1 GeoServer的安装与使用 131
实验3-2 地图图层的发布与管理 134
实验3-3 地图浏览 139
实验3-4 地图图层叠加显示 146
实验3-5 屏幕交互操作 158
第四部分 基于ArcGIS的Android移动GIS开发系列实验 166
实验4-1 ArcGIS SDK for Android开发环境及配置 166
实验4-2 地图工程创建 171
实验4-3 数据显示与浏览 174
实验4-4 数据查询与检索 190
实验4-5 数据采集与编辑 197
实验4-6 数据实时同步 199
主要参考文献 203
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用罗湖图书馆的读者帐号和密码进行登录

点击获取验证码
登录