tuna
路人甲
路人甲
  • 注册日期2003-11-20
  • 发帖数75
  • QQ
  • 铜币369枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2161回复:5

如何根据指定点坐标画线

楼主#
更多 发布于:2005-06-23 21:57
请教一个mo的问题:在打开的一个shp地图上如何根据指定几个点的经纬度坐标画出一条折线,我只知道可以利用trackline拖动鼠标画线,希望高手不吝赐教,多谢!
喜欢0 评分0
hei_bao
路人甲
路人甲
  • 注册日期2005-12-18
  • 发帖数11
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-12-28 12:28
楼上的方法不错!
举报 回复(0) 喜欢(0)     评分
zpgis2002
路人甲
路人甲
  • 注册日期2004-10-29
  • 发帖数83
  • QQ
  • 铜币329枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-12-26 22:57
<P>我作的代码</P>
<P>Dim pts As New MapObjects2.Points<BR>Dim ln As New MapObjects2.line</P>
<P><BR>Private Sub Form_Load()<BR>Dim orect As MapObjects2.Rectangle<BR>    Set orect = Map1.Extent<BR>    orect.ScaleRectangle (0.5)  '<BR>    Map1.Extent = orect<BR>End Sub</P>
<P>Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)<BR>   Dim sym As New MapObjects2.Symbol<BR>   With sym<BR>        .SymbolType = moLineSymbol<BR>        .Color = moBlue<BR>    End With<BR>If i = True Then</P>
<P>   ln.Parts.Add pts<BR>   Map1.DrawShape ln, sym<BR>   Set pts = Nothing<BR>   <BR>End If<BR>   <BR>End Sub</P>
<P>Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)<BR> Dim pt As New MapObjects2.Point<BR> If Button = vbLeftButton Then</P>
<P>pts.Add Map1.ToMapPoint(X, Y)<BR>End If<BR>If Button = vbRightButton Then<BR>i = True<BR>Map1.TrackingLayer.Refresh True<BR>End If</P>
<P>End Sub<IMG src="http://www.gisempire.com/bbs/Skins/default/topicface/face5.gif" align=absMiddle></P>
举报 回复(0) 喜欢(0)     评分
heqjxiaoyao
路人甲
路人甲
  • 注册日期2003-07-31
  • 发帖数981
  • QQ83031582
  • 铜币910枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-06-28 20:57
<P>定义Point,将Point添加到Points,将Points添加到Line的Parts就可以画出来了</P>
[此贴子已经被作者于2005-6-29 16:33:30编辑过]
希望大家访问我的个人博客: 随笔闲谈: http://rsgisman.bokee.com
举报 回复(0) 喜欢(0)     评分
tuna
路人甲
路人甲
  • 注册日期2003-11-20
  • 发帖数75
  • QQ
  • 铜币369枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-06-28 20:41
这位大哥能否详细说一下啊,如何转换为shape坐标,如何生成一条线呢.
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-06-27 09:18
把经纬转换为Shape坐标,生成一条线写入Shape就行了
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部