<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Abel,</p>
    <p>You should not change the type of field types (or the number of
      fields) once GetLayerDefn() has been called on the layer, after
      which the layer definition must be considered as sealed (cf recent
      RFC
<a class="moz-txt-link-freetext" href="https://gdal.org/development/rfc/rfc97_feature_and_fielddefn_sealing.html">https://gdal.org/development/rfc/rfc97_feature_and_fielddefn_sealing.html</a>),
      until potential calls from the user to
      CreateField()/DeleteField()/etc. which might unseal it. Changing
      field types during feature iteration would break expectations from
      users of the GDAL API (included GDAL tools such as ogr2ogr) and
      could cause nasty crashing bugs.<br>
    </p>
    <p>If you don't have a way to figure out the field type by looking
      at the header of your dataset, then you need to do a first reading
      pass to establish it (like done for example in the GeoJSON driver)</p>
    <p>Even<br>
    </p>
    <div class="moz-cite-prefix">Le 20/12/2023 à 20:58, Abel Pau via
      gdal-dev a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:PAXPR07MB77751F0B4F233D2F29A4DB9EA296A@PAXPR07MB7775.eurprd07.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}span.EstiloCorreo17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}div.WordSection1
        {page:WordSection1;}</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]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-US">HI,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">In the
            GetNewtRawFeature() I am processing all fields and a
            previusly
          </span><span
style="font-size:9.5pt;font-family:Consolas;color:darkslategray">OFTString
            type
          </span><span lang="EN-US">field has to be changed into </span><span
style="font-size:9.5pt;font-family:Consolas;color:darkslategray">OFTStringList
          </span><span lang="EN-US">type. After that, It’ll be probably
            a </span><span
style="font-size:9.5pt;font-family:Consolas;color:darkslategray">OFTString
          </span><span lang="EN-US">again.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I try to do that:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:9.5pt;font-family:Consolas;color:black">poFeature->GetDefnRef()->GetFieldDefn(nIField)->SetType(</span><span
style="font-size:9.5pt;font-family:Consolas;color:darkslategray">OFTStringList</span><span
            style="font-size:9.5pt;font-family:Consolas;color:black">);</span><span
            lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">And when the destination
            driver gets it, the
          </span><span
style="font-size:9.5pt;font-family:Consolas;color:darkslategray">OFTStringList
          </span><span lang="EN-US">is again </span><span
style="font-size:9.5pt;font-family:Consolas;color:darkslategray">OFTString.
          </span><span lang="EN-US">I’ve lost the property by magic.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">The line that does that
            is </span><span
            style="font-size:9.5pt;font-family:Consolas;color:black">poDstFeature</span><span
            style="font-size:9.5pt;font-family:Consolas;color:teal">-></span><span
            style="font-size:9.5pt;font-family:Consolas;color:black">SetFDefnUnsafe(poDstFDefn);
          </span><span lang="EN-US">in Translate() line5746 (probably).<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">So, there is a good way
            to change the type I’ve assigned in the constructor by the
            same but a “List” instead in the GetNextRawFeature()?<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Sorry for asking a
            question (again) but I’ve been a long time trying to figure
            out what happens!<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Thanks!<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="mso-fareast-language:CA"
            lang="EN-US"> </span><span style="mso-fareast-language:CA"><o:p></o:p></span></p>
        <table class="MsoNormalTable" style="width:375.0pt" width="0"
          cellspacing="0" cellpadding="0" border="0">
          <tbody>
            <tr>
              <td style="width:232.5pt;padding:0cm 0cm 0cm 0cm"
                width="310">
                <p class="MsoNormal"><b><span
style="font-size:11.5pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">Abel
                      Pau Garcia</span></b><span
                    style="font-size:12.0pt;mso-fareast-language:CA">
                  </span><span style="mso-fareast-language:CA"><o:p></o:p></span></p>
                <p class="MsoNormal"><b><span
style="font-size:9.0pt;font-family:"Arial",sans-serif;color:#669900;mso-fareast-language:CA">GIS
                      developer</span></b><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
              <td style="width:142.5pt;padding:0cm 0cm 0cm 0cm"
                width="190" valign="top">
                <p class="MsoNormal" style="text-align:right"
                  align="right"><span
                    style="font-size:12.0pt;mso-fareast-language:CA"><img
                      style="width:1.3958in;height:.5208in"
                      id="Imagen_x0020_8"
                      src="cid:part1.cShhNAJw.kyt09oNc@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/creaf-signature.png"
                      class="" width="134" height="50"></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
            </tr>
            <tr>
              <td style="padding:0cm 0cm 0cm 0cm">
                <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a
                      href="mailto:a.pau@creaf.uab.cat"
                      moz-do-not-send="true"><b><span style="color:blue">a.pau@creaf.uab.cat</span></b></a></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
                <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a
href="https://teams.microsoft.com/l/chat/0/0?users=a.pau@creaf.uab.cat"
                      moz-do-not-send="true"><b><span style="color:blue">Let's
                          chat on Teams!</span></b></a></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
                <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">Tel.
                      +34 934814277</span></b><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
              <td style="width:106.5pt;padding:0cm 0cm 0cm 0cm"
                width="190" valign="top">
                <p class="MsoNormal" style="text-align:right"
                  align="right"><span
                    style="font-size:12.0pt;mso-fareast-language:CA"><img
                      style="width:1.0937in;height:.5208in"
                      id="Imagen_x0020_7"
                      src="cid:part2.MZM3CAYA.FIJNpk5b@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/so-en-signature.png"
                      class="" width="105" height="50" border="0"></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
            </tr>
            <tr>
              <td style="padding:0cm 0cm 0cm 0cm">
                <p class="MsoNormal"><span lang="ES"><a
                      href="https://twitter.com/CREAF_ecologia"
                      target="_blank" moz-do-not-send="true"><span
style="font-size:12.0pt;color:#0563C1;mso-fareast-language:CA;text-decoration:none"
                        lang="CA"><img
                          style="width:.177in;height:.177in"
                          id="Imagen_x0020_6"
src="cid:part3.8pcoR0dd.4wiSkAz0@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/twitter-icon-signature.png"
                          class="" width="17" height="17" border="0"></span></a><a
href="https://www.linkedin.com/company/1363052?trk=tyah&trkInfo=clickedVertical:company,clickedEntityId:1363052,idx:2-1-2,tarId:1465807877789,tas:creaf"
                      target="_blank" moz-do-not-send="true"><span
style="font-size:12.0pt;color:#0563C1;mso-fareast-language:CA;text-decoration:none"
                        lang="CA"><img
                          style="width:.177in;height:.177in"
                          id="Imagen_x0020_5"
src="cid:part4.43hSDNl3.PL4VjfPJ@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/linkedin-icon-signature.png"
                          class="" width="17" height="17" border="0"></span></a><a
                      href="https://www.youtube.com/c/creafecologia"
                      target="_blank" moz-do-not-send="true"><span
style="font-size:12.0pt;color:#0563C1;mso-fareast-language:CA;text-decoration:none"
                        lang="CA"><img
                          style="width:.177in;height:.177in"
                          id="Imagen_x0020_4"
src="cid:part5.wkiH0COb.PHjt1PBZ@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/youtube-icon-signature.png"
                          class="" width="17" height="17" border="0"></span></a><a
                      href="https://www.instagram.com/CREAF_ecologia/"
                      target="_blank" moz-do-not-send="true"><span
style="font-size:12.0pt;color:#0563C1;mso-fareast-language:CA;text-decoration:none"
                        lang="CA"><img
                          style="width:.177in;height:.177in"
                          id="Imagen_x0020_3"
src="cid:part6.Sf006JDT.dfIflHYn@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/instagram-icon-signature.png"
                          class="" width="17" height="17" border="0"></span></a></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
                <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA"><a
                      href="http://www.creaf.cat" target="_blank"
                      moz-do-not-send="true"><b><span
                          style="color:#003300">www.creaf.cat</span></b></a><b>
                      |
                    </b><a href="http://blog.creaf.cat" target="_blank"
                      moz-do-not-send="true"><b><span
                          style="color:#003300">http://blog.creaf.cat</span></b></a></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
              <td style="padding:0cm 0cm 0cm 0cm" valign="top">
                <p class="MsoNormal" style="text-align:right"
                  align="right"><span
                    style="font-size:12.0pt;mso-fareast-language:CA"><img
                      style="width:1.0937in;height:.5208in"
                      id="Imagen_x0020_2"
                      src="cid:part7.WlknRtPj.4s9H9eIy@spatialys.com"
alt="https://www.creaf.cat/sites/default/files/uab_logo_signatura.png"
                      class="" width="105" height="50" border="0"></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
            </tr>
            <tr>
              <td colspan="2" style="padding:0cm 0cm 0cm 0cm">
                <p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#003300;mso-fareast-language:CA">CREAF.
                    Campus UAB. Edifici C. 08193 Bellaterra (Barcelona)</span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
            </tr>
            <tr>
              <td colspan="2" style="padding:0cm 0cm 0cm 0cm">
                <p class="MsoNormal"><span
style="font-size:8.5pt;font-family:"Arial",sans-serif;color:#999999;mso-fareast-language:CA"><br>
                    Before printing this electronic message, think about
                    the environment.</span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
            </tr>
            <tr>
              <td colspan="2" style="padding:0cm 0cm 0cm 0cm">
                <p class="MsoNormal"><span
                    style="font-size:12.0pt;mso-fareast-language:CA"><img
                      style="width:5.2083in;height:.0625in"
                      id="Imagen_x0020_1"
                      src="cid:part8.8OhEK714.AJAv9wSk@spatialys.com"
                      alt="http://www.creaf.uab.cat/_signatura/line.gif"
                      class="" width="500" height="6" border="0"></span><span
                    style="mso-fareast-language:CA"><o:p></o:p></span></p>
              </td>
            </tr>
          </tbody>
        </table>
        <p class="MsoNormal"><span style="mso-fareast-language:CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="ES"><o:p> </o:p></span></p>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gdal-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://www.spatialys.com">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
  </body>
</html>