<br><font size=2 face="sans-serif">My Apologies,</font>
<br><font size=2 face="sans-serif">I figured it out.  Should have
read points as shpObject->padfX[j].</font>
<br>
<br><font size=2 face="sans-serif">Again - thanks for the great library.</font>
<br>
<br><font size=2 face="sans-serif">rich</font>
<br>
<br><font size=2 face="sans-serif">Rich McDonald<br>
Research Hydrologist<br>
USGS Geomorphology and Sediment Transport Laboratory<br>
4620 Technology Drive, Suite 400<br>
Golden, CO 80403<br>
303 278 7952<br>
rmcd@usgs.gov</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Richard R McDonald <rmcd@usgs.gov></b>
</font>
<br><font size=1 face="sans-serif">Sent by: shapelib-bounces@lists.maptools.org</font>
<p><font size=1 face="sans-serif">03/02/2007 11:36 AM</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
Shapelib Development <shapelib@lists.maptools.org></font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">shapelib@lists.maptools.org</font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">[Shapelib] Reading Shapefile Polygon
is Line</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2 face="sans-serif"><br>
Hi,</font><font size=3> </font><font size=2 face="sans-serif"><br>
I am having some success in reading shapefiles using shapelib and am very
happy to have found this library.  In the code below I am reading
a shapefile that I know to contain a number of polygons.  However
when I read the geometry of the polygons - the points represent straight
lines.  I think I'm accessing the shapefile correctly.  If anyone
has any idea's on why my polygons read as lines I would appreciate the
help.</font><font size=3> <br>
</font><font size=2 face="sans-serif"><br>
thanks,</font><font size=3> </font><font size=2 face="sans-serif"><br>
rich</font><font size=3> <br>
<br>
<br>
</font><font size=2 color=blue face="Courier New"><br>
void</font><font size=2 face="Courier New"> MeshBCCoverage::importShapefile(LPCTSTR
pathName, </font><font size=2 color=blue face="Courier New">double</font><font size=2 face="Courier New">
xOffset, </font><font size=2 color=blue face="Courier New">double</font><font size=2 face="Courier New">
yOffset)</font><font size=3> </font><font size=2 face="Courier New"><br>
{</font><font size=3> </font><font size=2 color=#008000 face="Courier New"><br>
//                    
   CString fext = openDlg.GetFileExt();</font><font size=3> </font><font size=2 face="Courier New"><br>
                SHPHandle shpHandle;</font><font size=3>
</font><font size=2 face="Courier New"><br>
                shpHandle = SHPOpen(pathName,
"rb");</font><font size=3> </font><font size=2 face="Courier New"><br>
                </font><font size=2 color=blue face="Courier New">int</font><font size=2 face="Courier New">
pnEntities, pnShapeType;</font><font size=3> </font><font size=2 face="Courier New"><br>
                </font><font size=2 color=blue face="Courier New">double</font><font size=2 face="Courier New">
padfMinBound[4], padfMaxBound[4];</font><font size=3> </font><font size=2 face="Courier New"><br>
                </font><font size=2 color=blue face="Courier New">double</font><font size=2 face="Courier New">
tx, ty, tz;</font><font size=3> </font><font size=2 face="Courier New"><br>
                SbVec3f point;</font><font size=3>
</font><font size=2 face="Courier New"><br>
                SHPGetInfo(shpHandle,
&pnEntities, &pnShapeType, padfMinBound, padfMaxBound);</font><font size=3>
</font><font size=2 face="Courier New"><br>
                </font><font size=2 color=blue face="Courier New">for</font><font size=2 face="Courier New">(</font><font size=2 color=blue face="Courier New">int</font><font size=2 face="Courier New">
i = 0; i < pnEntities; i++) {</font><font size=3> </font><font size=2 face="Courier New"><br>
                    
   SHPObject* shpObject = SHPReadObject(shpHandle, i);</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
   </font><font size=2 color=blue face="Courier New">switch</font><font size=2 face="Courier New">(shpObject->nSHPType)
{</font><font size=3> </font><font size=2 face="Courier New"><br>
                    
           </font><font size=2 color=blue face="Courier New">case</font><font size=2 face="Courier New">
(SHPT_POLYGON):</font><font size=3> </font><font size=2 face="Courier New"><br>
                    
                   {</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
     </font><font size=2 color=blue face="Courier New">this</font><font size=2 face="Courier New">->createNewLine();</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
     </font><font size=2 color=blue face="Courier New">for</font><font size=2 face="Courier New">(</font><font size=2 color=blue face="Courier New">int</font><font size=2 face="Courier New">
j = 0; j < shpObject->nVertices; j++) {</font><font size=3> </font><font size=2 face="Courier New"><br>
                    
                     
             tx = *shpObject->padfX+j;</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
             ty = *shpObject->padfY+j;</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
             tz = *shpObject->padfZ+j;</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
             point.setValue(tx-xOffset,
ty-yOffset, </font><font size=2 color=blue face="Courier New">this</font><font size=2 face="Courier New">->curIndex+1);</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
             </font><font size=2 color=blue face="Courier New">this</font><font size=2 face="Courier New">->addPoint(point);</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
             </font><font size=2 color=blue face="Courier New">this</font><font size=2 face="Courier New">->rbrBandPoint(point);</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                     
     }</font><font size=3> </font><font size=2 face="Courier New"><br>
                    
                     
     </font><font size=2 color=blue face="Courier New">this</font><font size=2 face="Courier New">->finishLine();</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                   }</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
                   </font><font size=2 color=blue face="Courier New">break</font><font size=2 face="Courier New">;</font><font size=3>
</font><font size=2 face="Courier New"><br>
                    
   }</font><font size=3> </font><font size=2 face="Courier New"><br>
                }</font><font size=3>
<br>
</font><font size=2 face="Courier New"><br>
}</font><font size=3> <br>
<br>
</font><font size=2 face="sans-serif"><br>
Rich McDonald<br>
Research Hydrologist<br>
USGS Geomorphology and Sediment Transport Laboratory<br>
4620 Technology Drive, Suite 400<br>
Golden, CO 80403<br>
303 278 7952<br>
rmcd@usgs.gov</font><font size=2><tt>_______________________________________________<br>
Shapelib mailing list<br>
Shapelib@lists.maptools.org<br>
http://lists.maptools.org/mailman/listinfo/shapelib<br>
</tt></font>
<br>