转自原文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. 【C++】双边滤波器(bilateral filter)

    Bilateral Filtering for Gray and Color Images 双边滤波器:保留边界的平滑滤波器. 在局部上,就是在灰度值差异不大的区域平滑,在灰度值差异比较大的边界地区保 ...

  2. 三星系列NXP系列核心板设计研发-迅为嵌入式ARM方案提供商

    多种核心板平台,从硬件原型设计.layout.硬件驱动,操作系统移植.中间到上层应用等方面. 三星系列核心板: 1. SCP-4412核心板 三星Exynos4412 四核 Cortex-A9 主频为 ...

  3. EEPROM的存储大小

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

  4. JS将时间戳转换为刚刚、N分钟前、今天几点几分、昨天几点几分等表示法

    使用Javascript语言,将时间戳转换为类似新浪微博的时间的表示方法. 要求转换规则: 1分钟以内显示为:刚刚 1小时以内显示为:N分钟前 当天以内显示为:今天 N点N分(如:今天 22:33) ...

  5. C ++ _多线程笔记

    #include<iostream>#include <thread>//创建线程需要添加的头文件 using namespace std;/*thread join(阻塞:主 ...

  6. centos7 install vim8

    centos7 install vim8 Git and dependency Git: https://github.com/vim/vim # yum install -y perl-devel ...

  7. 【传智播客】Libevent学习笔记(四):事件event

    目录 00. 目录 01. 事件概述 02. 创建事件 03. 事件的标志 04. 事件持久性 05. 超时事件 06. 信号事件 07. 设置不使用堆分配的事件 08. 事件的未决和非未决 09. ...

  8. 【2019.5.19】接口测试及python基础(一)

      一.接口 1.什么是接口: 简单的说,接口就是从数据库获取数据. 2.前端和后端: 2.1前端client: 对于web来说,打开的网页,我们所看到的就是前端,前端语言包括html.JS.CSS: ...

  9. NodeJs运行服务器-day01

    //读取内置模块http,这个模块开发服务器用的var http =require('http'); var server=http.createServer(function(req,res){ r ...

  10. 关于inet_ntop、inet_pton中的n和p分别代表的意义

    函数名中的p和n非别代表表达(presentation)和数值(numeric).地址的表达格式通常是ASCII字符串,数值格式则是存放到套接字地址结构中的二进制值. 参考自:https://blog ...