• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

ArcGIS Pro栅格修改大小另存

System.Uri uri = new Uri("e:\\ESRI_GDB\\Southampton.gdb");

QueuedTask.Run(() =>
{

   FileGeodatabaseConnectionPath path = new FileGeodatabaseConnectionPath(uri);

   Geodatabase gdb = new Geodatabase(path);

   RasterDataset rasterDataset = gdb.OpenDataset<RasterDataset>("Raster_250");

   Raster raster = rasterDataset.CreateFullRaster();

   SpatialReference spatialReference = SpatialReferenceBuilder.CreateSpatialReference(27700);

   raster.SetSpatialReference(spatialReference);

   Envelope ext = EnvelopeBuilder.CreateEnvelope(400000, 100000, 450000, 150000, spatialReference); // select an area

   int W = raster.GetWidth(); // original raster is 4040 columns
   int H = raster.GetHeight(); // 3880 rows

   raster.SetWidth(500);   // try to set the size of the output raster
   raster.SetHeight(500);

   W = raster.GetWidth(); // still 4040 columns
   H = raster.GetHeight(); // correct at 500 rows

   raster.SetExtent(ext); // select teh geographic area of interest

   FileSystemConnectionPath connectionPath = new FileSystemConnectionPath(new System.Uri(@"C:\Dummy"),    FileSystemDatastoreType.Raster);
   FileSystemDatastore dataStore = new FileSystemDatastore(connectionPath);

   RasterStorageDef rasterStorageDef = new RasterStorageDef();
   rasterStorageDef.SetPyramidLevel(0); // don't want pyramids

   raster.SaveAs("bbtest.tif", dataStore, "TIFF", rasterStorageDef); // creates long thin distorted raster of the correct geographic area
  });

 

posted on 2020-04-03 22:13  gisai  阅读(807)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3