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

查看: 4260|回复: 2
收起左侧

应用ArcEngine开发影像图的配准

[复制链接]

2072

主题

100000万

铜板

363

好友

地信专家组

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

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

积分
17622

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

发表于 2009-12-3 21:58 | 显示全部楼层 |阅读模式
影像图配准主要包括以下几个方面
1.打开影像图
2.配准
3.影像图入库/保存
1.打开影像图的代码以前已经写过了。
2.配准
  配准 主要使用IGeoReference这个接口来完成工作。
  还有使用ActiveView来进行坐标转换,将MapControl中鼠标的点击位置 转换为
  地图和影像图上的坐标。
  下面介绍IGeoReference接口
   首先RasterLayer实现了这个接口
   CanGeoRef 监测该图层是否可以做配准
   PointsTransform 将鼠标的位置 转换为栅格文件上的相对坐标。
   Rectify 将纠正的结果保存为一个新的栅格文件 相当于另存为
   Register 纠正的结果生成World文件 和栅格文件保存在同一个目录下
   Reset 取消纠正 但是Register 之前的操作不能恢复。
   
   最重要的是下面三个
   Shift  一点纠正 就是平移
   TwoPointsAdjust 两点配准 有一定的缩放
   Warp 三点或以上配准
   
   注意事项
   1.每次Register是一个标志阶段
    这每次配准的过程中 必须把上次Register 以来的所有配准点数据都使用上。
    例如:
    首先Register了
    然后 1.使用了一点平移
         2.接下来 又接受了一个点 这个时候就要使用 两点配准。
         3.接下来 又接受了一个点 这个时候就要使用 三点配准了。
   2.配准一般还有一个附加的功能
     就是 让用户保存每次的配准过程 并且 提供每次配准过程的精度。这个需要自己补充。
3.入库/金字塔
  直接来代码:
     IRasterProps props=(IRasterProps)this.pRasterLayer.Raster;
    m_rasEnv=props.Extent;
    IBasicRasterSdeConnection pBasic=new BasicRasterSdeLoader();
    //提供连接信息
    pBasic.ServerName ="服务期名称" ;
    pBasic.Instance ="端口号" ;
    pBasic.UserName ="用户名" ;
    pBasic.Password ="密码" ;   
    //提供影像图
    pBasic.Raster =this.pRasterLayer .Raster ;  
    //名称
    pBasic.SdeRasterName=rasterNameInDB;
   
    IRasterSdeServerOperation pRo=(IRasterSdeServerOperation)pBasic;
    //导入数据
    try
    {     
     pRo.Create();
     pRo.ComputeStatistics();
    }
    catch(Exception ex)
    {
     System.Windows .Forms .MessageBox .Show ("影像数据入库失败!"+ex.Message );
     return;
    }
    //建立金字塔
    IRasterSdeStorage2  pRs=(IRasterSdeStorage2)pRo;
    pRs.PyramidOption=esriRasterSdePyramidOptEnum.esriRasterSdePyramidBuildSkipFirstLevel;
    pRs.PyramidResampleType=rstResamplingTypes.RSP_BilinearInterpolation;
    pRo.BuildPyramids();
    这个影像图 就这样到数据库中去了
     
    注意
    一般自己还要建立一个关于影像图的原数据表 。用来记录那些影像图是属于自己的。还有名称的转换问题
    因为中文名称是不可以的。

1145

主题

10万

铜板

2

好友

传奇会员

Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

积分
21817

灌水勋章活跃勋章冰雪节勋章

QQ
发表于 2013-11-18 19:32 | 显示全部楼层
谢谢分享!!!!谢谢分享!!!!

评分

参与人数 1铜板 +1 收起 理由
admin + 1 亲,你好快哦~~~

查看全部评分

加强科技支撑和引领  实现地质找矿新突破 。     
回复 支持 反对

使用道具 举报

37

主题

2万

铜板

111

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
5763
发表于 2022-3-1 10:24 | 显示全部楼层
谢谢分享,学习学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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