当前位置: 首页 > news >正文

教育网站制作定制网络建站系统

教育网站制作定制,网络建站系统,在线crm系统是啥,json做网站的数据库目录 1.关于重采样 1.1概念 1.2用途 1.3常见算法 2.关于GDAL 2.1GDAL中的重采样算法 3.实现重采样 3.1思路 3.2完整代码 3.3使用QGIS验证效果 1.关于重采样 1.1概念 重采样是以原始图像的像元值或者导出的值填充到新的图像的每个像元的的过程。 1.2用途 在地理信…目录 1.关于重采样 1.1概念 1.2用途 1.3常见算法 2.关于GDAL 2.1GDAL中的重采样算法  3.实现重采样 3.1思路 3.2完整代码 3.3使用QGIS验证效果 1.关于重采样 1.1概念 重采样是以原始图像的像元值或者导出的值填充到新的图像的每个像元的的过程。 1.2用途 在地理信息栅格数据的处理中有着比较重要的用途如地图制图中不同比例尺下需要有不同 的分辨率显示在卫星遥感影像的数据的处理中重采样也是必不可少的一个环节在空间分析时保持不同来源的数据的分辨率一致也是必要的操作。 1.3常见算法 重采样常用的算法有邻近点插值、双线性插值、三次卷积插值等。他们各自有其应用场景。这里暂时不对这些算法展开深入讨论。 2.关于GDAL GDAL的Warp程序不仅能实现栅格数据的重投影和镶嵌也可以实现栅格数据的重采样。本文简单介绍一个使用java调用GDAL的API实现栅格数据的重投影的方法。  2.1GDAL中的重采样算法  根据GDAL的文档介绍其支持的重采样算法有以下类型 near为邻近点插值它是将最近的原始像元值赋值给新像元。 bilinear为双线性插值它是通过4个相邻像元的距离加权平均值估算新像元值的方法。 cubic为三次卷积插值它是通过16个相邻像元的距离加权平均值估算新像元值的方法。 其他方法暂时不介绍。 3.实现重采样 3.1思路 在GDAL的java绑定库中gdal.Warp允许传入Dataset、Dataset[]、WarpOptions对像作为入参来进行调用结合GDAL中对C语言的GDALWarp函数的描述文档再经过验证可以确认Dataset为要输出的栅格数据集Dataset[]是输入的栅格数据集包含原栅格和要输出的栅格。 public static int Warp(Dataset dstDS, Dataset[] object_list_count, WarpOptions warpAppOptions) {return gdalJNI.Warp__SWIG_2(Dataset.getCPtr(dstDS), dstDS, object_list_count, WarpOptions.getCPtr(warpAppOptions), warpAppOptions);} 根据上述参数我们可以根据输入文件路径读取源文件为Dataset根据输出文件路径创建Dataset创建一个Vector对象来构建WarpOptionsVector的内容按照gdalwarp命令行程序的参数要求来输入最后调用gdal.Warp来给新创建的数据集填充数据填充数据后保存即可。 以下代码是对上述文字描述的代码的一个示例省去了创建数据集的代码。 VectorString vector new Vector();vector.add(-r);vector.add(bilinear);//执行双线性插值法重采样WarpOptions warpOptions new WarpOptions(vector);gdal.Warp(datasetWarp, new Dataset[]{dataset}, warpOptions); 3.2完整代码 以下代码是一个完整的方法输入要重采样的栅格数据的路径文本、要输出的栅格数据的路径文本、输入东西、南北方向的分辨率其中南北方向的分辨率需要输入负数。 /*** 对栅格重采样** param inputPath 输入的栅格路径* param outputPath 输出的栅格路径* param r1 东西方向像元大小地图单位* param r2 南北方向像元大小地图单位*/public static void reSample(String inputPath, String outputPath, double r1, double r2) {// 打开输入栅格文件Dataset dataset gdal.Open(inputPath, gdalconst.GA_ReadOnly);double[] gt1 dataset.GetGeoTransform();int xSize new Double(dataset.getRasterXSize() * gt1[1] / r1).intValue();int ySize new Double(dataset.getRasterYSize() * gt1[5] / r2).intValue();ySize Math.abs(ySize);double[] gt2 {gt1[0], r1, 0.0, gt1[3], 0.0, r2};Driver driver gdal.GetDriverByName(GTiff);Dataset datasetWarp driver.Create(outputPath, xSize, ySize, gdalconst.GA_Update, gdalconst.GDT_Float32);datasetWarp.SetGeoTransform(gt2);datasetWarp.SetSpatialRef(dataset.GetSpatialRef());VectorString vector new Vector();vector.add(-r);vector.add(bilinear);//执行双线性插值法重采样WarpOptions warpOptions new WarpOptions(vector);gdal.Warp(datasetWarp, new Dataset[]{dataset}, warpOptions);datasetWarp.FlushCache();datasetWarp.delete();dataset.delete();} 3.3使用QGIS验证效果 30m分辨率的源数据显示效果 12m分辨率的重采样数据显示效果 经过验证该方法将低分辨率的栅格重采样为高分辨率的数据栅格效果相对较好反之容易产生空间范围缩小的问题、所以本文只提供了java调用GDAL实现栅格重采样的的思路该方法若要用于生产环境还需要做出优化才行。
http://www.pierceye.com/news/968986/

相关文章:

  • 自己做的网站点击赚钱徐州万网网站建设
  • 网站定制生成器网页制作需要会哪些
  • 最重要的网站官方网站手机 优帮云
  • 建一个展示网站下班多少钱怎样给一个公司做网站改版
  • wordpress 网站死机php7.0 wordpress 设置
  • 免版权费自建网站自考本科官网
  • 使用ai做网站设计长沙建设网站哪家好
  • 建设行业网站价格公共服务标准化建设
  • 电商网站开发发展和前景网站建设案例多少钱
  • 网站建设特效代码做销售用什么网站
  • 如何做中英版网站上海到北京机票
  • 海淀网站建设枣庄微信官网小程序注册
  • 投诉网站制作事件营销的概念
  • 做网站一个程序员够吗企业互联网推广
  • 安徽省建设工程资料上传网站网站内容优化
  • 直接用apk 做登陆网站呢图网站场建设封面
  • 书店网站的建设网络服务器搭建
  • led灯网站模板电商网站开发人员人数
  • 南阳网站建设报价沧州南皮网站建设
  • 网站左侧分类导航菜单用PS做的个人网站图片
  • 返利网 网站开发青岛开发区建网站哪家好
  • 还能电子商务网站建设短网址生成站长工具
  • 有专门做网站的吗网站后台发表文章
  • 秦皇岛汽车网站制作广州网站建设 知名
  • 自己建网站数据怎么做惠州网站制作培训
  • 南山做网站的wordpress自助友链
  • php企业网站源码软件工程师发展前景
  • 如何从建设局网站上更换职称人员哪个网站可以免费做国外网站
  • 情侣博客网站模板下载学校网站建设调查报告
  • 平台网站开发是什么意思全屏的网站