免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 8573|回复: 10
收起左侧

获取点坐标以及高程(C# +ArcEngine93)

[复制链接]

2072

主题

100000万

铜板

363

好友

地信专家组

每一次的分离都是为了下一次的相聚

Rank: 14Rank: 14Rank: 14Rank: 14

积分
17612

精华勋章宣传勋章爱心勋章组织勋章地信元老灌水勋章荣誉会员勋章活跃勋章贡献勋章

发表于 2009-12-3 21:42 | 显示全部楼层 |阅读模式
获取点坐标和高程(C# +ArcEngine93)
程序说明:
1.需要一个带坐标系的栅格数据.
2.关键程序很简单,用关键接口ISurface,方法用ISurface.GetElevation().

程序下载在下面

关键代码如下:
/// <summary>
        /// 获取x,y,高程值
        /// </summary>
        /// <param name="raster"></param>
        /// <param name="point"></param>
        /// <param name="ptX"></param>
        /// <param name="ptY"></param>
        /// <param name="ptHeight"></param>
        void getXYAndHeight(IRaster raster, IPoint point, out double ptX, out double ptY, out double ptHeight)
        {
            ptX = 0.0;
            ptY = 0.0;
            ptHeight = 0.0;
            try
            {
                IGeoDataset geoDt = raster as IGeoDataset;
                ISpatialReference spatialreference = geoDt.SpatialReference;

                IRasterSurface rasterSurface = new RasterSurfaceClass();
                rasterSurface.PutRaster(raster, 0);
                ISurface surface = rasterSurface as ISurface;

                if (point.SpatialReference == null)
                {
                    point.Project(spatialreference);
                    ptX = point.X;
                    ptY = point.Y;
                    //获取高程
                    ptHeight = surface.GetElevation(point);
                }
                else
                {
                    ptX = point.X;
                    ptY = point.Y;
                    //获取高程
                    point.Project(spatialreference);
                    ptHeight = surface.GetElevation(point);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
复制代码

1.jpg

2.jpg


希望能给初学者一点帮助.
程序做得不是很完善,欢迎各位修改,提意见.

程序下载 .rar

58 KB, 下载次数: 196

0

主题

416

铜板

9

好友

技术员

啊两

Rank: 3Rank: 3

积分
20
发表于 2010-12-5 17:12 | 显示全部楼层
没有铜板了啊
阿萨德法

0

主题

13

铜板

0

好友

实习生

Rank: 1

积分
6
发表于 2011-6-11 15:22 | 显示全部楼层
感谢分享,正好在学习这个方法呢

4

主题

109

铜板

0

好友

技术员

Rank: 3Rank: 3

积分
57
发表于 2013-8-22 21:57 | 显示全部楼层
非常感谢楼主
回复 支持 反对

使用道具 举报

11

主题

1466

铜板

11

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
613
QQ
发表于 2013-8-22 22:38 | 显示全部楼层
好好学习了,我的C#学得不怎么样的
回复 支持 反对

使用道具 举报

10

主题

1033

铜板

3

好友

助理工程师

Rank: 5Rank: 5

积分
200
发表于 2013-8-25 17:11 | 显示全部楼层
本帖最后由 风云华少 于 2013-8-25 17:13 编辑

这是个好东西啊,正想找呢,在论坛逛逛竟然碰到了,甭也别说,先试试{:soso_e102:}

顺便想问下,可以直接在arcgis上用吗?
回复 支持 反对

使用道具 举报

2

主题

3818

铜板

6

好友

工程师

Rank: 7Rank: 7Rank: 7

积分
491
发表于 2013-8-25 17:20 | 显示全部楼层
感谢楼主了。。。
回复 支持 反对

使用道具 举报

0

主题

121

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
20
QQ
发表于 2015-3-30 14:49 | 显示全部楼层
顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

地信网友  发表于 2022-3-1 17:34
up我的shp文件显示获取失败是为什么啊
地信网友  发表于 2022-3-1 17:37
up主,我的显示shp文件获取失败是因为什么啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表