阅读:3882回复:15
关于测距的问题!
<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" /> |
|
|
1楼#
发布于:2004-05-20 11:51
哎呀,没说清楚吗?怎么都没人回答一下咧?<img src="images/post/smile/dvbbs/em02.gif" />
|
|
|
2楼#
发布于:2004-05-21 10:46
<P>最近人好像多了很多,可是怎么我的问题还是没人答咧?</P>
|
|
|
3楼#
发布于:2004-05-21 11:08
百合姐,不是我们不回答,是不会呀。呵呵
|
|
4楼#
发布于:2004-05-21 11:35
<P>唉,投影的问题真是头大!</P>
|
|
|
5楼#
发布于:2004-05-21 12:06
帮你顶一下。
|
|
|
6楼#
发布于:2004-05-24 09:20
<P>再次请教,版主、高手帮忙啊!</P><img src="images/post/smile/dvbbs/em02.gif" />
|
|
|
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>
|
|
|
8楼#
发布于:2004-05-24 11:29
<P>VB的reference 里面 叫做:Esri Sample Selection Commands,注意一下它指定的路径(上面帖子中)</P><P>还有要是这个不是你想要的,那我就无能为力了,因为我最讨厌投影了!!!</P>
|
|
|
9楼#
发布于:2004-05-24 15:19
这个例子我找到了,可是它只是一个看起来实现了的Measure,它测出来的距离值是不对的,唉!不管怎么调整地图显示单位,那个数字都不对!<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em39.gif" />
|
|
|
上一页
下一页