mapobejcts组件应用设计(几何对象)

mapobejcts组件应用设计(几何对象)

ID:11406209

大小:127.50 KB

页数:11页

时间:2018-07-11

mapobejcts组件应用设计(几何对象)_第1页
mapobejcts组件应用设计(几何对象)_第2页
mapobejcts组件应用设计(几何对象)_第3页
mapobejcts组件应用设计(几何对象)_第4页
mapobejcts组件应用设计(几何对象)_第5页
资源描述:

《mapobejcts组件应用设计(几何对象)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.Point对象2.Line及Polygon对象1.图形坐标数据2.Points集合与Parts集合3.几何对象的运算1.IsPointIn2.GetCrossings3.4.Intersect5.Difference6.Xor7.Buffer4.动态分段1.点事件(PointEvents)2.线事件(LineEvent)3.线的节点(Vertex)路程4.动态分段样例MapObjects2可以处理的几何元素有Point、Line、Polygon、Circle、Rectangle,每种元素定义成一个对象。这些对象统称为Shape,但没有定义Shape对象。除了

2、Point以外,其它四种都提供了交互式输入方法:TrackLine、TrackPolygon、TrackCircle、TrackRectangle。2.5.1Point对象Point是最简单的对象,语句DimptAsNewMapObjects2.Pointpt.X=30342pt.Y=43535建立了一个Point实例。2.5.2Line及Polygon对象1图形坐标数据在MapObjects2中,Line与Polygon图形都用Point的有序集合的集合定义,称为parts,Point的有序集合定义一条折线,称为part,part的集合命名为Parts。只有一

3、条折线的Line或Polygon实例的Parts集合中仅含有一个part。在Line中part的首尾两点不同,在Polygon中part的首尾两点用一个Point表示。下面这段程序取自附属盘中的样例GeoData中的MouseDown事件过程,程序先根据鼠标位置查出一个省区,然后将省区多边形的坐标串加入到List1控件中。DimrecsAsMapObjects2.Recordset'查询结果记录集DimcurXAsSingle,curYAsSingle'鼠标光标位置坐标Case“显示选择的多边形坐标数据”DimptAsMapObjects2.PointDimdi

4、stAsDoubleSetpt=Map1.ToMapPoint(curX,curY)‘根据屏幕坐标建立point实例dist=1000Setrecs=Map1.Layers(“china”).SearchByDistance(pt,dist,“”)‘按距离查询Ifrecs.EOFThenExitSub‘在列表框中显示省界坐标”DimshpAsPolygonDimptsAsMapObjects2.PointsDimiAsIntegerDimjAsIntegerSetshp=recs(“Shape”).ValueMe.List1.ClearMe.List1.AddI

5、tem“Parts.Count=“&shp.Parts.CountMe.List1.AddItemrecs.Fields(“Name”)+“省界坐标”Forj=0Toshp.Parts.Count-1Setpts=shp.Parts(j)Fori=0Topts.Count-1Me.List1.AddItem(Str(pts.Item(i).X)&““&Str(pts.Item(i).Y))NextiNextjMap1.Refresh‘触发Map1_AfterTrackingLayerDraw事件过程,绘制查询结果图EndSelect2Points集合与Parts

6、集合在Polygon及Line对象中,Points是点的集合,Parts是Points的集合。以下是集合上的常用操作:DimpolyAsMapObjects2.PolygonDimptsAsMapObjects2.PointsSetpoly=Map1.TrackPolygon‘鼠标跟踪绘制一个多边形Setpts=poly.Parts.Item(0)‘获得多边形中Points集合的引用pts.Removepts.Count–1‘删除多边形上的最后一点DimptAs NewMapObjects2.Pointpt.X=2300pt.Y=4500pts.Set2,pt‘

7、替换pts集合中的点pts.Item(2)pts.Reverse‘改变pts中点的排列方向在Polygon对象中,Points集合中点的排列方向赋予了特殊的含义。简单Polygon边界Points点按顺时针方向排列。含有岛区的复合Polygon的外围边界线点按顺时针方向排列,内部岛区边界线点按逆时针方向排列。Parts集合是不可创建对象,Polygon与Line的Parts属性也是只读的。在创建Polygon或Line对象的实例同时创建了Parts实例,且用Parts属性引用Parts实例。可按如下步骤建立一个完整的Polygon实例:1创建一个Polygon对

8、象实例。2创建Point

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。