影像裁剪一些体会
2014-08-04 16:48
288 查看
最近一直在做影像裁剪的功能:
从影像服务器上下载影像(WebMercator投影),服务接口需要传入WGS84坐标的多边形,返回WebMercator影像。
客户端需要进行影像的转换成高斯投影(Beijing54为例)
View Code
地理坐标有三种形式:
1.天文经纬度,纬度为铅垂线与赤道面夹角;
2.大地经纬度,纬度为椭球面切线与赤道面夹角;
3.地心经纬度,纬度为地心连线与赤道面夹角。
从影像服务器上下载影像(WebMercator投影),服务接口需要传入WGS84坐标的多边形,返回WebMercator影像。
客户端需要进行影像的转换成高斯投影(Beijing54为例)
//基准变换并重裁剪 public static void DatumTransformation(IRasterDataset2 rasterDataset, ISpatialReference outSR, IGeoTransformation geoTransformation, string path, IPolygon Vectorlayer) { IRaster raster = rasterDataset.CreateFullRaster(); IRasterProps rasterProps = (IRasterProps)raster; double cellSize = rasterProps.MeanCellSize().X;//注意先获取象素大小 rasterProps.SpatialReference = outSR;//设置完新的空间参考之后会改变象素大小,因此要重采样 IGeoTransformationOperationSet operationSet = new GeoTransformationOperationSetClass(); operationSet.Set(esriTransformDirection.esriTransformForward, geoTransformation); operationSet.Set(esriTransformDirection.esriTransformReverse, geoTransformation); IRaster2 raster2 = (IRaster2)raster; raster2.GeoTransformations = operationSet;//基准面转换 IEnvelope envelop = new EnvelopeClass(); envelop.XMin = Vectorlayer.Envelope.XMin; envelop.YMin = Vectorlayer.Envelope.YMin; envelop.XMax = Vectorlayer.Envelope.XMax + cellSize; envelop.YMax = Vectorlayer.Envelope.YMax + cellSize; rasterProps.Extent = envelop;//再次裁剪,此时会改变象素大小,默认保证行列数不变 IRasterGeometryProc ReSample = new RasterGeometryProcClass(); ReSample.Resample(rstResamplingTypes.RSP_NearestNeighbor, cellSize, raster);//重采样 IRasterBandCollection bandCol = (IRasterBandCollection)raster; int nBandCount = bandCol.Count; if (nBandCount == 3) { int[] nodata = { 0, 0, 0 }; rasterProps.NoDataValue = nodata; } else { rasterProps.NoDataValue = 0; } ISaveAs saveas = (ISaveAs)raster; saveas.SaveAs(path, null, "JPEG"); }
View Code
地理坐标有三种形式:
1.天文经纬度,纬度为铅垂线与赤道面夹角;
2.大地经纬度,纬度为椭球面切线与赤道面夹角;
3.地心经纬度,纬度为地心连线与赤道面夹角。
相关文章推荐
- 做技术两年多的一些个人体会(经典)
- SQL Server 2000 数据库升级到2005目实施过程中的一些体会
- 使用Vega的一些体会
- ARCGIS 批量添加投影信息 ERDAS 批量裁剪影像
- 关于c#调用C++代码的一些应用的体会
- 项目管理一些体会(收藏)
- 记录一些体会
- c# 使用ChartDirector绘图的一些个人体会
- 谈谈翻译的一些体会
- 初学者做安卓的一些体会
- ssh框架的一些体会
- 选购国外虚拟主机的一些心得体会
- VOA学习中的一些经验和体会
- 对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会【个人复习+zz】
- 对JSP Model 2工作流程的一些体会
- 项目管理一些体会
- 关于开发activex的一些体会
- tomcat5.5.9+sql2000数据库连接池配置的一些心得体会
- 用C#操作word的一些体会
- 学习JAVA的一些体会