⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classgdalwarpkernel.html

📁 gdal库的学习文档
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int <a class="el" href="classGDALWarpKernel.html#f0879fc547b62266f0748387ac4064f5">GDALWarpKernel::nSrcXSize</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Source image width in pixels.<p>This field is required. </div></div><p><a class="anchor" name="0458bc023ec1a065df714422a33c805f"></a><!-- doxytag: member="GDALWarpKernel::nSrcYSize" ref="0458bc023ec1a065df714422a33c805f" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int <a class="el" href="classGDALWarpKernel.html#0458bc023ec1a065df714422a33c805f">GDALWarpKernel::nSrcYSize</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Source image height in pixels.<p>This field is required. </div></div><p><a class="anchor" name="fa3cc13ac7b215567b98222136378b5e"></a><!-- doxytag: member="GDALWarpKernel::papabySrcImage" ref="fa3cc13ac7b215567b98222136378b5e" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int <a class="el" href="classGDALWarpKernel.html#fa3cc13ac7b215567b98222136378b5e">GDALWarpKernel::papabySrcImage</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Array of source image band data.<p>This is an array of pointers (of size <a class="el" href="classGDALWarpKernel.html#36c4ce6aff78d00bcc1ced37aaff53f8">GDALWarpKernel::nBands</a>) pointers to image data. Each individual band of image data is organized as a single block of image data in left to right, then bottom to top order. The actual type of the image data is determined by <a class="el" href="classGDALWarpKernel.html#46e9aa016494fcd80ef33d2e6881dee0">GDALWarpKernel::eWorkingDataType</a>.<p>To access the the pixel value for the (x=3,y=4) pixel (zero based) of the second band with eWorkingDataType set to GDT_Float32 use code like this:<p><div class="fragment"><pre class="fragment">   <span class="keywordtype">float</span> dfPixelValue;   <span class="keywordtype">int</span>   nBand = 1;  <span class="comment">// band indexes are zero based.</span>   <span class="keywordtype">int</span>   nPixel = 3; <span class="comment">// zero based</span>   <span class="keywordtype">int</span>   nLine = 4;  <span class="comment">// zero based</span>   assert( nPixel &gt;= 0 &amp;&amp; nPixel &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#f0879fc547b62266f0748387ac4064f5">nSrcXSize</a> );   assert( nLine &gt;= 0 &amp;&amp; nLine &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#0458bc023ec1a065df714422a33c805f">nSrcYSize</a> );   assert( nBand &gt;= 0 &amp;&amp; nBand &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#36c4ce6aff78d00bcc1ced37aaff53f8">nBands</a> );   dfPixelValue = ((<span class="keywordtype">float</span> *) poKern-&gt;papabySrcImage[nBand-1])                                  [nPixel + nLine * poKern-&gt;nSrcXSize];</pre></div><p>This field is required. </div></div><p><a class="anchor" name="8df0b81d44a6c5c1e231e2ff1b5c40c6"></a><!-- doxytag: member="GDALWarpKernel::papanBandSrcValid" ref="8df0b81d44a6c5c1e231e2ff1b5c40c6" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">GUInt32 ** <a class="el" href="classGDALWarpKernel.html#8df0b81d44a6c5c1e231e2ff1b5c40c6">GDALWarpKernel::papanBandSrcValid</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Per band validity mask for source pixels.<p>Array of pixel validity mask layers for each source band. Each of the mask layers is the same size (in pixels) as the source image with one bit per pixel. Note that it is legal (and common) for this to be NULL indicating that none of the pixels are invalidated, or for some band validity masks to be NULL in which case all pixels of the band are valid. The following code can be used to test the validity of a particular pixel.<p><div class="fragment"><pre class="fragment">   <span class="keywordtype">int</span>   bIsValid = TRUE;   <span class="keywordtype">int</span>   nBand = 1;  <span class="comment">// band indexes are zero based.</span>   <span class="keywordtype">int</span>   nPixel = 3; <span class="comment">// zero based</span>   <span class="keywordtype">int</span>   nLine = 4;  <span class="comment">// zero based</span>   assert( nPixel &gt;= 0 &amp;&amp; nPixel &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#f0879fc547b62266f0748387ac4064f5">nSrcXSize</a> );   assert( nLine &gt;= 0 &amp;&amp; nLine &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#0458bc023ec1a065df714422a33c805f">nSrcYSize</a> );   assert( nBand &gt;= 0 &amp;&amp; nBand &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#36c4ce6aff78d00bcc1ced37aaff53f8">nBands</a> );    <span class="keywordflow">if</span>( poKern-&gt;papanBandSrcValid != NULL       &amp;&amp; poKern-&gt;papanBandSrcValid[nBand] != NULL )   {       GUInt32 *panBandMask = poKern-&gt;papanBandSrcValid[nBand];       <span class="keywordtype">int</span>    iPixelOffset = nPixel + nLine * poKern-&gt;nSrcXSize;        bIsValid = panBandMask[iPixelOffset&gt;&gt;5]                   &amp; (0x01 &lt;&lt; (iPixelOffset &amp; 0x1f));   }</pre></div> </div></div><p><a class="anchor" name="3159cc6bcf031b76a288f2c380936f84"></a><!-- doxytag: member="GDALWarpKernel::panUnifiedSrcValid" ref="3159cc6bcf031b76a288f2c380936f84" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">GUInt32 * <a class="el" href="classGDALWarpKernel.html#3159cc6bcf031b76a288f2c380936f84">GDALWarpKernel::panUnifiedSrcValid</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Per pixel validity mask for source pixels.<p>A single validity mask layer that applies to the pixels of all source bands. It is accessed similarly to papanBandSrcValid, but without the extra level of band indirection.<p>This pointer may be NULL indicating that all pixels are valid.<p>Note that if both panUnifiedSrcValid, and papanBandSrcValid are available, the pixel isn't considered to be valid unless both arrays indicate it is valid. </div></div><p><a class="anchor" name="a208b9321e1ba4fba7afd7f83f3d929e"></a><!-- doxytag: member="GDALWarpKernel::pafUnifiedSrcDensity" ref="a208b9321e1ba4fba7afd7f83f3d929e" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">float * <a class="el" href="classGDALWarpKernel.html#a208b9321e1ba4fba7afd7f83f3d929e">GDALWarpKernel::pafUnifiedSrcDensity</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Per pixel density mask for source pixels.<p>A single density mask layer that applies to the pixels of all source bands. It contains values between 0.0 and 1.0 indicating the degree to which this pixel should be allowed to contribute to the output result.<p>This pointer may be NULL indicating that all pixels have a density of 1.0.<p>The density for a pixel may be accessed like this:<p><div class="fragment"><pre class="fragment">   <span class="keywordtype">float</span> fDensity = 1.0;   <span class="keywordtype">int</span>   nPixel = 3; <span class="comment">// zero based</span>   <span class="keywordtype">int</span>   nLine = 4;  <span class="comment">// zero based</span>   assert( nPixel &gt;= 0 &amp;&amp; nPixel &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#f0879fc547b62266f0748387ac4064f5">nSrcXSize</a> );   assert( nLine &gt;= 0 &amp;&amp; nLine &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#0458bc023ec1a065df714422a33c805f">nSrcYSize</a> );   <span class="keywordflow">if</span>( poKern-&gt;pafUnifiedSrcDensity != NULL )     fDensity = poKern-&gt;pafUnifiedSrcDensity                                  [nPixel + nLine * poKern-&gt;nSrcXSize];</pre></div> </div></div><p><a class="anchor" name="12729bba83339095b7e42410d54b4017"></a><!-- doxytag: member="GDALWarpKernel::nDstXSize" ref="12729bba83339095b7e42410d54b4017" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int <a class="el" href="classGDALWarpKernel.html#12729bba83339095b7e42410d54b4017">GDALWarpKernel::nDstXSize</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Width of destination image in pixels.<p>This field is required. </div></div><p><a class="anchor" name="323e61928f42c71fb3079c3fe49c2ba3"></a><!-- doxytag: member="GDALWarpKernel::nDstYSize" ref="323e61928f42c71fb3079c3fe49c2ba3" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">int <a class="el" href="classGDALWarpKernel.html#323e61928f42c71fb3079c3fe49c2ba3">GDALWarpKernel::nDstYSize</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Height of destination image in pixels.<p>This field is required. </div></div><p><a class="anchor" name="d8d4993befee8e0a631e08f9874fbafe"></a><!-- doxytag: member="GDALWarpKernel::papabyDstImage" ref="d8d4993befee8e0a631e08f9874fbafe" args="" --><div class="memitem"><div class="memproto">      <table class="memname">        <tr>          <td class="memname">GByte ** <a class="el" href="classGDALWarpKernel.html#d8d4993befee8e0a631e08f9874fbafe">GDALWarpKernel::papabyDstImage</a>          </td>        </tr>      </table></div><div class="memdoc"><p>Array of destination image band data.<p>This is an array of pointers (of size <a class="el" href="classGDALWarpKernel.html#36c4ce6aff78d00bcc1ced37aaff53f8">GDALWarpKernel::nBands</a>) pointers to image data. Each individual band of image data is organized as a single block of image data in left to right, then bottom to top order. The actual type of the image data is determined by <a class="el" href="classGDALWarpKernel.html#46e9aa016494fcd80ef33d2e6881dee0">GDALWarpKernel::eWorkingDataType</a>.<p>To access the the pixel value for the (x=3,y=4) pixel (zero based) of the second band with eWorkingDataType set to GDT_Float32 use code like this:<p><div class="fragment"><pre class="fragment">   <span class="keywordtype">float</span> dfPixelValue;   <span class="keywordtype">int</span>   nBand = 1;  <span class="comment">// band indexes are zero based.</span>   <span class="keywordtype">int</span>   nPixel = 3; <span class="comment">// zero based</span>   <span class="keywordtype">int</span>   nLine = 4;  <span class="comment">// zero based</span>   assert( nPixel &gt;= 0 &amp;&amp; nPixel &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#12729bba83339095b7e42410d54b4017">nDstXSize</a> );   assert( nLine &gt;= 0 &amp;&amp; nLine &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#323e61928f42c71fb3079c3fe49c2ba3">nDstYSize</a> );   assert( nBand &gt;= 0 &amp;&amp; nBand &lt; poKern-&gt;<a class="code" href="classGDALWarpKernel.html#36c4ce6aff78d00bcc1ced37aaff53f8">nBands</a> );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -