影像裁剪一些体会

最近一直在做影像裁剪的功能:

从影像服务器上下载影像(WebMercator投影),服务接口需要传入WGS84坐标的多边形,返回WebMercator影像。

客户端需要进行影像的转换成高斯投影(Beijing54为例)

认为WGS84地理坐标到北京54高斯投影在存在七参数的情况下是可逆变换。

WGS84地理坐标到WebMercator投影是投影变换是可逆变换。这有点让人难以理解!

想得到的影像是一个矩形区域,如果直接传人WGS84地理坐标系下的矩形,裁剪出来的影像是没有黑边的。

但是根据Beijing54高斯投影坐标系下划分的矩形,反算到WGS84坐标再传入得到的影像是有黑边的。即使这时候把得到的影像重新转换成Beijing54投影坐标系。

影像不同基准面进行转换基本上都会产生黑边。

因此在得到了Beijing54投影后的影像后还需要进行再一次的裁剪。这时候就用范围裁剪就好了,AE只需要改变IRasterProps的有关属性就能实现,实在太强大了。

 1 //基准变换并重裁剪
 2         public static void DatumTransformation(IRasterDataset2 rasterDataset, ISpatialReference outSR, IGeoTransformation geoTransformation, string path, IPolygon Vectorlayer)
 3         {
 4             IRaster raster = rasterDataset.CreateFullRaster();
 5             IRasterProps rasterProps = (IRasterProps)raster;
 6             double cellSize = rasterProps.MeanCellSize().X;//注意先获取象素大小
 7             rasterProps.SpatialReference = outSR;//设置完新的空间参考之后会改变象素大小,因此要重采样
 8             IGeoTransformationOperationSet operationSet = new GeoTransformationOperationSetClass();
 9             operationSet.Set(esriTransformDirection.esriTransformForward, geoTransformation);
10             operationSet.Set(esriTransformDirection.esriTransformReverse, geoTransformation);
11
12             IRaster2 raster2 = (IRaster2)raster;
13             raster2.GeoTransformations = operationSet;//基准面转换
14             IEnvelope envelop = new EnvelopeClass();
15             envelop.XMin = Vectorlayer.Envelope.XMin;
16             envelop.YMin = Vectorlayer.Envelope.YMin;
17             envelop.XMax = Vectorlayer.Envelope.XMax + cellSize;
18             envelop.YMax = Vectorlayer.Envelope.YMax + cellSize;
19             rasterProps.Extent = envelop;//再次裁剪,此时会改变象素大小,默认保证行列数不变
20             IRasterGeometryProc ReSample = new RasterGeometryProcClass();
21             ReSample.Resample(rstResamplingTypes.RSP_NearestNeighbor, cellSize, raster);//重采样
22             IRasterBandCollection bandCol = (IRasterBandCollection)raster;
23             int nBandCount = bandCol.Count;
24             if (nBandCount == 3)
25             {
26                 int[] nodata = { 0, 0, 0 };
27                 rasterProps.NoDataValue = nodata;
28             }
29             else
30             {
31                 rasterProps.NoDataValue = 0;
32             }
33             ISaveAs saveas = (ISaveAs)raster;
34             saveas.SaveAs(path, null, "JPEG");
35         }

影像裁剪一些体会

时间: 2024-10-13 22:25:34

影像裁剪一些体会的相关文章

土地利用分类详细教程——以高分一号影像为例(上)

1 前言 相信跟我一样刚刚接触遥感的计算机人士来讲,突然转行开始弄遥感,刚开始肯定会一头雾水.更别说什么土地利用分类的制作了.在这里,我将会用最为直接的图形流程操作来给像我一样初识遥感的童鞋们讲解一下制作土地利用的整个过程. 首先,我先用一幅流程图来概括一下制作土地利用的整个过程.如下图1所示: 图1土地利用分类流程图 这个流程操作适用于一般影像制作土地利用过程.然而对于高分影像数据而言,制作土地利用流程需要进行一些修改.在文章的最后,我会将高分影像数据制作土地利用的流程图附上.现在,让我们开始

影像数据的裁切和保存

ArcGIS 的栅格影像可以供保存的格式有: The format strings used for the supported formats are below, and they are case sensitive: Format Name String Used Imagine "IMAGINE Image" TIFF "TIFF" GRID "GRID" JPEG "JPG" JP2000 "JP2&qu

2014-9 个人小结

时间很快,过年到现在转眼已经半年过去了. 这半年很忙碌,做了很多工作,产生了很多问题,无力吐槽.说一下自己技术方面的工作: 首先是开源了两个项目:RGeos(二维)和RGeos.SlimScene(三维)尝试理解二维GIS系统和三维GIS系统开发的内容.这个过程使自己得到不少提高.二维方面理解了基础的二维GIS涉及的内容,包括屏幕坐标转换.地图投影和变换.GIS几何对象定义.少量的几何算法和GDI+绘制.对GDAL有了深入一点的理解.因为工作中影像裁剪的工作,涉及了一些二维影像裁剪的内容.三维方

ArcGIS应用视频教程(视频+PPT+实验数据)

视频名称 时长 关键词 内容描述 1.1ArcGIS的安装 11分59秒 安装环境,安装步骤,软件破解,各种问题,解决方法 ArcGIS安装环境,ArcGIS安装步骤,软件破解,安装过程中各种问题和解决方法 1.2ArcGIS体系 13分14秒 软件体系,产品级别,中英文切换,各个模块 ArcGIS软件体系,ArcGIS for Desktop产品级别,中英文切换,各个模块的分工 1.3ArcGIS10.2新特点和学习方法 11分1秒 新特性,文件夹连接,学习方法,操作方法 ArcGIS10.2

利用多项式实现图像几何校正(Matlab实现)

1.原理简述:     根据两幅图像中的一些已知对应点(控制点对),建立函数关系式,通过坐标变换,实现失真图像的几何校正. 设两幅图像坐标系统之间畸变关系能用解析式来描述: 根据上述的函数关系,可以依次计算畸变图像每个像素的矫正坐标值,保持各像素值不变,这样生成一幅矫正图像. 2.实现过程: (1)因此首先要得到多项式,matlab提供了拟合多项式的函数 Isqcurvefit,                                格式:lsqcurvefit(f,a,x,y) f:符

ArcGIS Python实现批量化裁剪影像

一.程序代码: import arcpy arcpy.CheckOutExtension("spatial") arcpy.gp.overwriteOutput=1 arcpy.env.workspace = "F:\\Modis_16\\1Moasic" rasters = arcpy.ListRasters("*", "tif") mask= "F:\\Vegetation Change\\Data\\Bound

arcgis影像分幅图裁剪

栅格工具箱——栅格处理——分割栅格 方式选择——多边形要素 其他选项——重叠度,单位可按距离或像素 原文地址:https://www.cnblogs.com/geosnoob/p/11718033.html

ENVI支持下利用高分辨率影像城市绿地信息提取方案

城市绿地在改善城市生态环境和人居环境起着积极的作用,城市绿地含量逐渐成为衡量城市生活质量的一个重要指标.此外,城市绿地的空间分布格局与其生态效应有着密切的关系.因此,必须客观.准确地掌握城市绿地信息.传统的城市绿化调查主要通过基层单位上报统计数据和实地抽样调查完成,资金和人力投入大,时间周期长.数据受人为影响较大且精度低,缺乏空间统计分析功能. 随着航天遥感技术的发展,高分辨率遥感图像在国内已经得到广泛的应用.而这些高分辨率图像的出现,也给城市绿地信息提取提供了更为有效而便捷的手段. 目前,可获

组织敏捷之路上的七点体会

1,专门的机构或专人来推进组织级敏捷,可能的机构名称有:敏捷中心.卓越中心.过程改进部.SEPG.质量部.运营改善部.PMO.Delivery Excellence:可能的专人有:过程总监.质量总监.项目管理总监.Chief Agile Coach. 2,敏捷开发涉及到各项方方面面,就算是采用书本上的某些实践,比如用户故事,各个团队各个组织都有些定制化或改造过的做法,比如新加tech story,比如建立两张需求backlog,一张是原始需求,一张是user story.这些组织特色的实践值得归