GIS课程设计帮助
东华理工学院gis谢精华程序制作2002.7.
email:gis@xinhuanet.com
web:http://user.7host.com/codemaster
内容 {点击有#的行可到你要看的标签}
#1. overview
#(1)关于点线面数据库的定义
#2. Tools
# 2.1 Brush
# 2.2 AirBrush
# 2.3 Line, PolyLine, Spline
# 2.4 Rectangle
# 2.5 Cirlipse, Cone, Tube, Arch
# 2.6 T-piece
# 2.7 Text
# 2.8 Fill
# 2.9 Rubber
# 2.10 Active rectangle
# 2.11 Smudge
# 2.12 Move, Copy & Reflect
# 2.13 Resize, Perspective Shear, Rotate
# 2.14 Tile
#3. Operations
# 3.1 恢复上一步
# 3.2 清除图形
# 3.3 轮廓线
# 3.4 喷枪
# 3.5 缩放
# 3.6 拖动,画布大小
# 3.7 重置
#4. 加载和保存
# 4.1 Load or Add a picture file
# 4.2 Save as BMP or JPG
# 4.3 Save rectangle as BMP
# 4.4 加载mapinfo文件
#5. Printing
#6. Colors
#7. mapinfo工具
#8. GIS课程设计结论:
#9. 帮助
1. Overview
这是一个画笔的绘图程序,有21中工具在主工具栏,你可以选择。
每一个工具都有tooltiptext,都是英文的哦,呵呵,你可以看帮助,
我花了点时间写了个帮助。你可以选择你的颜色,不过现在还只有
grey哦,你的文件可以选择保存为jpg和bmp,关于保存为数据库,
我真的只做了一点点,一些点和线,还有一些面的保存。很抱歉!
我希望有建gis数据库和熟悉地物编码的老师和同学给我好的意见。
谢谢!因为如果对数据库的定义和地理信息编码不熟悉而去盲目进
行,我想对自己会有负面的影响,对于以下的数据库定义我参考了
上海地理信息中心的基础地理信息数据库的数据交换组件的内容。
我非常的希望老师和同学给我意见:
email:gis@xinhuanet.com
web:http://user.7host.com/codemaster
(1)关于点线面数据库的定义
关于线面数据库的结构定义:
smipoint点对象
说明:点对象主要用来描述具有点状特征的地理实体,在构成线、
面等实体时作为基本元素而存在。
属 性 方 法
sName
Description
X
Y
sType
sSubType
sName 属性
说明
返回点对象的名称。
Description 属性
说明
返回有关点对象的说明。
X 属性
说明
返回点对象的X坐标值。
Y 属性
说明
返回点对象的Y坐标值。
sType 属性
说明
返回点对象的主类类型(值为1或tPoint)。
主类类型常数表
类 型 说 明 值
点状类型 tPoint 1
线状类型 tPolyline 2
面状类型 tPolygon 3
注记类型 tText 4
类型错误 tErrGeometry 0
sSubType 属性
说明
返回点对象的次类类型(值为1或tPoint)。
次类类型常量表
类 型 说 明 值
点类型 tPot 1
点集合类型 tPoints 2
类型错误 tErrPoint 0
直线 : 只有两组坐标点,在数据转换到系统数据库时要求可读取
起点和终点的坐标;实际地物如围墙、水系边线等(所有线类地物
实例相同);
smiline直线对象
说明:只有两组坐标点的直线对象。
属性 方法
sName Add
Description Clone
sStart GetLength
sEnd
sType
sSubType
sName 属性
说明
返回直线对象的名称。
Description 属性
说明
返回有关直线对象的说明。
sStart 属性
说明
返回或设置直线对象的起点点对象。
sEnd 属性
说明
返回或设置直线对象的终点点对象。
sType 属性
说明
返回直线对象的主类类型(2或tPolyline)。
sSubType 属性
说明
返回直线对象的次类类型(1或tLine)。
次类类型常量表
类 型 说 明 值
直线类型 tLine 1
折线类型 tPLine 2
弧段类型 tArc 3
复杂线类型 tCline 4
线集合类型 tLines 5
类型错误 tErrPoint 0
Add 方法
说明
在终点之后增加一点对象,使之变成折线对象。
GetLength 方法
说明
返回直线对象的长度。
smipline折线: 具有三组以上坐标点且顺序连接,在数据转换到系统数据库
时要求可读取每个单元点的坐标;
说明:具有三组以上坐标点且顺序连接的折线对象。
属 性 方 法
sName Item
Description Add
Points Remove
Count
sType
sSubType
sName 属性
语法
String smiPLine.sName
说明
返回折线对象的名称。
Description 属性
语法
String smiPLine.Description
说明
返回有关折线对象的描述。
Points 属性
语法
smiPoints smiPLine.Points
说明
返回组成折线对象的点集合对象。
Count 属性
语法
Long smiPLine.Count
说明
返回折线对象种点对象的数目。
sType 属性
语法
TypeOfGeometry smiPLine.sType
说明
返回折线对象的主类类型(2或tLine)。
sSubType 属性
语法
TypeOfLine smiPLine.sSubType
说明
返回折线对象的次类类型(2或tPLine)。
Item 方法
语法
smiPoint smiPLine.Item(i as Long)
说明
得到折线对象中第i个点对象。
Add 方法
语法
Boolean smiPLine.Add(sp as smiPoint, i as Long)
说明
在折线对象中再添加一个点对象,返回添加点对象的成功状况。
Remove 方法
语法
Boolean smiPLine.Remove(i as Long)
说明
在折线对象中删除第i个点对象,返回删除对象的成功状况。
简单面 具有三组以上坐标点且顺序、首尾连接,或者说是由折线
组成的封闭面,在数据转换到数据库数据时要求可读取折线上每个
点坐标;
说明:具有三组以上坐标点且顺序、首尾连接,即由折线组成的封闭面。
属 性 方 法
sName Add
Description Remove
sType
sSubType
sPoints
sPLine
sName 属性
语法
String smiArea.sName
说明
返回简单面对象的名称。
Description 属性
语法
String smiArea.Description
说明
返回有关简单面对象的描述。
sType 属性
语法
TypeOfGeometry smiArea.sType
说明
返回简单面实体对象的大类类型,整型数据,值为3;
sSubType 属性
语法
TypeOfPolygon smiArea.sSubType
说明
返回实体对象的子类类型(1)。
次类类型常量表
类 型 说 明 值
简单面类型 tArea 1
复杂面类型 tCPolygon 2
岛类型 tIsland 3
面集合类型 tpolygons 4
类型错误 tErrPolygon 0
sPoints 属性
说明
返回简单面对象包含的点集合对象。
sPLine 属性
说明
返回简单面对象的边界线;
Add 方法
语法
Boolean Area.Add(sp as smiPoint ,i as Long)
说明
在面对象的边界折线中第i个点对象后插入一个点对象。
Remove 方法
语法
Boolean smiArea.Remove(i as Long)
说明
在面对象的边界折线中删除第i个点对象。
复杂面 : 由封闭复杂线组成的面,在数据转换成数据库数据时要求
可读取复杂线的每个单元的对应要素(同复杂线);
岛面 : 具有多个面,其中一个面被其它面挖空,在数据转换成数
据库数据时,可读取每个面对应的几何要素,并且能判断每个面
在实体中的地位(挖者还是被挖者);
面集合: 包含多个面的对象且封闭边没有没有交叉关系;在数据
转换成数据库数据时可以读取每个面的对应要素;
文字注记(TextPoint): 具有插入点的文本层的对象;在数据转
换成数据库数据时可以读取插入点的坐标5、 、插入的方式(左
上、左中、左下、中上、中中、中下、右上、右中、右下等)、
注记的文字内容、注记的旋转角度
2. Tools
做为一个小程序,我都不想说什么了,真的很简单,我不
知道怎么说,用用先?
2.1 Brush
我觉得这是个很好的pen哦,因为他有十五中样式,让你选择,
各有各的好处,你看着办?
2.2 AirBrush
十一样式的喷枪,点击toolbar 上的他吧,然后选择你要的样式,
酷吧!
2.3 Line, PolyLine, Spline
线是个简单的工具,用鼠标点你要开始的点,然后在点你要结束
的点,移动到你要到的地方。这个工具包括了曲线和折线在内,可以进行点
闭合,包括多点闭合和梯形和矩形。
PolyLine
和直线差不多,就是右键结束。
Spline
我自己很喜欢的一曲线画法,你有更有趣的,请告诉我。
2.4 Rectangle
就是点击,好简单,不说也罢
几个也很类似。
2.5 Cirlipse, Cone, Tube, Arch
呵呵,上面说了。
Cone
这个图形先是画个圆了,就是cone的底面了,再要你选择的
当然是顶点了,靠你了。
Tube
和cone是一样的吧,不过图形不要以为一样哦。
Arch
画一个类似我家的院门的东东,也没多大用就是。
2.6 T-piece
和矩形真的差不多啦
2.7 Text
首先你可以输入文本啊,选择颜色和字体,然后就是点击图形
区域了,文本就自己过去了,当然你还可以移动他,右键确定位置。
2.8 Fill
真的很容易出错,用的是vb的填充方法,我不知道出错了,我能
怎么做, 你告诉我?
2.9 Rubber
你看着办。
2.10 Active rectangle
就是选择一个区域算是你要active的哦
2.11 Smudge
看着办
2.12 Move, Copy & Reflect
在active 区域的部分图形可以拷贝,移动等操作
2.13 Resize, Perspective Shear, Rotate
可以重新调整大小.
Perspective Shear
不是真的透视,但是看起来也还行。
Rotate
旋转就没什么好说的了
2.14 Tile
试一下就知道了
3. Operations
3.1 恢复上一步
3.2 清除图形
3.3 轮廓线
有三种样式给你选择,看样子应该知道是怎么样的轮廓线了。
3.4 喷枪
3.5 缩放
点off按纽,在点图形就可以了,你还可以先选择一个区域,
放大。
3.6 拖动,画布大小
可以拖动图形。可以控制每次移动的象素,然后用鼠标点滑块。
Canvas Size
图形窗口的垂直高度。
3.7 重置
也可以帮助你减少一些使用的麻烦。
4. 加载和保存
4.1 Load or Add a picture file
4.2 Save as BMP or JPG
4.3 Save rectangle as BMP
保存你选择的区域为一个bmp文件。
4.4 加载mapinfo文件
5. Printing
6. Colors
0-255可以选择,自定义。你可以选择左键和右键的颜色。
7. mapinfo工具
打开mapinfo的table文件,但是只可以浏览,放大缩小,拖动和
选择,现在还没有编辑功能,因为我想做的不是mapinfo 的二次开发,
一些关于二次开发mapinfo的内容请你参考有关内容。
8. GIS课程设计结论:
9. 帮助
帮助的查找听用了api。