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

tk网站的dns修改建设银行光明支行网站

tk网站的dns修改,建设银行光明支行网站,学室内设计去哪个学校好,手机端网站提交表单验证代码GDALRasterBand Class gdal_priv.h GDALRasterBand是GDAL中用于表示栅格数据集中一个波段的类。栅格数据集通常由多个波段组成#xff0c;每个波段包含了特定的数据信息#xff0c;例如高程、红、绿、蓝色等#xff0c; 用于表示影像的不同特征。提供了许…GDALRasterBand  Class        gdal_priv.h GDALRasterBand是GDAL中用于表示栅格数据集中一个波段的类。栅格数据集通常由多个波段组成每个波段包含了特定的数据信息例如高程、红、绿、蓝色等 用于表示影像的不同特征。提供了许多功能来访问和操作波段的像素数据以及相关信息。它是GDAL C API中处理栅格数据的核心类之一为栅格数据处理和分析提供了强大的功能和灵活性。 Public Functions GetLockedBlockRef GDALRasterBlock *GetLockedBlockRefint nXBlockOff int nYBlockOff int bJustInitialize  FALSE) 获取指向内部缓存栅格块的指针 参数: nXBlockOff -- 水平块偏移量零表示最左边的块1 表示下一个块依此类推。 nYBlockOff -- 垂直块偏移量零表示最上面的块1 表示下一个块依此类推。 bJustInitialize -- 如果为 TRUE则将分配和初始化块但实际上不会从源读取。当它只是完全设置并写回时这很有用。 返回:  指向块对象的指针或失败时为 NULL // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 定义要锁定的数据块的左上角坐标int blockXOff 0; // 数据块的起始列int blockYOff 0; // 数据块的起始行// 获取锁定的数据块的引用GDALRasterBlock* block band-GetLockedBlockRef(blockXOff, blockYOff); TryGetLockedBlockRef GDALRasterBlock *TryGetLockedBlockRefint nXBlockOff int nYBlockYOff) 尝试获取块引用 参数: nXBlockOff -- 水平块偏移量零表示最左边的块1 表示下一个块依此类推。 nYBlockOff -- 垂直块偏移量零表示最上面的块1 表示下一个块依此类推。 返回:  如果块不可用则为 NULL或锁定的块指针 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 定义要锁定的数据块的左上角坐标int blockXOff 0; // 数据块的起始列int blockYOff 0; // 数据块的起始行// 尝试获取锁定的数据块的引用GDALRasterBlock* block band-TryGetLockedBlockRef(blockXOff, blockYOff); TryGetLockedBlockRef: 这个函数尝试获取指定位置的锁定数据块的引用但不会阻塞其他线程或过程对数据块的访问。如果无法立即获取锁定的数据块引用它将立即返回空指针nullptr。这样其他线程或过程可以继续执行而不需要等待数据块的可用性。这个函数适用于在多线程环境中使用以避免等待和竞争条件。 GetLockedBlockRef: 这个函数也是用于获取指定位置的锁定数据块的引用但它是一个阻塞调用。如果无法立即获取锁定的数据块引用它将等待数据块的可用性并一直阻塞到数据块可用为止。这意味着其他线程或过程在获取锁定数据块引用之前会被阻塞。因此这个函数应该在单线程环境或确保不会导致竞争条件的情况下使用。 总结而言TryGetLockedBlockRef 是一个非阻塞函数它会立即返回数据块引用如果可用而 GetLockedBlockRef 是一个阻塞函数它会等待数据块的可用性。您应该根据具体的应用场景选择使用哪个函数。在多线程环境下建议使用 TryGetLockedBlockRef 来避免阻塞其他线程。在单线程环境下可以使用 GetLockedBlockRef。 FlushBlock CPLErr FlushBlockint int int bWriteDirtyBlock  TRUE) 从块缓存中清除块 参数: nXBlockOff -- 块 x 偏移量 nYBlockOff -- 块状偏移 bWriteDirtyBlock -- 如果块脏是否应该写入磁盘。 返回:   CE_None如果成功否则为错误代码 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 定义要写入数据块的左上角坐标int blockXOff 0; // 数据块的起始列int blockYOff 0; // 数据块的起始行// 获取锁定的数据块的引用GDALRasterBlock* block band-GetLockedBlockRef(blockXOff, blockYOff);if (block ! nullptr){// 在此处处理锁定的数据块// 例如可以修改数据块的像素值// 将修改后的数据块写入数据集CPLErr err band-FlushBlock(blockXOff, blockYOff, TRUE);if (err ! CE_None){std::cout Error writing raster block. std::endl;}else{std::cout Data block written successfully. std::endl;}// 释放数据块的引用band-DropLock(blockXOff, blockYOff);} GetIndexColorTranslationTo unsigned char *GetIndexColorTranslationToGDALRasterBand *poReferenceBand unsigned char *pTranslationTable  nullptr int *pApproxMatch  nullptr) 计算颜色表的转换表 参数: poReferenceBand -- 栅格波段 pTranslationTable -- 一个已经分配的转换表至少 256 个字节或 NULL让方法分配它 pApproxMatch -- 指向在匹配是近似时设置的标志的指针。可能为空。 返回:   如果两个波段是调色板索引并且它们不匹配则为转换表在其他情况下为 NULL。如果为 pTranslationTable 传递了 NULL则必须使用 CPLFree 释放该表 // 获取第一个波段和参考波段假设参考波段索引为 2GDALRasterBand* band dataset-GetRasterBand(1);GDALRasterBand* referenceBand dataset-GetRasterBand(2);// 获取当前波段的颜色索引到参考波段的颜色索引的转换表int colorTableSize band-GetColorTable()-GetColorEntryCount(); // 获取颜色表的大小unsigned char* translationTable new unsigned char[colorTableSize];int approxMatch;band-GetIndexColorTranslationTo(referenceBand, translationTable, approxMatch); FlushCache virtual CPLErr FlushCachebool bAtClosing  false) 刷新栅格数据缓存        此调用将恢复用于缓存此栅格波段的数据块的内存并确保将新请求引用到基础驱动程序 参数: bAtClosing -- 这是否从 GDALDataset 析构函数调用 返回:  CE_None成功 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 读取数据块或执行其他操作导致波段的缓存被更新// 刷新波段的缓存将缓存中的数据写入数据集CPLErr err band-FlushCache(); GetCategoryNames virtual char **GetCategoryNames() 获取此栅格的类别名称列表 返回:  名称列表如果没有则为 NULL // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的分类名称char** categoryNames band-GetCategoryNames(); GetNoDataValue virtual double GetNoDataValueint *pbSuccess  nullptr) 获取此波段的无数据值 参数: pbSuccess -- 指向布尔值的指针用于指示值是否实际与此层相关联。可能为 NULL默认值。 返回:  此波段的无数据值 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的无数据值int pbSuccess;double noDataValue band-GetNoDataValue(pbSuccess);if (pbSuccess){std::cout NoData Value: noDataValue std::endl;}else{std::cout No NoData Value found for the band. std::endl;} GetNoDataValueAsInt64 virtual int64_t GetNoDataValueAsInt64int *pbSuccess  nullptr) 获取此波段的无数据值        此方法应仅在数据类型为 GDT_Int64 的栅格上调用 参数: pbSuccess -- 指向布尔值的指针用于指示值是否实际与此层相关联。可能为 NULL默认值。 返回:  此波段的无数据值 GetNoDataValueAsUInt64 virtual uint64_t GetNoDataValueAsUInt64int *pbSuccess  nullptr) 获取此波段的无数据值。  仅应在数据类型为 GDT_UInt64 的栅格上调用此方法 GetMinimum virtual double GetMinimum(int *pbSuccess  nullptr) 获取此波段的最小值 参数: pbSuccess -- 指向布尔值的指针用于指示返回值是否为紧最小值。可能为 NULL默认值。 返回:  最小栅格值不包括无数据像素 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的最小值int pbSuccess;double minValue band-GetMinimum(pbSuccess);if (pbSuccess){std::cout Minimum Value: minValue std::endl;}else{std::cout Failed to get the minimum value for the band. std::endl;} GetMaximum virtual double GetMaximum(int *pbSuccess  nullptr) 获取此波段的最大值 参数: pbSuccess -- 指向布尔值的指针用于指示返回值是否为紧最小值。可能为 NULL默认值。 返回:  最小栅格值不包括无数据像素 GetOffset virtual double GetOffsetint *pbSuccess  nullptr) 获取栅格值偏移        参数: pbSuccess -- 指向布尔值的指针用于指示返回值是否有意义。可能为 NULL默认值。 返回:  栅格偏移 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的数据偏移值int pbSuccess;double offset band-GetOffset(pbSuccess);if (pbSuccess){std::cout Offset Value: offset std::endl;}else{std::cout Failed to get the offset value for the band. std::endl;} GetScale virtual double GetScaleint *pbSuccess  nullptr) 获取栅格值比例         单位值 原始值 * 比例 偏移量 参数: pbSuccess -- 指向布尔值的指针用于指示返回值是否有意义。可能为 NULL默认值。 返回:  栅格比例 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的数据比例尺int pbSuccess;double scale band-GetScale(pbSuccess);if (pbSuccess){std::cout Scale Value: scale std::endl;}else{std::cout Failed to get the scale value for the band. std::endl;} 遥感影像数据 灰度影像通常使用一个常数比例尺例如 0.1 表示每个像素值乘以 0.1 后得到实际测量值。无单位浮点影像通常使用一个常数比例尺例如 0.01 表示每个像素值乘以 0.01 后得到实际物理量值例如辐射亮度。有单位浮点影像通常使用一个常数比例尺例如 0.001 表示每个像素值乘以 0.001 后得到实际物理量值例如温度。 GIS 矢量数据 点数据比例尺通常用于将地理坐标经纬度或投影坐标转换为实际长度例如米。线数据和多边形数据比例尺用于将地理坐标转换为实际长度。 GetUnitType virtual const char *GetUnitType() 返回栅格单位类型 返回: 设备名称字符串 GetUnitType() 是用于获取数据单位类型的函数 而 GetRasterDataType() 是用于获取像素值的数据类型的函数 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的单位类型const char* unitType band-GetUnitType(); GetColorInterpretation virtual GDALColorInterp GetColorInterpretation() 这条带应该如何解释为颜色 当格式对颜色解释一无所知时将返回GCI_Undefined 返回: 波段的颜色解释值 // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的颜色解释方式GDALColorInterp colorInterp band-GetColorInterpretation();switch (colorInterp){case GCI_Undefined:std::cout Color Interpretation: Undefined std::endl;break;case GCI_GrayIndex:std::cout Color Interpretation: Gray Index std::endl;break;case GCI_PaletteIndex:std::cout Color Interpretation: Palette Index std::endl;break;case GCI_RedBand:std::cout Color Interpretation: Red Band std::endl;break;case GCI_GreenBand:std::cout Color Interpretation: Green Band std::endl;break;case GCI_BlueBand:std::cout Color Interpretation: Blue Band std::endl;break;// 其他颜色解释方式可以继续添加在这里default:std::cout Color Interpretation: Unknown std::endl;break;} GCI_Undefined 0,      // 未定义颜色解释方式     GCI_GrayIndex 1,      // 灰度图像     GCI_PaletteIndex 2,   // 调色板索引图像     GCI_RedBand 3,        // 红色波段     GCI_GreenBand 4,      // 绿色波段     GCI_BlueBand 5,       // 蓝色波段     GCI_AlphaBand 6,      // 透明度Alpha波段     GCI_HueBand 7,        // 色调Hue波段     GCI_SaturationBand 8, // 饱和度Saturation波段     GCI_LightnessBand 9,  // 亮度Lightness波段     GCI_CyanBand 10,      // 青色Cyan波段     GCI_MagentaBand 11,   // 品红色Magenta波段     GCI_YellowBand 12,    // 黄色Yellow波段     GCI_BlackBand 13,     // 黑色Black波段     GCI_YCbCr_YBand 14,   // YCbCr 颜色空间的 Y 波段     GCI_YCbCr_CbBand 15,  // YCbCr 颜色空间的 Cb 波段     GCI_YCbCr_CrBand 16   // YCbCr 颜色空间的 Cr 波段 GetColorTable virtual GDALColorTable *GetColorTable() 获取与波段关联的颜色表 如果没有关联的颜色表则返回结果为 NULL 返回:  内部颜色表或 NULL // 获取第一个波段GDALRasterBand* band dataset-GetRasterBand(1);// 获取波段的颜色表GDALColorTable* colorTable band-GetColorTable();if (colorTable ! nullptr){int numColors colorTable-GetColorEntryCount();std::cout Number of Colors in Color Table: numColors std::endl;// 输出颜色表中的颜色for (int i 0; i numColors; i){GDALColorEntry colorEntry;colorTable-GetColorEntryAsRGB(i, colorEntry);std::cout Color i : R static_castint(colorEntry.c1) , G static_castint(colorEntry.c2) , B static_castint(colorEntry.c3) std::endl;}}else{std::cout No color table found for the band. std::endl;}
http://www.dnsts.com.cn/news/165164.html

相关文章:

  • 六安网站制作公司价格营口pc网站开发
  • 松岗网站好看的wordpress引导页
  • 网站建设公司宣传网站首页结构图
  • 机构编制网站建设长沙电商运营培训
  • 物流网站html5模板网站设计专题页
  • 做网站是怎样赚钱的汕头seo网站管理
  • 上海网站建设改版wordpress 自定义插件
  • 教育行业网站建设审批兰州网站建设程序
  • 营销网站建设定制北京seo人员
  • 佛山网站建设有哪些鸿梦社区wordpress
  • 做外汇看的国外网站杭州搜索引擎优化需求量
  • 企业建设网站的优势商业网站开发设计实训总结
  • 好的网站特点wordpress外网访问网页异常
  • 中文电商网站模板果洛营销网站建设
  • 长沙法律咨询网站设计开发网站开发专业职称有哪些
  • 分析网站示例设计图片免费素材网站
  • 网站建设88满城建设局官方网站
  • 网站开发是指建站公司技术服务费
  • 北京网站建设兴田德润电话多少朝阳专业网站建设公司
  • 网站建设 深路互动金华企业网站建设公司
  • 安溪网站开发社区门户网站模板
  • 资源网站优化排名xp系统做网站服务器吗
  • 电子商务网站建设与策划wordpress微信授权登录
  • cms大型门户网站 源码seo搜索引擎优化课程
  • 如何让网站做成移动版国内做家具外贸的网站
  • 网站举报查询wordpress上传的文件在哪
  • 网站建设合同标准范本电子商务网站建设与维护课程标准
  • 做网站费用会计分录怎么做广西临桂建设局网站
  • 荆州论坛广东网站营销seo费用
  • ftp上传网站之后嘉兴企业网站