hei_bao
路人甲
路人甲
  • 注册日期2005-12-18
  • 发帖数11
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3249回复:10

【求教】关于用VB+MO画点

楼主#
更多 发布于:2005-12-20 23:21
<P>我有一组点数据,每个点的横坐标都大约在500,000左右,纵坐标都大约在</P>
<P>4,000,000左右,我在一个5000*5000的MAP控件上想把它们画出来,可是</P>
<P>结果Map控件上什么都没有,是没画上还是显示不出来?</P>
<P>(Scorllbars=ture)</P>

<P>请问各位大侠这个问题怎么解决?</P>
<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
喜欢0 评分0
hei_bao
路人甲
路人甲
  • 注册日期2005-12-18
  • 发帖数11
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-12-21 12:18
晕,我发的帖子总是没人回!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
举报 回复(0) 喜欢(0)     评分
majun
路人甲
路人甲
  • 注册日期2004-09-22
  • 发帖数10
  • QQ
  • 铜币162枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-12-23 15:39
<P>都不知道你是怎么画的,代码可以看一下吗?</P>
<P>你只是想在map1上显示一下还是把它保存到图层里在渲染呀</P>
举报 回复(0) 喜欢(0)     评分
zpgis2002
路人甲
路人甲
  • 注册日期2004-10-29
  • 发帖数83
  • QQ
  • 铜币329枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-12-25 15:14
<P>是否做过,将点数据转为控制坐标。这样也可以显示的。不过坐标变小点。要么把数据作一次</P>
<P>转为地图坐标,这样也不影响。或在tarckinglayer上画一次。作为geoevent 加入。不过要先加个图层,要是可以。可能要想建个空图层。设置好投影坐标系后在将点数据写入数据表。做为图层显示。呵呵。这是我个学习的一天认识,有什么不足。<IMG src="http://www.gisempire.com/bbs/Skins/Default/emot/em03.gif">请原谅。</P>
举报 回复(0) 喜欢(0)     评分
hei_bao
路人甲
路人甲
  • 注册日期2005-12-18
  • 发帖数11
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-12-25 18:56
<P>我的代码:</P>

<P>Dim db As Database<BR>Dim recset As Recordset<BR>Dim fiex As Field, fiey As Field<BR>Dim pts As New MapObjects2.Points</P>
<P>Dim pt As New MapObjects2.Point</P>

<P><BR>Private Sub Command1_Click()<BR>Dim ptmp As New MapObjects2.Point<BR>Dim fullfile As String<BR></P>
<P>CommonDialog1.Filter = "Access数据库 (*.mdb) | *.mdb"<BR>CommonDialog1.DialogTitle = "选择数据文件"<BR>CommonDialog1.ShowOpen</P>
<P>If CommonDialog1.FileTitle = "" Then Exit Sub<BR>fullfile = Trim(CommonDialog1.FileName)</P>
<P>Set db = OpenDatabase(fullfile, False, False)<BR>Set recset = db.OpenRecordset("dxdcbd", dbOpenTable)<BR>Set fiex = recset.Fields("横座标")<BR>Set fiey = recset.Fields("纵座标")</P>
<P>recset.MoveFirst<BR>While Not recset.EOF<BR>  List1.AddItem (fiex.Value)<BR>  List2.AddItem (fiey.Value)<BR>  ptmp.X = Val(fiex.Value)<BR>  ptmp.Y = Val(fiey.Value)<BR>  pts.Add pt<BR>  recset.MoveNext<BR>Wend</P>
<P>Map1.TrackingLayer.Refresh True<BR>End Sub</P>
<P>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</P>
<P><BR>Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE)<BR>Dim syl As New MapObjects2.Symbol</P>
<P><BR>With syl<BR>  .SymbolType = moPointSymbol<BR>  .Color = moRed<BR>  .Size = 1<BR>End With</P>
<P>Map1.DrawShape pts, syl</P>
<P>End Sub</P>

<P>这个程序中我直接用坐标画点,在实验中,我也曾用FromMapPoint方法获得这些坐标的屏幕坐标,在用DrawShape方法画点,结果也看不到。这个程序即没有新建图层,也没有用到投影,是不是和这个有关系啊?</P>
<P>求大家帮帮我!!!!</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
zpgis2002
路人甲
路人甲
  • 注册日期2004-10-29
  • 发帖数83
  • QQ
  • 铜币329枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-12-26 12:03
<P>我尝试过了.作为EVENT 可以加入TACKINGLAYER层</P>
<P>.不过还是要设置一下MAP控件的坐标范围,否则显示不出来</P>
举报 回复(0) 喜欢(0)     评分
hei_bao
路人甲
路人甲
  • 注册日期2005-12-18
  • 发帖数11
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2005-12-26 12:13
<P>楼上的大哥有没有简单的代码啊?有的话贴上来好不好</P>
<P>谢谢了!</P>
<P>还有怎么设置Map控件的坐标范围啊?</P>
<P>求教!!!!</P><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
zpgis2002
路人甲
路人甲
  • 注册日期2004-10-29
  • 发帖数83
  • QQ
  • 铜币329枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2005-12-26 15:45
<P>不要急</P>
<P>,我晚上给你</P>
举报 回复(0) 喜欢(0)     评分
zpgis2002
路人甲
路人甲
  • 注册日期2004-10-29
  • 发帖数83
  • QQ
  • 铜币329枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2005-12-26 19:30
<P>搞出来了</P>
<P> ptmp.X = Val(fiex.Value)/ 横坐标最大数值还多点</P>
<P>ptmp.Y = Val(fiey.Value/纵坐标最大数值还多点</P>
<P>可以显示了</P>
举报 回复(0) 喜欢(0)     评分
hei_bao
路人甲
路人甲
  • 注册日期2005-12-18
  • 发帖数11
  • QQ
  • 铜币138枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2005-12-26 23:34
<P>我试过了</P>
<P>显示是可以显示,但是由于坐标做除法运算后差得很小</P>
<P>导致它们在地图上要放大很多倍才能分得开,而且和实际的坐标数据也无法对应</P>
<P>感觉有些美中不足 </P>
<P>可以改进吗?真挚的感谢献给亲爱的zpgis2002</P>

<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部