c#开发gis应用简明教程

上传人:第*** 文档编号:38820080 上传时间:2018-05-08 格式:PDF 页数:8 大小:500.87KB
返回 下载 相关 举报
c#开发gis应用简明教程_第1页
第1页 / 共8页
c#开发gis应用简明教程_第2页
第2页 / 共8页
c#开发gis应用简明教程_第3页
第3页 / 共8页
c#开发gis应用简明教程_第4页
第4页 / 共8页
c#开发gis应用简明教程_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《c#开发gis应用简明教程》由会员分享,可在线阅读,更多相关《c#开发gis应用简明教程(8页珍藏版)》请在金锄头文库上搜索。

1、C#开发 GIS 应用简明教程 第三章 数据处理 作者:李继攀 本文保留一切权利,严禁转载或复制全部或部分内容. 第 1 页 第三章 数据处理 在介绍数据处理之前, 我们先在 M a p I n f o中生成自己的地图, 在本章中将全部使用自己 生成的地图. 这是因为 M a p X 本身提供的地图和实际应用的地图在数据结构上有较大的差异. 不适合用来介绍 M a p X 的数据处理. 首先安装好 M a p I n f o , 最好能使用 7 . 0以上的版本. 以下操作在 M a p I n f o P r o f e s s i o n a l 7 . 0 版本下完成. 打开 M a p

2、 I n f o , 界面如下图: 单击工具栏最左边的 按钮, 新建一个图层数据表. 如下图: C#开发 GIS 应用简明教程 第三章 数据处理 作者:李继攀 本文保留一切权利,严禁转载或复制全部或部分内容. 第 2 页 在“ N e w T a b l e “ 窗口中按照上图选择后单击“ C r e a t e . . . “ 按钮, 建立一个新的数据图 层. M a p I n f o 会弹出一个窗口, 如下图: 在这个窗口中设置好数据表的字段属性. 单击“ A d d F i e l d “ 按钮将字段添加到表中, 我 们在这里将添加 4 个字段: I D , 名称, 月供年限和水电费.

3、 设置好的字段如下图: 设置好以后, 单击“ C r e a t e . . . “ 按钮, M a p I n f o将询问建立图层表的文件路径. 将你的图 层表文件名改为“ H o u s e L a y e r . T a b “ , 存放到合适的路径下. 例如: “ E : T e s t D a t a M a p “ . 保存完毕以后, 得到一个空白的图层表文件, M a p I n f o 打开了这个文件显示如下: C#开发 GIS 应用简明教程 第三章 数据处理 作者:李继攀 本文保留一切权利,严禁转载或复制全部或部分内容. 第 3 页 这个图层表上现在还没有任何图形, 我们在

4、图层上增加两个图元, 并把数据添加上去. 在 D r a w i n g 工具条上选择画矩形的工具, 在 H o u s e L a y e r M a p 上画一个矩形, 然后使用拷 贝粘贴的功能将其复制为另一个矩形. 选择图元后, 对两个图元稍做修饰. 如下图: C#开发 GIS 应用简明教程 第三章 数据处理 作者:李继攀 本文保留一切权利,严禁转载或复制全部或部分内容. 第 4 页 现在, 简单的作图就完成了. 接着输入和图形相关的数据. 选择如下图指示的按钮, 在图层上点选图元, 打开输入数据 的窗口. 在输入数据的窗口中输入以下两条数据: I D 名称 月供年限 水电费 0 0 0

5、 1 A 栋 2 5 1 8 . 7 7 0 0 0 2 B 栋 3 0 2 5 . 1 2 保存图层. M a p I n f o 的画图工作就完成了. 你还需要在 M a p X 5 . 0 自带的工具 G e o s e t M a n a g e r 里把刚刚画好的图层放到一个地图文 件( . G S T 格式) 里, 才能被 M a p X 调用, 我们把这个文件命名为“ 小区. G S T “ . 好, 准备工作就绪, 现在我们开始介绍 M a p X 的数据处理. 1 . 数据读取 ( D a t a R e a d i n g ) 先对程序的功能作一些说明: 把小区地图放在 M

6、 a p X 控件上, 并且在窗口的左边放置一个 L i s t V i e w , 在这个 L i s t V i e w 中显示所有的 H o u s e L a y e r 图层表中的图元数据. 和以往不同的是, 我们的程序界面做了一些改动, 以跟踪数据的变化. 下图是窗口设计界面: C#开发 GIS 应用简明教程 第三章 数据处理 作者:李继攀 本文保留一切权利,严禁转载或复制全部或部分内容. 第 5 页 可以看到, 我们在窗口左边放置了一个L i s t V i e w 控件, 并在L i s t V i e w 中增加了4 列( C o l u m n s ) 来显示数据. 同时,

7、 把 M a p X 控件的地图换成了我们自己制作的“ 小区“ 地图. 在 b u t t o n 1 的单击事件 b u t t o n 1 _ C l i c k 中编写如下代码: M a p X L i b . F i e l d s f l d s = n e w M a p X L i b . F i e l d s C l a s s ( ) ; M a p X L i b . L a y e r l y r = a x M a p 1 . L a y e r s . _ I t e m ( “ H o u s e L a y e r “ ) ; M a p X L i b . D

8、 a t a s e t d t s = n u l l ; f l d s . A d d ( “ I D “ , “ I D “ , M a p X L i b . A g g r e g a t i o n F u n c t i o n C o n s t a n t s . m i A g g r e g a t i o n S u m , M a p X L i b . F i e l d T y p e C o n s t a n t s . m i T y p e S t r i n g ) ; f l d s . A d d ( “ 名称“ , “ 名称“ , M a p X

9、 L i b . A g g r e g a t i o n F u n c t i o n C o n s t a n t s . m i A g g r e g a t i o n S u m , M a p X L i b . F i e l d T y p e C o n s t a n t s . m i T y p e S t r i n g ) ; f l d s . A d d ( “ 月供年限“ , “ 月供年限“ , M a p X L i b . A g g r e g a t i o n F u n c t i o n C o n s t a n t s . m i A

10、 g g r e g a t i o n S u m , M a p X L i b . F i e l d T y p e C o n s t a n t s . m i T y p e I n t e g e r ) ; f l d s . A d d ( “ 水电费“ , “ 水电费“ , M a p X L i b . A g g r e g a t i o n F u n c t i o n C o n s t a n t s . m i A g g r e g a t i o n S u m , M a p X L i b . F i e l d T y p e C o n s t

11、 a n t s . m i T y p e F l o a t ) ; d t s = a x M a p 1 . D a t a S e t s . A d d ( M a p X L i b . D a t a s e t T y p e C o n s t a n t s . m i D a t a S e t L a y e r , l y r , l y r . N a m e , 0 , 0 , 0 , f l d s , f a l s e ) ; l i s t V i e w 1 . I t e m s . C l e a r ( ) ; f o r ( i n t i =

12、 1 ; i = d t s . R o w C o u n t ; i + + ) l i s t V i e w 1 . I t e m s . A d d ( n e w L i s t V i e w I t e m ( n e w s t r i n g d t s i , 1 . T o S t r i n g ( ) , d t s i , 2 . T o S t r i n g ( ) , d t s i , 3 . T o S t r i n g ( ) , d t s i , 4 . T o S t r i n g ( ) ) ) ; a x M a p 1 . D a t

13、 a S e t s . R e m o v e A l l ( ) ; C#开发 GIS 应用简明教程 第三章 数据处理 作者:李继攀 本文保留一切权利,严禁转载或复制全部或部分内容. 第 6 页 代码依旧很短, 是对以前所介绍知识的进一步深化. 这里要注意的是对 d t s 的应用. 运行 程序, 可以看到程序把所有的图元数据都正确地读取出来了. 在程序末尾, 我们将 M a p X 控件中的 D a t a S e t s 全部移除, 这是为了以后再使用 D a t a S e t s 方便. 2 . 添加数据( D a t a A d d i n g ) 在图层表上添加数据实际上就是添

14、加图元, 只不过这个图元是带有数据信息的. 仍然使用读取数据的例子, 我们在窗口上增加一个按钮 b u t t o n 2 , 编写它的单击事件代 码 b u t t o n 2 _ C l i c k 如下: M a p X L i b . F e a t u r e f t r = n e w M a p X L i b . F e a t u r e C l a s s ( ) ; M a p X L i b . P o i n t s p t s = n e w M a p X L i b . P o i n t s C l a s s ( ) ; M a p X L i b . P

15、o i n t p t = n e w M a p X L i b . P o i n t C l a s s ( ) ; M a p X L i b . R o w V a l u e s r v s = n e w M a p X L i b . R o w V a l u e s C l a s s ( ) ; M a p X L i b . F i e l d s f l d s = n e w M a p X L i b . F i e l d s C l a s s ( ) ; M a p X L i b . L a y e r l y r = a x M a p 1 . L a

16、y e r s . _ I t e m ( “ H o u s e L a y e r “ ) ; M a p X L i b . D a t a s e t d t s = n u l l ; f l d s . A d d ( “ I D “ , “ I D “ , M a p X L i b . A g g r e g a t i o n F u n c t i o n C o n s t a n t s . m i A g g r e g a t i o n S u m , M a p X L i b . F i e l d T y p e C o n s t a n t s . m i T y p e S t r i n g )

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号