转自原文ArcEngine影像图配准

影像图配准主要包括以下几个方面

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();

这个影像图就这样到数据库中去了
注意:
    一般自己还要建立一个关于影像图的原数据表。用来记录那些影像图是属于自己的。还有名称的转换问题,因为中文名称是不可以的。

ArcEngine影像图配准的更多相关文章

  1. arcgis中nodata设为0及其小技巧

    一.arcgis中nodata设为0 两个栅格进行叠加,有时会有一部分没有数据,即用identify点击该区域,Value为NoDat a,而不是像其他非空区域一样有值. 此时注意nodata区域要赋 ...

  2. arcgis中栅格矢量计算技巧收藏

    ​ ​编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...

  3. ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE、personal/File、ShapeFile、CAD数据、影像图、影像数据集)

    ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中, ...

  4. ArcEngine中打开各种数据源(WorkSpace)的连接

    (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业 ...

  5. ArcEngine中打开各种数据源(WorkSpace)的连接(转)

    ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源.在开 ...

  6. ArcEngine中打开各种数据源(WorkSpace)的连接http://www.cnblogs.com/feilong3540717/archive/2011/08/07/2129906.html

    ArcEngine中打开各种数据源(WorkSpace)的连接 ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影 ...

  7. [转] ArcEngine中打开各种数据源(WorkSpace)的连接

    原文 ArcEngine中打开各种数据源(WorkSpace)的连接(SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源. ...

  8. arcengine 开发经典帖

    http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=25575&page=1&extra= 使用ArcGIS Engine 开发自定义 ...

  9. arcengine 开发经典帖 【强烈推荐仔细研读】

    转自原文 arcengine 开发经典帖 使用ArcGIS Engine 开发自定义GIS应用: 第一部分:使用ArcGIS Engine 发布自定义GIS应用软件-全面了解ArcGIS Engine ...

随机推荐

  1. 深入理解Java的整型类型:如何实现2+2=5?

    先看下这段神奇的Java代码: public static void main(String[] args) throws Exception { doSomethingMagic(); System ...

  2. 关于mybatis的一些用法

    resultMap 的用法 <resultMap id="唯一标识" type="映射的pojo类"> <id column = " ...

  3. js 输出某年某月某日的天数/判断闰年

    console.log(getDays(2017,12,12)); function getDays(year,month,day){ var arr = [31,28,31,30,31,30,31, ...

  4. EEPROM的存储大小

    学习单片机时,常见的EEPROM如24C02的大小为2Kbit(有的也称2KB).这里的2KB到底能存储多少数据呢? 2KB中,B表示单位bit,K表示1024. 单片机编程中常用的数据类型为unsi ...

  5. 几个有关整数的证明(from信息安全数学基础的作业)

    1. 设m,n为正整数,m为奇数,求证2m-1和2n+1互素 反证法:假设d=(2m-1,2n+1)≥2,则存在x,y∈z,2m=dx+1,和2n=dy-1 则存在u,v∈z,2mn=du+1,2nm ...

  6. [LOJ] 分块九题 1

    https://loj.ac/problem/6277 区间修改,单点查询. //Stay foolish,stay hungry,stay young,stay simple #include< ...

  7. 用户管理命令--passwd,usermod,userdel

    用户修改密码命令--passwd 当修改用户的密码时,也要分普通用户和超级用户两种情况 普通用户:修改密码前需要先输入当前密码,确认是否正确 密码设置不可以过于简单 超级用户:权利非常的大,可以设置任 ...

  8. win7下qt error: undefined reference to `_imp__getnameinfo@28'解决

    _imp__getnameinfo@28对应着winsock2.h的getnameinfo函数 首先需要导入对应的头文件 #ifndef WIN32 #include <sys/socket.h ...

  9. 洛谷 P1434 [SHOI2002]滑雪

    这道题适合记忆化练手 毕竟总有些大佬虐题. 这个题有几个剪枝 1.记忆化 这个不用多说了吧 剪枝就是 如果 当前点到下面一个点的目前下降的高度+1 小于 下面那个点 能下降的高度 那么反过来,这个点不 ...

  10. HDU 5421 Victor and String

    Victor and String Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on HDU. Orig ...