<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hi Tamas,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thanks for your response. I don’t have the latest. But, as
a workaround, I have done the same fix in my code i.e. backup the connection
type and change the connection type to MS_INLINE just before calling
whichShapes(). After the change, it is retrieving the attribute values.
Appreciate your help.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thanks<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Murty<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Tamas Szekeres
[mailto:szekerest@gmail.com] <br>
<b>Sent:</b> Wednesday, August 05, 2009 5:11 PM<br>
<b>To:</b> Murty Maganti<br>
<b>Cc:</b> mapserver-users@lists.osgeo.org<br>
<b>Subject:</b> Re: [mapserver-users] layer.whichShapes() in C# mapscript<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'>I suspect you've run into the
following issue here:<br>
<a href="http://trac.osgeo.org/mapserver/ticket/2689">http://trac.osgeo.org/mapserver/ticket/2689</a><br>
<br>
which have already been fixed in:<br>
<a href="http://trac.osgeo.org/mapserver/changeset/9060">http://trac.osgeo.org/mapserver/changeset/9060</a><br>
<a href="http://trac.osgeo.org/mapserver/changeset/9064">http://trac.osgeo.org/mapserver/changeset/9064</a><br>
<br>
Make sure your version is newer than the changesets above.<br>
<br>
By using this fix you won't need to call layer.open right after whichShapes in
order to retrieve all the items.<br>
<br>
Best regards,<br>
<br>
Tamas<br>
<br>
<br>
<o:p></o:p></p>

<div>

<p class=MsoNormal>2009/8/5 Murty Maganti <<a
href="mailto:MMaganti@oriongis.com">MMaganti@oriongis.com</a>><o:p></o:p></p>

<div>

<div>

<p>Hi<o:p></o:p></p>

<p> <o:p></o:p></p>

<p>I am having difficulty performing layerObj.whichShapes()  and looping
through results. For some datasets like shape files, it requires
layerObj.open() call after invoking whichSpaes(). Otherwise,
shapeObj.values.length is 0. For ArcSDE, it throws an error on
layer.nextShape() if layer.open() is called after invoking whichShapes(). How
to write a single piece of code that works with all datasets without checking
for layer data source type? Here is the simple test code I am using<o:p></o:p></p>

<p> <o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                   
<span style='color:#2B91AF'>layerObj</span> layer =
m_map.getLayerByName(“Roads”);</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                   
<span style='color:blue'>if</span> (layer != <span style='color:blue'>null</span>)</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                   
{</span><o:p></o:p></p>

<p style='text-indent:.5in'><span style='font-size:10.0pt;font-family:"Courier New"'>                   
layer.template = <span style='color:#A31515'>"abcd"</span>;</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'> </span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                       
<span style='color:blue'>if</span> (layer.open() == (<span style='color:blue'>int</span>)<span
style='color:#2B91AF'>MS_RETURN_VALUE</span>.MS_SUCCESS)</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                       
{</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                           
<span style='color:blue'>if</span> (layer.whichShapes(m_map.extent) == (<span
style='color:blue'>int</span>)<span style='color:#2B91AF'>MS_RETURN_VALUE</span>.MS_SUCCESS)</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                           
{</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                               
layer.open(); //Required for shape files. Otherwise, shapeObj.values.length
will be zero.</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'> </span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                               
<span style='color:#2B91AF'>shapeObj</span> shape = <span style='color:blue'>null</span>;</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'> </span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                               
<span style='color:blue'>while</span> ((shape = layer.nextShape()) != <span
style='color:blue'>null</span>)</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                               
{</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                                   
<span style='color:blue'>if</span> (shape.values != <span style='color:blue'>null</span>
&& shape.values.Length > 0)</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                       
            {</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                                       
<span style='color:blue'>string</span> value = shape.values[0];</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                                   
}</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                               
}</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'> </span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                           
}</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'> 
                      }</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'> </span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                       
layer.close();</span><o:p></o:p></p>

<p><span style='font-size:10.0pt;font-family:"Courier New"'>                   
}</span><o:p></o:p></p>

<p> <o:p></o:p></p>

<p>Please let me know if some thing wrong with code above. Appreciate any help.<o:p></o:p></p>

<p> <o:p></o:p></p>

<p>Thanks<o:p></o:p></p>

<p>Murty<o:p></o:p></p>

</div>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
_______________________________________________<br>
mapserver-users mailing list<br>
<a href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/mapserver-users"
target="_blank">http://lists.osgeo.org/mailman/listinfo/mapserver-users</a><o:p></o:p></p>

</div>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>