- ISBN:9787030700414
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:202
- 出版时间:2021-10-01
- 条形码:9787030700414 ; 978-7-03-070041-4
内容简介
本书通过具体实验教学案例,介绍桌面GIS、WebGIS、移动GIS等地理信息系统开发的技术方法和实现步骤。本书部分主要介绍如何利用开源组件DotSpatial创建桌面GIS开发,第二部分介绍基于ArcGIS Engine的WebGIS开发,第三部分介绍基于GeoServer的WebGIS开发,第四部分介绍基于ArcGIS的移动GIS开发。 本书可作为高等院校地理科学、地理信息科学及相关专业本科生的实验教材,也可作为地理信息系统开发技术人员的培训教材和参考书。
目录
丛书前言
前言
**部分 基于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
节选
**部分 基于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
-
AI绘画+AI摄影+AI短视频从入门到精通
¥46.3¥79.8 -
企业AI之旅
¥43.5¥79.0 -
乡村振兴新技术:新时代农村短视频编辑技术基础入门
¥11.2¥32.0 -
机器学习
¥59.4¥108.0 -
C Primer Plus 第6版 中文版
¥68.0¥108.0 -
基于知识蒸馏的图像去雾技术
¥61.6¥88.0 -
基于深度学习的人体行为识别算法研究
¥37.2¥62.0 -
粒子群算法在优化选取问题中的应用研究
¥40.8¥68.0 -
智能优化算法MATLAB仿真实例
¥54.0¥90.0 -
Web前端开发基础
¥36.5¥57.0 -
智能算法优化及其应用
¥49.0¥68.0 -
Photoshop图像处理
¥25.5¥49.0 -
SNS信息传播分析
¥48.3¥69.0 -
R语言医学数据分析实践
¥72.3¥99.0 -
大模型推荐系统:算法原理、代码实战与案例分析
¥62.3¥89.0 -
HARMONYOS NEXT启程:零基础构建纯血鸿蒙应用
¥81.0¥108.0 -
剪映 从入门到精通
¥25.7¥59.8 -
游戏造梦师----游戏场景开发与设计
¥67.6¥98.0 -
SAR图像处理与检测
¥35.4¥49.8 -
生成式人工智能(AIGC)应用
¥71.1¥90.0