登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入   新用戶註冊
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / 物流,時效:出貨後2-4日

2024年10月出版新書

2024年09月出版新書

2024年08月出版新書

2024年07月出版新書

2024年06月出版新書

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

『簡體書』地理信息系统(GIS)底层开发

書城自編碼: 4025806
分類: 簡體書→大陸圖書→計算機/網絡地理信息管理系统(GIS)
作者: 李响
國際書號(ISBN): 9787302667209
出版社: 清华大学出版社
出版日期: 2024-08-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 403

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
掌故家的心事
《 掌故家的心事 》

售價:NT$ 390.0
战争社会学专论
《 战争社会学专论 》

售價:NT$ 540.0
孤独传:一种现代情感的历史
《 孤独传:一种现代情感的历史 》

售價:NT$ 390.0
家、金钱和孩子
《 家、金钱和孩子 》

售價:NT$ 295.0
量价关系——透视股票涨跌脉络
《 量价关系——透视股票涨跌脉络 》

售價:NT$ 340.0
二十四节气生活美学
《 二十四节气生活美学 》

售價:NT$ 340.0
小白学编织
《 小白学编织 》

售價:NT$ 299.0
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
《 西班牙内战:秩序崩溃与激荡的世界格局:1936-1939 》

售價:NT$ 990.0

建議一齊購買:

+

NT$ 234
《 初识地理信息系统 》
+

NT$ 768
《 QGIS及通用工具 第一册 》
+

NT$ 680
《 Python与开源GIS:数据处理、空间分析与地图制图 》
+

NT$ 1368
《 遥感大数据智能计算 》
+

NT$ 352
《 地理信息系统基础实验操作100例 》
+

NT$ 384
《 地理信息服务建模理论与方法 》
編輯推薦:
本书是GIS领域的经典之作,详细介绍了GIS的基本理论和应用。适合作为GIS从业者的参考书,也适合初学者建立系统的GIS知识体系。适合作为GIS从业者的参考书,也适合初学者建立系统的GIS知识体系。
內容簡介:
本书是一本系统介绍一个地理信息系统底层开发的完整教程,讲授如何通过程序语言实现地理信息系统的基本功能,包括空间数据与属性数据的管理、分析及可视化等。全书内容均为底层开发,不依赖于任何商业地理信息系统软件,各种算法或数据操作方法均有详细介绍,且深入浅出。通过阅读本书,希望提高读者的原始创新能力。
第1章介绍了如何实现一个最小化的地理信息系统,第2章搭建了一个底层开发的基本框架,第3至5章讲述了地理信息可视化的基本要点,第6章介绍了矢量图层,第7章讲述鼠标在地理信息浏览中的作用,第8至11章介绍Shapefile文件的读取以及如何自定义地理信息系统数据文件格式,第12至14章介绍空间及属性信息的选择方法,第15章介绍栅格图层,第16章介绍多图层管理,第17章实现了一个基本的地理信息系统集成控件,第18及19章介绍了地理信息的可视化技术,第20及21章讲述了网络分析方法的实现,第22及23章介绍了空间索引的构建及应用,第24章介绍了空间参考系统,第25及26章讲述了空间及属性数据的编辑方法,第27章介绍了地理信息系统开发的几种优化方法。
为便于读者高效学习,快速掌握地理信息系统底层开发知识,本书作者精心制作了电子书、完整的源代码以及通过电子邮件或微信公众平台的答疑服务等内容。
本书适合作为广大高校地理信息系统或地理信息科学专业的课程教材,也可以作为地理信息系统技术开发者或爱好者的自学参考用书。
目錄
第1章一切从“●”开始
1.1最简单的空间对象
1.2让空间对象变成程序代码
1.3第一个迷你GIS
1.4总结
第2章更完整的类库
2.1空间对象体系
2.2迷你GIS的重新实现
2.3空间对象的随机生成
2.4总结
第3章屏幕坐标与实际坐标
3.1坐标系统
3.2两种坐标之间的转换
3.3迷你GIS的再次更新
3.4总结
第4章浏览功能的初步实现
4.1缩放
4.2平移
4.3归一化的浏览操作
4.4更丰富的迷你GIS
4.5总结
第5章更有效的显示方法
5.1闪烁的原因
5.2用双缓冲解决闪烁问题
5.3解决显示内容消失的问题
5.4解决显示内容变形的问题
5.5提高显示效率
5.6总结
第6章矢量图层
6.1建立属性数据的字段结构
6.2空间对象类型
6.3矢量图层类定义
6.4矢量图层类的应用
6.5总结
第7章用鼠标实现浏览
7.1定义鼠标的功能
7.2鼠标按键事件
7.3鼠标滚轮事件
7.4总结
第8章读取Shapefile中的点实体
8.1Shapefile文件结构概览
8.2读取shp文件头
8.3读取shp记录
8.4更新的迷你GIS
8.5总结
第9章读取Shapefile中的线和面实体
9.1更完善的XLine及XPolygon
9.2线与面shp文件的读取
9.3功能更加完善的GIS
9.4总结
第10章读取Shapefile中的属性数据
10.1dbf文件结构及文件头
10.2字段描述区
10.3读取数据区
10.4完整的Shapefile读取函数
10.5GIS的再次完善
10.6总结
第11章空间数据文件的读写
11.1数据类型与文件结构
11.2文件头与图层名的写入
11.3字段信息的写入
11.4空间和属性数据值的写入
11.5自定义文件的读取
11.6读写过程测试
11.7总结
第12章点选空间对象
12.1点选框架的建立
12.2点到线实体的距离
12.3点到面实体的距离
12.4实现屏幕点选
12.5总结
第13章框选空间对象及选择集操作
13.1框选算法
13.2实现屏幕框选
13.3定义选择集
13.4选择集的高亮显示
13.5操作选择集
13.6总结
第14章基于属性特征的对象选择
14.1基于查询条件的对象选择
14.2属性查询功能的实现
14.3基于属性窗口的空间对象选择
14.4总结
第15章栅格图层
15.1栅格描述文件结构
15.2扩充的图层类定义
15.3构建栅格图层
15.4栅格图层的打开与显示
15.5总结
第16章多图层管理
16.1定义图层文档类XDocument
16.2实现图层管理函数
16.3实现图层选择函数
16.4实现图层文档的读写
16.5实现支持图层文档的窗体
16.6总结
第17章控件化功能组织
17.1添加一个XPanel控件
17.2浏览功能
17.3图层文档菜单项处理
17.4图层菜单项处理
17.5基于控件开发的GIS
17.6总结
第18章完善的自动标注功能
18.1字体与颜色
18.2锚点与位置
18.3方向与角度
18.4写入与读取
18.5考虑各种属性特征的标注绘制
18.6人机交互式定制标注属性
18.7总结
第19章专题地图
19.1XSymbology及唯一值专题地图
19.2独立值专题地图
19.3分级设色专题地图
19.4集成化实现专题地图定制
19.5总结
第20章网络模型基础
20.1基本的网络要素
20.2建立拓扑关系
20.3网络模型读写
20.4最短路径分析
20.5展示分析结果
20.6总结
第21章网络模型应用
21.1FormNetwork的功能分析
21.2构建网络模型
21.3实现最短路径分析
21.4总结
第22章空间索引的构建
22.1空间索引基础
22.2定义结点
22.3种树准备
22.4结点的插入
22.5结点的分裂
22.6树的调整
22.7总结
第23章空间索引的应用
23.1RTree在图层中的引入
23.2基于树结构的搜索
23.3树结构的存储
23.4总结
第24章空间参考系统
24.1WGS 1984及UTM
24.2单个点的坐标转换
24.3空间实体坐标转换
24.4图层坐标转换
24.5验证转换效果
24.6总结
第25章图层新建与编辑栏的添加
25.1交互式新建图层
25.2添加编辑工具栏
25.3总结
第26章空间对象编辑
26.1空间实体绘制
26.2属性值编辑
26.3空间对象的删除、修改与保存
26.4总结
第27章最后的整合
27.1PeekChar的问题
27.2避免无效绘制
27.3属性窗口的快速打开
27.4总结
附录: XGIS类库说明
內容試閱
什么是地理信息系统底层开发
首先,我们需要定义什么是地理信息系统(GIS)。根据作者的理解,地理信息系统就是一个能够处理、分析和应用各类空间数据的软件系统。目前,工业界已经有不少成熟的商业或非商业的地理信息系统软件产品,比如ArcGIS。针对这些软件的应用通常可分为两个层次,即“应用”和“开发”,前者即利用软件的现有功能,通过非程序化的方式,达到应用的目的; 而后者则是在这些软件平台提供的二次开发工具的基础之上,开发一个新的软件产品,这通常被称为“基于某某软件的地理信息系统二次开发”,比如ArcGIS的二次开发工具ArcGIS Engine。对于一个非常成熟的地理信息系统软件产品来说,作者建议二次开发者阅读或学习其官方用户手册或开发教程,通常更加完备且准确。
本书要讲授的内容不是“二次开发”,而是“底层开发”。简单来说,我们的“底层开发”不是基于ArcGIS Engine开发一个软件,而是希望开发一个类似ArcGIS或ArcGIS Engine的软件。当然,我们说的“底层开发”也是有“底”的,或者说是相对的,它不是从机器语言或汇编语言开始,而是基于高级程序设计语言的,在本书中选择的是Windows平台下的C#编程语言,同时也建议读者能够基于本书的思想,尝试利用其他语言实现底层开发,在本书之前的读者群中,就曾经有过读者利用Java或Python语言在不同的操作系统下完成了本书的大部分学习内容,而且看起来非常棒!
为什么要学习地理信息系统底层开发
作者认为有如下三个理由。
第一,在开源共享的大环境下,越来越多的地理信息系统相关研发人员觉得底层开发是没有必要的,因为我们通常可以很快地从网上找到别人做好的东西,快速整合到自己的系统中。作者非常赞同这样的做法,站在别人的肩膀上,让步伐更快些。同时,作者也在深深地思考,提供资源的人总是有限和少数的,如果每个人都只做成果的使用者或集成者,那么谁去创造成果?从这个意义上讲,作者不期待本书有多大的销量,但作者相信本书的读者将有可能成为社会的“关键少数”。
第二,持怀疑态度的批评者可能会认为,本书介绍的内容过于基础,其中绝大多数内容都是现有商业软件已经完全实现了的,读者即便学会了,也似乎没有用武之地。关于这一点,作者的观点是,如果希望超越,首先需要学会跟跑。不曾踏过前人经历的坑坑洼洼,就必将会跌入未来某一个大坑里。当然,如果只希望跟跑,那应该问题不大,总会有强者把你从坑里拉出来。但是,针对承担着原始创新重任的关键少数来说,要学会自己站起来才行。这就好比,“苹果”手机已经很不错了,我们为什么还需要“华为”。所以,这也是写作本书的重要目的之一,提高读者的原始创新能力。
第三,从读者个人来讲,如果希望成为一个在未来工作中有能力、有担当的关键少数,需要有强大的分析问题、解决问题的能力。本书并不是一本专门讲授如何提高这些能力的心灵鸡汤,但确实希望在攻克一个个底层开发堡垒的过程中,锻炼读者抽丝剥茧的能力,提高读者的获得感,增强读者的自信心。显然,并不是每一位读者今后都会去从事底层开发工作,去创造一个属于自己的ArcGIS、SuperMap等。而且,阅读完本书,也不能保证读者就已经可以开发一套GIS软件了,如果真如此,那只能说是江湖骗术。更多的实际情况是,读者可能加入某个GIS相关的行业,因为了解底层的秘密,而成为关键少数的中流砥柱。毕竟,仅仅了解GIS成熟软件二次开发的门槛太低了。因此,从这个意义上讲,写作本书的另一个重要目的就是提高读者的行业竞争能力。
阅读本书会得到什么



通过前一小节的说明,我们希望读者经由阅读此书,提高两个能力:
■原始创新能力。
■行业竞争能力。
在知识点方面,我们会介绍如何利用程序设计语言实现GIS的三大功能,包括:
■空间数据管理。
■空间数据分析。
■空间数据可视化。
除了书本身,我们还提供:
■对每一位认真的读者来说都很需要的程序源码。
■一些示例空间数据及相关参考文档。
■作为教材讲授时所需要的教学课件。
上述资料可通过以下方式获得:
■搜索并关注微信公众号“大数据攻城狮”,输入“XGIS”,获得下载地址。
阅读本书前的准备
本书在Windows操作系统下,以C#语言为开发语言进行讲解。在阅读本书之前,读者需要对GIS的基本概念及C#语言有一定了解。此外,面向对象编程思想也在本书有较好的应用,因为这是编写一个较为复杂的软件平台所必需的,读者可事先寻找相关资料,对这一思想加以学习和领会。相信通过阅读本书,会进一步加深读者对C#语言及面向对象编程思想的理解。
学习本书内容,读者唯一需要特别安装的软件就是Visual Studio集成开发环境(IDE),该软件是Microsoft公司的一个产品,如果是出于学习的目的,读者可以从该公司网站上免费下载并安装这个产品,在试用一段时间后,通过电子邮件注册的方式,读者就可以永久使用这一开发工具。本书就是利用这一开发工具编写代码的。Visual Studio是一个存在已久的软件产品,已经发布了多个版本,而本书内容并不针对其中的特定版本,读者可以按照以下步骤下载并安装最新的Visual Studio软件。
1. 在网络浏览器中输入或者通过网络搜索引擎,搜索关键字“Visual Studio IDE”,通常在搜索结果中的第一项就是上述网址。
2. 在打开的网页中,找到当前适用于读者Windows操作系统的最新版本,根据网页提示完成下载和安装。
在编写本书时,我们选择的版本是Visual Studio Community 2019。当安装结束后,在所有程序中,读者会发现一个新的程序,名为“Visual Studio 2019”,单击它,就可以开始学习本书的第1章了; 否则,请重新安装上述软件工具。在本书中,我们将“Visual Studio Community 2019”简称为“VS”。
关于书中的程序源码
本书附带的程序源码可以直接在VS中打开阅读。本书附录包含所有类及新定义数据类型的属性成员和函数的定义及说明。此外,文中所有源码都会被清楚地标明其所属的文件或类,例如,如下信息表示所列出的代码属于代码文件“BasicClasses.cs”,它定义了一个类,叫作XVertex。
BasicClasses.cs
public class XVertex
{
public double X;
public double Y;
public XVertex(double _X, double _Y)
{
X = _X;
Y = _Y;
}
public double Distance(XVertex _AnotherVertex)
{
return Math.Sqrt((X - _AnotherVertex.X) * (X - _AnotherVertex.X)
(Y - _AnotherVertex.Y) * (Y - _AnotherVertex.Y));
}
public void CopyFrom(XVertex _V)
{
X = _V.X;
Y = _V.Y;
}
}



而如下信息表明为代码文件“BasicClasses.cs”中的类“XTools”定义了一个函数“CalculateLength”。
BasicClasses.cs/XTools

public static double CalculateLength(ListXVertex _Vertexes)
{
double length = 0;
for (int i = 0; i _Vertexes.Count - 1; i )
length = _Vertexes[i].Distance(_Vertexes[i 1]);
return length;
}


同时,基于本书讲解的内容开发的多个实用工具可以通过微信公众号“大数据攻城狮”获得,欢迎读者关注。
至此,我们已经完成了准备工作,现在开始正式的学习内容。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 台灣用户 | 香港/海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.