lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3882回复:15

关于测距的问题!

楼主#
更多 发布于:2004-05-18 17:57
<P>开发环境是vb.net+AO</P>
<P>目的:实现axMapControl上的测距功能</P>
<P>我的思路:利用axMapControl本身的TrackLine功能,计算获取的pPolyline的长度,然后换算成实际长度。</P>
<P>我的问题:结果与实际长度存在较大差异!设置投影的部分我也不是很清楚,存在问题!</P>
<P>我的代码:</P>
<P>'* 1、设置地图的度量单位
                    mcMap.MapUnits = esriUnits.esriMeters</P>
<P>'* 2、设置地图的投影系统
                    Dim pSpatRefFact As ISpatialReferenceFactory2
                    pSpatRefFact = New SpatialReferenceEnvironment()
                    pSpatRefFact.GetPredefinedGeographicTransformations()</P>
<P>                    Dim m_pGeographicCoordinateSystem As IGeographicCoordinateSystem
                    Dim m_pProjectedCoordinateSystem As IProjectedCoordinateSystem
                    m_pGeographicCoordinateSystem = pSpatRefFact.CreateGeographicCoordinateSystem(esriSRGeoCSType.esriSRGeoCS_Beijing1954)
                    m_pProjectedCoordinateSystem = pSpatRefFact.CreateProjectedCoordinateSystem(esriSRProjCSType.esriSRProjCS_Beijing1954GK_13)  '=========这个地方我也不知道设得对不对,我不是很清楚自己的图的这个参数,在ArcMap里也找不到查看的位置!
                    mcMap.SpatialReference = m_pGeographicCoordinateSystem'===========这部分的设置我也不知道对不对!</P>
<P>                    '*3、获取长度
                    Dim pPolyline As IPolyline
                    pPolyline = mcMap.TrackLine
                    MsgBox("线的长度:" ; pPolyline.Length)</P>
<P>                    '*4、乘以地图的比例尺
                    MsgBox("实际长度:" ; pPolyline.Length * mcMap.MapScale)</P>
<P>我的疑问:我觉得还是投影坐标存在一定问题,方法应该是可行的,但是概念上比较糊涂,有清楚的高手给予指点啊!多谢多谢!</P><img src="images/post/smile/dvbbs/em12.gif" />
喜欢0 评分0
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-05-20 11:51
哎呀,没说清楚吗?怎么都没人回答一下咧?<img src="images/post/smile/dvbbs/em02.gif" />
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-05-21 10:46
<P>最近人好像多了很多,可是怎么我的问题还是没人答咧?</P>
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
best_lilin
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
3楼#
发布于:2004-05-21 11:08
百合姐,不是我们不回答,是不会呀。呵呵
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-05-21 11:35
<P>唉,投影的问题真是头大!</P>
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
destnity
路人甲
路人甲
  • 注册日期2004-03-25
  • 发帖数341
  • QQ
  • 铜币272枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-05-21 12:06
帮你顶一下。
签 名: 不能超过 250 个字符 文字将出现在您发表的文章的结尾处。
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-05-24 09:20
<P>再次请教,版主、高手帮忙啊!</P><img src="images/post/smile/dvbbs/em02.gif" />
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
kisssy
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-05-24 11:25
<P>to lilysunny:</P><P>如果你只想实现Measure的功能,你可以直接引用\arcgis\arcexe83\ArcObjects Developer Kit\Samples\Controls\Commands\Selection\Selection.dll</P><P>(clsMeasure.cls)里面已经实现Measure的功能!</P><P>不知道你是否是这个意思</P>
个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
kisssy
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-05-24 11:29
<P>VB的reference 里面 叫做:Esri Sample Selection Commands,注意一下它指定的路径(上面帖子中)</P><P>还有要是这个不是你想要的,那我就无能为力了,因为我最讨厌投影了!!!</P>
个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
lilysunny
路人甲
路人甲
  • 注册日期2003-08-18
  • 发帖数160
  • QQ
  • 铜币499枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2004-05-24 15:19
这个例子我找到了,可是它只是一个看起来实现了的Measure,它测出来的距离值是不对的,唉!不管怎么调整地图显示单位,那个数字都不对!<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em39.gif" />
黑夜给了你黑色的眼睛,你却拿它来翻白眼!
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部