VC++开发GIS系统教程汇总
发布时间: 2014-09-01
所属分类: GIS笔记索引
本文整理了VC++开发GIS系统的全部教程,由浅入深,介绍了VC++开发GIS系统的基本知识,实现了基本的点线面注释操作,简单的空间分析,空间量算等功能,开发数据库和文件两个版本,数据库采用SQL 2008或者MySQL,采用DLL的开发方式。 本教程只介绍文件版本,其实只是底层的IO模块实现不同,感觉兴趣的同学可以研究下。
前言
基础知识
- VC++开发GIS系统(1)使用DLL导出类编程示例
- VC++开发GIS系统(2)warning C4273: dll链接不一致
- VC++开发GIS系统(3)关于#ifndef#define#endif的说明
- VC++开发GIS系统(4)error C2491不允许 dllimport 函数 的定义
- VC++开发GIS系统(5)利用ADO技术实现SQL Server存储二进制数据
- VC++开发GIS系统(6)MFC TAB控件的使用
- VC++开发GIS系统(7)VC++使用ADO连接数据库
- VC++开发GIS系统(8)使用Ribbon界面
- VC++开发GIS系统(9)让VS2013支持多字节编码(MSB8031)
- VC++开发GIS系统(10)Ribbon界面按键变灰
- VC++开发GIS系统(11)更改MFC窗口标题
- VC++开发GIS系统(12)Ribbon添加图标
- VC++开发GIS系统(13)画点
- VC++开发GIS系统(14)画点的详细解释
- VC++开发GIS系统(15)浅说VC++中的各种DC
- VC++开发GIS系统(16)画点的Ellipse函数
- VC++开发GIS系统(17)画一个三角形的点
- VC++开发GIS系统(18)画一个方形的点
- VC++开发GIS系统(19)设置点的大小
- VC++开发GIS系统(20)设置点边框颜色
- VC++开发GIS系统(21)关于VC++中的CPEN类
- VC++开发GIS系统(22)设置点的边框线型
- VC++开发GIS系统(23)设置点的边框宽度
- VC++开发GIS系统(24)设置宽度大于1的虚线边框
- VC++开发GIS系统(25)关于VC++中的CPEN类2
- VC++开发GIS系统(26)关于LOGBRUSH结构体
- VC++开发GIS系统(27)设置点的填充颜色
- VC++开发GIS系统(28)关于VC++的CBrush类
- VC++开发GIS系统(29)关于鼠标左键的联想1
- VC++开发GIS系统(30)关于鼠标左键的联想2(C++中的类和对象)
- VC++开发GIS系统(31)VC++开发GIS系统的整体规划
基本GIS框架
- VC++开发GIS系统(32)新建malagis的MFC工程
- VC++开发GIS系统(33)基本GIS系统中点单元的结构体
- VC++开发GIS系统(34)解决鼠标左键的冲突
- VC++开发GIS系统(35)点要素的模块建立
- VC++开发GIS系统(36)使用IconWorkshop更改程序图标
- VC++开发GIS系统(37)利用IconWorkshop添加输入点按钮
- VC++开发GIS系统(38)添加响应输入点消息
- VC++开发GIS系统(39)对话框模块的建立
- VC++开发GIS系统(40)画一个输入点的对话框
- VC++开发GIS系统(41)补充知识MFC中ComboBox(下拉选择框)的使用方法
- VC++开发GIS系统(42)补充知识MFC中调用调色板(CColorDialog)
- VC++开发GIS系统(43)输入点对话框变量的响应
- VC++开发GIS系统(44)补充知识MFC中常见的DDX(数据交换)和DDV(数据验证)函数
- VC++开发GIS系统(45)导出输入点对话框并调用
- VC++开发GIS系统(46)自定义一个CDC绘图类
- VC++开发GIS系统(47)使用自定义CDC类画点
- VC++开发GIS系统(48)屏幕坐标转换原理
- VC++开发GIS系统(49)屏幕坐标转换编码
- VC++开发GIS系统(50)使用自定义平面坐标系
- VC++开发GIS系统(51)补充知识基于VC++的GDI+常用坐标系统详解(转)
- VC++开发GIS系统(52)补充知识Ribbon界面自定义状态栏
- VC++开发GIS系统(53)补充知识MFC中View调用CMainFrame未声明的标识符
- VC++开发GIS系统(54)Ribbon状态栏实时显示坐标
- VC++开发GIS系统(55)解决Ribbon状态栏显示内容不全
- VC++开发GIS系统(56)使用自定义坐标系画点
- VC++开发GIS系统(57)文件管理方案设计
- VC++开发GIS系统(58)补充知识MFC中Ribbon界面Checkbox的使用方法
- VC++开发GIS系统(59)补充知识MFC中Ribbon界面新建一个停靠窗口(DockablePane)
- VC++开发GIS系统(60)补充知识MFC中控制停靠窗口的显示与隐藏
- VC++开发GIS系统(61)补充知识MFC中Ribbon界面隐藏停靠窗口的关闭按钮
- VC++开发GIS系统(62)停靠窗口中添加树形控件(CTreeCtrl)
- VC++开发GIS系统(63)简析CTreeCtrl中的InsertItem函数
- VC++开发GIS系统(64)CTreeCtrl中替换加号为三角形小键头
- VC++开发GIS系统(65)CTreeCtrl中不显示虚线
- VC++开发GIS系统(66)补充知识MFC中判断系统版本
- VC++开发GIS系统(67)工程面板CTreeCtrl响应右键菜单
- VC++开发GIS系统(68)不同节点加载不同右键菜单
- VC++开发GIS系统(69)添加CTreeCtrl节点的自定义图标
- VC++开发GIS系统(70)补充知识MFC中CFileDialog的使用
- VC++开发GIS系统(71)响应CTreeCtrl右键菜单的函数
- VC++开发GIS系统(72)导出新建工程对话框
- VC++开发GIS系统(73)增加目录树结构体
- VC++开发GIS系统(74)新建文件处理IO模块malaIO
- VC++开发GIS系统(75)实现新建mpj工程文件
- VC++开发GIS系统(76)补充知识使用CArchive读写文件
- VC++开发GIS系统(77)实现新建工程菜单的响应
- VC++开发GIS系统(78)新建点文件之导出新建点文件对话框
- VC++开发GIS系统(79)新建点文件之文件模块代码实现
- VC++开发GIS系统(80)新建点文件
- VC++开发GIS系统(81)文件的状态
- VC++开发GIS系统(82)文件显示和隐藏的简要实现
- VC++开发GIS系统(83)文件激活状态简要实现
- VC++开发GIS系统(84)warning C4018 有符号无符号不匹配
- VC++开发GIS系统(85)遍历CTreeCtrl节点(根据名称查找节点)
- VC++开发GIS系统(86)创建存储点文件的类
- VC++开发GIS系统(87)保存一个点到文件的函数
- VC++开发GIS系统(88)点的输入类的修正
- VC++开发GIS系统(89)View中获取目录树
- VC++开发GIS系统(90)画点(最终版)
- VC++开发GIS系统(91)窗口的重绘(一)
- VC++开发GIS系统(92)窗口的重绘(二)
- VC++开发GIS系统(93)窗口的重绘(三)
- VC++开发GIS系统(94)窗口的重绘(四)
- VC++开发GIS系统(95)显示当前的操作状态
- VC++开发GIS系统(96)清除当前的操作及状态
- VC++开发GIS系统(97)补充知识获取MFC中各种类的指针(转)
- VC++开发GIS系统(98)补充知识MFC弹出确认对话框
- VC++开发GIS系统(99)补充知识vector删除元素
- VC++开发GIS系统(100)移除文件
- VC++开发GIS系统(101)补充知识VC++获取文件信息(大小、时间)
- VC++开发GIS系统(102)查看文件属性
- VC++开发GIS系统(103)载入文件之对话框的导出
- VC++开发GIS系统(104)载入文件之功能实现
- VC++开发GIS系统(105)打开工程之导出对话框
- VC++开发GIS系统(106)打开工程之文件读取
- VC++开发GIS系统(107)打开工程之功能实现
GIS全局浏览模块开发
- VC++开发GIS系统(108)放大地图之新建tools模块
- VC++开发GIS系统(109)放大地图之功能解析
- VC++开发GIS系统(110)放大地图之简析橡皮筋绘图
- VC++开发GIS系统(111)放大地图之函数实现
- VC++开发GIS系统(112)放大地图之菜单响应
- VC++开发GIS系统(113)重置地图
- VC++开发GIS系统(114)缩小地图之函数实现
- VC++开发GIS系统(115)缩小地图之菜单响应
- VC++开发GIS系统(116)刷新地图
- VC++开发GIS系统(117)移动地图之函数实现
- VC++开发GIS系统(118)移动地图之菜单响应
- VC++开发GIS系统(119)更改鼠标指针之添加资源
- VC++开发GIS系统(120)更改鼠标指针之实现替换
- VC++开发GIS系统(121)滚轮缩放之函数实现
- VC++开发GIS系统(122)滚轮缩放之响应
GIS点要素模块开发
- VC++开发GIS系统(123)选择点概述
- VC++开发GIS系统(124)选择点之SetTimer与KillTimer
- VC++开发GIS系统(125)选择点之CALLBACK回调函数
- VC++开发GIS系统(126)选择点之闪烁原理及实现
- VC++开发GIS系统(127)选择点类的设计
- VC++开发GIS系统(128)选择点类的实现
- VC++开发GIS系统(129)选择点之菜单响应
- VC++开发GIS系统(130)移动点之更新点文件读写函数
- VC++开发GIS系统(131)移动点之类的设计及实现
- VC++开发GIS系统(132)移动点之菜单响应
- VC++开发GIS系统(133)复制点之类的定义及实现
- VC++开发GIS系统(134)复制点之菜单响应
- VC++开发GIS系统(135)补充知识CColorDialog设置默认颜色及风格
- VC++开发GIS系统(136)修改点参数之导出参数对话框
- VC++开发GIS系统(137)修改点参数之类的定义及实现
- VC++开发GIS系统(138)修改点参数之菜单响应
- VC++开发GIS系统(139)删除点之文件读写函数
- VC++开发GIS系统(140)删除点之类的定义及实现
- VC++开发GIS系统(141)删除点之菜单响应
- VC++开发GIS系统(142)删除所有点之文件读写函数
- VC++开发GIS系统(143)删除所有点之菜单响应
- VC++开发GIS系统(144)补充知识MFC中添加快捷键
GIS线要素模块开发
- VC++开发GIS系统(145)基本GIS系统中线单元的结构体
- VC++开发GIS系统(146)新建线模块malaLines
- VC++开发GIS系统(147)新建线文件之导出对话框
- VC++开发GIS系统(148)新建线文件之IO读写函数
- VC++开发GIS系统(149)新建线文件之菜单响应
- VC++开发GIS系统(150)输入线之类设计
- VC++开发GIS系统(151)输入线之设置线属性对话框
- VC++开发GIS系统(152)输入线之画直线的函数
- VC++开发GIS系统(153)输入线之创建存储线文件的类
- VC++开发GIS系统(154)输入线之线文件读写类
- VC++开发GIS系统(155)输入线之读取文件中所有的线
- VC++开发GIS系统(156)输入线之获取线的最大ID
- VC++开发GIS系统(157)输入线之保存线函数
- VC++开发GIS系统(158)输入线之类实现
- VC++开发GIS系统(159)输入线之菜单响应
- VC++开发GIS系统(160)重绘线之获取一个图形的外接矩形
- VC++开发GIS系统(161)判断两个矩形是否相交
- VC++开发GIS系统(162)重绘线之查找可视范围所有的线
- VC++开发GIS系统(163)重绘线之绘制一条折线
- VC++开发GIS系统(164)重绘线之更新重绘函数
- VC++开发GIS系统(165)补充知识MFC中ComboBox顺序问题
- VC++开发GIS系统(166)选择线之判断两条直线是否相交算法
- VC++开发GIS系统(167)选择线之判断直线是否与折线相交算法
- VC++开发GIS系统(168)选择线之判断折线与矩形相交算法
- VC++开发GIS系统(169)选择线之类的定义
- VC++开发GIS系统(170)选择线之类的实现
- VC++开发GIS系统(171)选择线之菜单响应
- VC++开发GIS系统(172)移动线之保存所有线文件函数定义及实现
- VC++开发GIS系统(173)移动线之更新一条线的属性函数定义及实现
- VC++开发GIS系统(174)移动线之类的设计及实现
- VC++开发GIS系统(175)移动线之菜单响应
- VC++开发GIS系统(176)复制线之类的设计及实现
- VC++开发GIS系统(177)复制线之菜单响应
- VC++开发GIS系统(178)修改线属性之导出线属性对话框
- VC++开发GIS系统(179)修改线属性之类的设计及实现
- VC++开发GIS系统(180)修改线属性之菜单响应
- VC++开发GIS系统(181)剪断线之判断点是否在线上函数实现
- VC++开发GIS系统(182)剪断线之函数实现
- VC++开发GIS系统(183)剪断线之类的设计及实现
- VC++开发GIS系统(184)剪断线之菜单响应
- VC++开发GIS系统(185)线上加点之核心函数实现
- VC++开发GIS系统(186)线上加点之类的设计及实现
- VC++开发GIS系统(187)线上加点之菜单响应
- VC++开发GIS系统(188)线上移点之获取点在线的位置
- VC++开发GIS系统(189)线上移点之类的设计及实现
- VC++开发GIS系统(190)线上移点之菜单响应
- VC++开发GIS系统(191)线上删点之类的设计及实现
- VC++开发GIS系统(192)线上删点之菜单响应
- VC++开发GIS系统(193)删除线之IO函数实现
- VC++开发GIS系统(194)删除线之类的设计及实现
- VC++开发GIS系统(195)删除线之菜单响应
- VC++开发GIS系统(196)删除所有线之IO文件读写函数
- VC++开发GIS系统(197)删除所有线之菜单响应
GIS区要素模块开发
- VC++开发GIS系统(198)基本GIS系统中区单元的结构体
- VC++开发GIS系统(199)新建区模块malaPolygon
- VC++开发GIS系统(200)新建区文件之导出对话框
- VC++开发GIS系统(201)补充知识:VC++判断文件是否存在的简单方法
- VC++开发GIS系统(202)新建区文件之IO读写函数
- VC++开发GIS系统(203)新建区文件之菜单响应
- VC++开发GIS系统(204)输入区之类设计
- VC++开发GIS系统(205)输入区之设置区属性对话框
- VC++开发GIS系统(206)输入区之绘制多边形区的函数
- VC++开发GIS系统(207)输入区之绘制椭圆区的函数
- VC++开发GIS系统(208)输入区之绘制区的函数(多边形与椭圆)
- VC++开发GIS系统(209)输入区之存储区文件结构体
- VC++开发GIS系统(210)输入区之区文件读写类
- VC++开发GIS系统(211)输入区之读取区文件中所有的区
- VC++开发GIS系统(212)输入区之获取区的最大ID
- VC++开发GIS系统(213)输入区之保存区函数
- VC++开发GIS系统(214)输入区之类实现
- VC++开发GIS系统(215)输入区之菜单响应
- VC++开发GIS系统(216)重绘区之获取可视范围的所有区
- VC++开发GIS系统(217)重绘区功能实现
- VC++开发GIS系统(218)判断直线是否与多边形相交
- VC++开发GIS系统(219)判断矩形是否与多边形相交
- VC++开发GIS系统(220)选择区之类的定义及实现
- VC++开发GIS系统(221)选择区之菜单响应
- VC++开发GIS系统(222)移动区之保存所有区
- VC++开发GIS系统(223)移动区之更新区参数
- VC++开发GIS系统(224)移动区之类的设计及实现
- VC++开发GIS系统(225)移动区之菜单响应
- VC++开发GIS系统(226)复制区之类的设计及实现
- VC++开发GIS系统(227)复制区之菜单响应
- VC++开发GIS系统(228)修改区属性之导出修改区属性对话框
- VC++开发GIS系统(229)修改区属性之类的设计及实现
- VC++开发GIS系统(230)修改区属性之菜单响应
- VC++开发GIS系统(231)边界加点函数实现
- VC++开发GIS系统(232)边界加点类的设计及实现
- VC++开发GIS系统(233)边界加点之菜单响应
- VC++开发GIS系统(234)边界移点类的设计及实现
- VC++开发GIS系统(235)边界移点之菜单响应
- VC++开发GIS系统(236)边界删点类的设计及实现
- VC++开发GIS系统(237)边界删点之菜单响应
- VC++开发GIS系统(238)删除区之函数定义
- VC++开发GIS系统(239)删除区之类的设计及实现
- VC++开发GIS系统(240)删除区之菜单响应
- VC++开发GIS系统(241)删除所有区之IO文件读写函数
- VC++开发GIS系统(242)删除所有区之菜单响应
GIS注释要素模块开发
- VC++开发GIS系统(243)基本GIS系统中注释单元的结构体
- VC++开发GIS系统(244)新建注释模块malaLabel
- VC++开发GIS系统(245)新建注释文件之导出对话框
- VC++开发GIS系统(246)新建注释文件之IO读写函数
- VC++开发GIS系统(247)新建注释文件之菜单响应
- VC++开发GIS系统(248)输入注释之类设计
- VC++开发GIS系统(249)设置注释属性对话框
- VC++开发GIS系统(250)绘制文字的函数
- VC++开发GIS系统(251)输入注释之存储注释文件结构体
- VC++开发GIS系统(252)输入注释之注释文件读写类
- VC++开发GIS系统(253)输入注释之获取文件中所有的注释
- VC++开发GIS系统(254)输入注释之获取注释的最大ID
- VC++开发GIS系统(255)保存一条注释函数
- VC++开发GIS系统(256)输入注释之类实现
- VC++开发GIS系统(257)输入注释之菜单响应
- VC++开发GIS系统(258)获取可视范围的所有注释
- VC++开发GIS系统(259)重绘注释功能实现
- VC++开发GIS系统(260)选择注释之类的定义及实现
- VC++开发GIS系统(261)选择注释之菜单响应
- VC++开发GIS系统(262)保存所有注释
- VC++开发GIS系统(263)更新注释参数
- VC++开发GIS系统(264)移动注释之类的设计及实现
- VC++开发GIS系统(265)移动注释之菜单响应
- VC++开发GIS系统(266)复制注释之类的设计及实现
- VC++开发GIS系统(267)复制注释之菜单响应
- VC++开发GIS系统(268)导出修改注释属性对话框
- VC++开发GIS系统(269)修改注释属性之类的设计及实现
- VC++开发GIS系统(270)修改注释属性之菜单响应
- VC++开发GIS系统(271)删除注释之函数定义
- VC++开发GIS系统(272)删除注释之类的设计及实现
- VC++开发GIS系统(273)删除注释之菜单响应
- VC++开发GIS系统(274)删除所有注释之IO文件读写函数
- VC++开发GIS系统(275)删除所有注释之菜单响应
GIS拓扑分析模块开发
- VC++开发GIS系统(276)基本GIS系统中拓扑分析结构体
- VC++开发GIS系统(277)新建拓扑分析模块malaAnalysis
- VC++开发GIS系统(278)判断点点之间的拓扑关系
- VC++开发GIS系统(279)判断点与线之间的拓扑关系
- VC++开发GIS系统(280)判断点与面的拓扑关系
- VC++开发GIS系统(281)判断线与线的拓扑关系
- VC++开发GIS系统(282)判断直线与面的拓扑关系
- VC++开发GIS系统(283)判断折线与面的拓扑关系
- VC++开发GIS系统(284)判断面元素之间的拓扑关系
- VC++开发GIS系统(285)判断拓扑关系类的设计及实现
- VC++开发GIS系统(286)判断拓扑关系菜单响应及实现
- VC++开发GIS系统(287)计算一条折线的长度
- VC++开发GIS系统(288)已知线段量算类的设计及实现
- VC++开发GIS系统(289)已知线段量算之菜单响应
- VC++开发GIS系统(290)自定义线段量算类的设计及实现
- VC++开发GIS系统(291)自定义线段量算之菜单响应
- VC++开发GIS系统(292)计算任意多边形的面积
- VC++开发GIS系统(293)区量算之类的设计及实现
- VC++开发GIS系统(294)区量算之菜单响应
结语
项目所有源码
为了防止资源恶意爬取,此处内容被作者隐藏。
立即获取
如果你所改进或者不同的方法,欢迎一起写文章,完善这个教程。
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子
上一篇:IDL遥感应用入门教程汇总
下一篇:ArcGIS操作入门教程汇总
希望楼主持续给力,我以后会持续关注这个站了,我是新手
谢谢你的支持。
哇喔,网站做得很好,非常感谢站长分享和无私的奉献
楼主加油更,我也是万波老师学生,正在上这门课,一直看着你的在做【哭】
我这也是好久之前的程序了,现在只是拿出来整理一下,怕现在不写,以后就没时间写了。但时间不多,所以更的也很慢,这个只是我当时写的思路。
同是XD校友,必须顶起啊,我虽是电院的,参加编程大赛有受到万老师指点,记得Notepad++软件还是从他那里剽窃到的,O(∩_∩)O~
感谢博主,身为一个对C++、GIS一点都不了解的人,因为客户需要要一个人去做一款GIS软件。谢谢博主如此耐心慷慨的教学。
如果能帮到你,也算是没白写~如果是应用的话,可以调用各种第3方的库的,不用这么折腾。
如果我要做一个基于GIS编写的排水管网系统,上面那些教程足够了吗?
最好使用成熟GIS系统的干次开发系统。
博主有相关资料或视频吗?能发给我吗?感激不尽。
感谢博主这么认真的教我们,而且博主做的网址真好看。
想请教下博主在编译的时候提示 无法打开文件"malaIO.lib"
的原因……
http://malagis.com/vc-gis-34-solve-mouse-conflict.html应该是引用的目录没有设置对。
嗯嗯,我去学习一下,再次感谢博主。
Pointstone新人前来膜拜。
另外现在正在做一个GIS项目。
感谢dalao
这你都能找到。。
博主好,我想问一下博主对于GIS和其他模型(我用到了作物生长模型)的“松耦合”连接有没有接触过,这要学哪方面的知识,网上搜的实在不着边界,(编程不太行,能不能弄出来...)(就是在GIS和模型之间建立一个连接,可以用GIS处理数据导入到模型中运算,同时模型输出的结果返还到GIS中呈现结果图)。
没做过相关哎。
还能看到吗? 楼主,github源码能发下地址吗?打不开,百度网盘的文件也无法执行。857202539@qq.com
楼主,我找到github源码了,请问你的配置环境是什么样的啊?我用的vs2015 release 64位