Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > 7fd7c575020aa78a8e2e309ea8909f43 > files > 595

gdal-1.6.2-6.fc13.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GXF: gxfopen.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.2-20100208 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>gxfopen.h File Reference</h1><code>#include &quot;cpl_conv.h&quot;</code><br/>
<code>#include &quot;cpl_string.h&quot;</code><br/>

<p><a href="gxfopen_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structGXFInfo__t.html">GXFInfo_t</a></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">GXFHandle&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#af47fc490559185e1bfb824f0aa250c08">GXFOpen</a> (const char *pszFilename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CPLErr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#a598dcb0c74f1fbac7f7a168056eb4f9c">GXFGetRawInfo</a> (GXFHandle hGXF, int *pnXSize, int *pnYSize, int *pnSense, double *pdfZMin, double *pdfZMax, double *pdfDummy)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CPLErr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#a7cfbfc30f89e01a87cba83bfd01dbeea">GXFGetRawScanline</a> (GXFHandle, int iScanline, double *padfLineBuf)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CPLErr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#a69eba2f5470f70ad09460a01fcc5797b">GXFGetScanline</a> (GXFHandle, int iScanline, double *padfLineBuf)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#aaea91041dfa9bcffe3e4e8a2d34d34c3">GXFGetMapProjection</a> (GXFHandle)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#abfefe4eea20ec4cc08cc2f9c7aec212d">GXFGetMapDatumTransform</a> (GXFHandle)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#af50459818b3bee29ee9024bda9b37b88">GXFGetMapProjectionAsPROJ4</a> (GXFHandle)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#af802a940e350a899eae47954870bb8e2">GXFGetMapProjectionAsOGCWKT</a> (GXFHandle)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CPLErr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#a8a247d21c4340e2ac10e7b93088db223">GXFGetRawPosition</a> (GXFHandle, double *, double *, double *, double *, double *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">CPLErr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#a09481e07488b85358eeb8686c5cf3e78">GXFGetPosition</a> (GXFHandle, double *, double *, double *, double *, double *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gxfopen_8h.html#ae3d52cc0337a5e849699085188317bae">GXFClose</a> (GXFHandle hGXF)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Public GXF-3 function definitions. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ae3d52cc0337a5e849699085188317bae"></a><!-- doxytag: member="gxfopen.h::GXFClose" ref="ae3d52cc0337a5e849699085188317bae" args="(GXFHandle hGXF)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GXFClose </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Close GXF file opened with <a class="el" href="gxfopen_8h.html#af47fc490559185e1bfb824f0aa250c08">GXFOpen()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>handle to GXF file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abfefe4eea20ec4cc08cc2f9c7aec212d"></a><!-- doxytag: member="gxfopen.h::GXFGetMapDatumTransform" ref="abfefe4eea20ec4cc08cc2f9c7aec212d" args="(GXFHandle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char** GXFGetMapDatumTransform </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the lines related to the datum transformation. It is up to the caller to parse them and interpret. The return result will be NULL if no MAP_DATUM_TRANSFORM line was found in the header.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>the GXF file handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a NULL terminated array of string pointers containing the datum, or NULL. The strings remained owned by the GXF API, and should not be modified or freed by the caller. </dd></dl>

</div>
</div>
<a class="anchor" id="aaea91041dfa9bcffe3e4e8a2d34d34c3"></a><!-- doxytag: member="gxfopen.h::GXFGetMapProjection" ref="aaea91041dfa9bcffe3e4e8a2d34d34c3" args="(GXFHandle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char** GXFGetMapProjection </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the lines related to the map projection. It is up to the caller to parse them and interprete. The return result will be NULL if no MAP_PROJECTION line was found in the header.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>the GXF file handle.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a NULL terminated array of string pointers containing the projection, or NULL. The strings remained owned by the GXF API, and should not be modified or freed by the caller. </dd></dl>

</div>
</div>
<a class="anchor" id="af802a940e350a899eae47954870bb8e2"></a><!-- doxytag: member="gxfopen.h::GXFGetMapProjectionAsOGCWKT" ref="af802a940e350a899eae47954870bb8e2" args="(GXFHandle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* GXFGetMapProjectionAsOGCWKT </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the GXF Projection in OpenGIS Well Known Text format.</p>
<p>The returned string becomes owned by the caller, and should be freed with CPLFree() or VSIFree(). The return value will be "" if no projection information is passed.</p>
<p>The mapping of GXF projections to OGC WKT format is not complete. Please see the gxf_ogcwkt.c code to better understand limitations of this translation. More information about OGC WKT format can be found in the OpenGIS Simple Features specification for OLEDB/COM found on the OpenGIS web site at <a href="http://www.opengis.org/">www.opengis.org</a>. The translation uses some code cribbed from the OGR library, about which more can be learned from <a href="http://gdal.velocet.ca/projects/opengis/">http://gdal.velocet.ca/projects/opengis/</a>.</p>
<p>For example, the following GXF definitions: </p>
<pre>
 UNIT_LENGTH                        
 m,1
 MAP_PROJECTION
 "NAD83 / UTM zone 19N"
 "GRS 1980",6378137,0.081819191,0
 "Transverse Mercator",0,-69,0.9996,500000,0
 </pre><p>Would translate to (without the nice formatting): </p>
<pre>
   PROJCS["NAD83 / UTM zone 19N",
          GEOGCS["GRS 1980",
                 DATUM["GRS_1980",
                     SPHEROID["GRS 1980",6378137,298.257222413684]],
                 PRIMEM["unnamed",0],
                 UNIT["degree",0.0174532925199433]],
          PROJECTION["Transverse_Mercator"],
          PARAMETER["latitude_of_origin",0],
          PARAMETER["central_meridian",-69],
          PARAMETER["scale_factor",0.9996],
          PARAMETER["false_easting",500000],
          PARAMETER["false_northing",0],
          UNIT["m",1]]
 </pre><dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>handle to GXF file, as returned by <a class="el" href="gxfopen_8h.html#af47fc490559185e1bfb824f0aa250c08">GXFOpen()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>string containing OGC WKT projection. </dd></dl>

</div>
</div>
<a class="anchor" id="af50459818b3bee29ee9024bda9b37b88"></a><!-- doxytag: member="gxfopen.h::GXFGetMapProjectionAsPROJ4" ref="af50459818b3bee29ee9024bda9b37b88" args="(GXFHandle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* GXFGetMapProjectionAsPROJ4 </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the GXF Projection in PROJ.4 format.</p>
<p>The returned string becomes owned by the caller, and should be freed with CPLFree() or VSIFree(). The return value will be "unknown" if no projection information is passed.</p>
<p>The mapping of GXF projections to PROJ.4 format is not complete. Please see the gxf_proj4.c code to better understand limitations of this translation. Noteable PROJ.4 knows little about datums.</p>
<p>For example, the following GXF definitions: </p>
<pre>
 UNIT_LENGTH                        
 m,1
 MAP_PROJECTION
 "NAD83 / UTM zone 19N"
 "GRS 1980",6378137,0.081819191,0
 "Transverse Mercator",0,-69,0.9996,500000,0
 </pre><p>Would translate to: </p>
<pre>
 +proj=tmerc +lat_0=0 +lon_0=-69 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80
 </pre><dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>handle to GXF file, as returned by <a class="el" href="gxfopen_8h.html#af47fc490559185e1bfb824f0aa250c08">GXFOpen()</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>string containing PROJ.4 projection. </dd></dl>

</div>
</div>
<a class="anchor" id="a09481e07488b85358eeb8686c5cf3e78"></a><!-- doxytag: member="gxfopen.h::GXFGetPosition" ref="a09481e07488b85358eeb8686c5cf3e78" args="(GXFHandle, double *, double *, double *, double *, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CPLErr GXFGetPosition </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfXOrigin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfYOrigin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfXPixelSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfYPixelSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfRotation</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the grid positioning information.</p>
<p>Note that these coordinates refer to the grid positioning after taking into account the SENSE flag (as is done by the <a class="el" href="gxfopen_8h.html#a69eba2f5470f70ad09460a01fcc5797b">GXFGetScanline()</a>) function.</p>
<p>Note that the pixel values are considered to be point values in GXF, and thus the origin is for the first point. If you consider the pixels to be areas, then the origin is for the center of the origin pixel, not the outer corner.</p>
<p>This function does not support vertically oriented images, nor does it properly transform rotation for images with a SENSE other than GXFS_UL_RIGHT.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>the GXF file handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfXOrigin</em>&nbsp;</td><td>X position of the origin in the base coordinate system. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfYOrigin</em>&nbsp;</td><td>Y position of the origin in the base coordinate system. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfXPixelSize</em>&nbsp;</td><td>X pixel size in base coordinates. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfYPixelSize</em>&nbsp;</td><td>Y pixel size in base coordinates. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfRotation</em>&nbsp;</td><td>rotation in degrees counter-clockwise from the base coordinate system.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns CE_None if successful, or CE_Failure if no posiitioning information was found in the file. </dd></dl>

</div>
</div>
<a class="anchor" id="a598dcb0c74f1fbac7f7a168056eb4f9c"></a><!-- doxytag: member="gxfopen.h::GXFGetRawInfo" ref="a598dcb0c74f1fbac7f7a168056eb4f9c" args="(GXFHandle hGXF, int *pnXSize, int *pnYSize, int *pnSense, double *pdfZMin, double *pdfZMax, double *pdfDummy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CPLErr GXFGetRawInfo </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>pnXSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>pnYSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>pnSense</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfZMin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfZMax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfDummy</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Fetch header information about a GXF file.</p>
<p>Note that the X and Y sizes are of the raw raster and don't take into account the SENSE flag. If the file is column oriented (rows in the files are actually columns in the raster) these values would need to be transposed for the actual raster.</p>
<p>The legal pnSense values are: </p>
<ul>
<li>
GXFS_LL_UP(-1): lower left origin, scanning up. </li>
<li>
GXFS_LL_RIGHT(1): lower left origin, scanning right. </li>
<li>
GXFS_UL_RIGHT(-2): upper left origin, scanning right. </li>
<li>
GXFS_UL_DOWN(2): upper left origin, scanning down. </li>
<li>
GXFS_UR_DOWN(-3): upper right origin, scanning down. </li>
<li>
GXFS_UR_LEFT(3): upper right origin, scanning left. </li>
<li>
GXFS_LR_LEFT(-4): lower right origin, scanning left. </li>
<li>
GXFS_LR_UP(4): lower right origin, scanning up. </li>
</ul>
<p>Note that the <a class="el" href="gxfopen_8h.html#a69eba2f5470f70ad09460a01fcc5797b">GXFGetScanline()</a> function attempts to provide a GXFS_UL_RIGHT view onto files, but doesn't handle the *_DOWN and *_UP oriented files.</p>
<p>The Z min and max values may not occur in the GXF header. If they are requested, and aren't available in the header the entire file is scanned in order to establish them. This can be expensive.</p>
<p>If no DUMMY value was specified in the file, a default of -1e12 is used.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>handle to GXF file returned by <a class="el" href="gxfopen_8h.html#af47fc490559185e1bfb824f0aa250c08">GXFOpen()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pnXSize</em>&nbsp;</td><td>int to be set with the width of the raw raster. May be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pnYSize</em>&nbsp;</td><td>int to be set with the height of the raw raster. May be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pnSense</em>&nbsp;</td><td>int to set with SENSE flag, may be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfZMin</em>&nbsp;</td><td>double to set with minimum raster value, may be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfZMax</em>&nbsp;</td><td>double to set with minimum raster value, may be NULL. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfDummy</em>&nbsp;</td><td>double to set with dummy (nodata / invalid data) pixel value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8a247d21c4340e2ac10e7b93088db223"></a><!-- doxytag: member="gxfopen.h::GXFGetRawPosition" ref="a8a247d21c4340e2ac10e7b93088db223" args="(GXFHandle, double *, double *, double *, double *, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CPLErr GXFGetRawPosition </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfXOrigin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfYOrigin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfXPixelSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfYPixelSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>pdfRotation</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the raw grid positioning information.</p>
<p>Note that these coordinates refer to the raw grid, and are in the units specified by the UNITS field. See <a class="el" href="gxfopen_8h.html#a09481e07488b85358eeb8686c5cf3e78">GXFGetPosition()</a> for a similar function that takes into account the SENSE values similarly to <a class="el" href="gxfopen_8h.html#a69eba2f5470f70ad09460a01fcc5797b">GXFGetScanline()</a>.</p>
<p>Note that the pixel values are considered to be point values in GXF, and thus the origin is for the first point. If you consider the pixels to be areas, then the origin is for the center of the origin pixel, not the outer corner.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>the GXF file handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfXOrigin</em>&nbsp;</td><td>X position of the origin in the base coordinate system. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfYOrigin</em>&nbsp;</td><td>Y position of the origin in the base coordinate system. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfXPixelSize</em>&nbsp;</td><td>X pixel size in base coordinates. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfYPixelSize</em>&nbsp;</td><td>Y pixel size in base coordinates. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pdfRotation</em>&nbsp;</td><td>rotation in degrees counter-clockwise from the base coordinate system.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns CE_None if successful, or CE_Failure if no posiitioning information was found in the file. </dd></dl>

</div>
</div>
<a class="anchor" id="a7cfbfc30f89e01a87cba83bfd01dbeea"></a><!-- doxytag: member="gxfopen.h::GXFGetRawScanline" ref="a7cfbfc30f89e01a87cba83bfd01dbeea" args="(GXFHandle, int iScanline, double *padfLineBuf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CPLErr GXFGetRawScanline </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iScanline</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>padfLineBuf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read a scanline of raster data from GXF file.</p>
<p>This function will read a row of data from the GXF file. It is "Raw" in the sense that it doesn't attempt to account for the SENSE flag as the <a class="el" href="gxfopen_8h.html#a69eba2f5470f70ad09460a01fcc5797b">GXFGetScanline()</a> function does. Unlike <a class="el" href="gxfopen_8h.html#a69eba2f5470f70ad09460a01fcc5797b">GXFGetScanline()</a>, this function supports column organized files.</p>
<p>Any dummy pixels are assigned the dummy value indicated by <a class="el" href="gxfopen_8h.html#a598dcb0c74f1fbac7f7a168056eb4f9c">GXFGetRawInfo()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>the GXF file handle, as returned from <a class="el" href="gxfopen_8h.html#af47fc490559185e1bfb824f0aa250c08">GXFOpen()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>iScanline</em>&nbsp;</td><td>the scanline to read, zero is the first scanline in the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>padfLineBuf</em>&nbsp;</td><td>a buffer of doubles into which the scanline pixel values are read. This must be at least as long as a scanline.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>CE_None if access succeeds or CE_Failure if something goes wrong. </dd></dl>

</div>
</div>
<a class="anchor" id="a69eba2f5470f70ad09460a01fcc5797b"></a><!-- doxytag: member="gxfopen.h::GXFGetScanline" ref="a69eba2f5470f70ad09460a01fcc5797b" args="(GXFHandle, int iScanline, double *padfLineBuf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CPLErr GXFGetScanline </td>
          <td>(</td>
          <td class="paramtype">GXFHandle&nbsp;</td>
          <td class="paramname"> <em>hGXF</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>iScanline</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>padfLineBuf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read a scanline of raster data from GXF file.</p>
<p>This function operates similarly to <a class="el" href="gxfopen_8h.html#a7cfbfc30f89e01a87cba83bfd01dbeea">GXFGetRawScanline()</a>, but it attempts to mirror data horizontally or vertically based on the SENSE flag to return data in a top to bottom, and left to right organization. If the file is organized in columns (SENSE is GXFS_UR_DOWN, GXFS_UL_DOWN, GXFS_LR_UP, or GXFS_LL_UP) then this function will fail, returning CE_Failure, and reporting a sense error.</p>
<p>See <a class="el" href="gxfopen_8h.html#a7cfbfc30f89e01a87cba83bfd01dbeea">GXFGetRawScanline()</a> for other notes.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>hGXF</em>&nbsp;</td><td>the GXF file handle, as returned from <a class="el" href="gxfopen_8h.html#af47fc490559185e1bfb824f0aa250c08">GXFOpen()</a>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>iScanline</em>&nbsp;</td><td>the scanline to read, zero is the top scanline. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>padfLineBuf</em>&nbsp;</td><td>a buffer of doubles into which the scanline pixel values are read. This must be at least as long as a scanline.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>CE_None if access succeeds or CE_Failure if something goes wrong. </dd></dl>

</div>
</div>
<a class="anchor" id="af47fc490559185e1bfb824f0aa250c08"></a><!-- doxytag: member="gxfopen.h::GXFOpen" ref="af47fc490559185e1bfb824f0aa250c08" args="(const char *pszFilename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GXFHandle GXFOpen </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>pszFilename</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Open a GXF file, and collect contents of the header.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pszFilename</em>&nbsp;</td><td>the name of the file to open.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a handle for use with other GXF functions to access the file. This will be NULL if the access fails. </dd></dl>

</div>
</div>
</div>
<hr>

Generated for GDAL by 
<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.6.2-20100208.
</body>
</html>