<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Le 03/05/2023 à 14:22, Moises Calzado
      via gdal-dev a écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAObRW4S=gXvqPTwRE6in2brL=MV1P6_-Eq03r17vGfmTp7wOLA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi Even,
        <div><br>
        </div>
        <div>Thanks so much for taking a look into that one!</div>
        <div><br>
        </div>
        <div>I have one doubt regarding the CSVT content, as we're not
          really using it, but it's required when using the
          GEOMETRY_NAME layer creation option, as can be checked in the
          CSV driver documentation:</div>
        <div><br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <ul style="box-sizing:border-box;margin:0px 0px
24px;padding:0px;list-style-position:initial;line-height:24px;color:rgb(64,64,64);font-family:Lato,proxima-nova,"Helvetica
Neue",Arial,sans-serif;font-size:16px;background-color:rgb(252,252,252)">
            <li
              style="margin-left:24px;box-sizing:border-box;list-style:disc">
              <p
                style="box-sizing:border-box;line-height:24px;margin:0px"><span
                  style="box-sizing:border-box;font-weight:700">GEOMETRY_NAME</span>=name
                (Starting with GDAL 2.1): Name of geometry column. Only
                used if GEOMETRY=AS_WKT and CREATE_CSVT=YES. Defaults to
                WKT</p>
            </li>
          </ul>
        </blockquote>
        <div>We really need this flag as we are processing files
          that contain geometries with different column names, and we
          always want the same geometry name in the generated output.
          Are we losing something when using that flag to avoid this
          problem?</div>
      </div>
    </blockquote>
    <p>The reason  for requiring CREASE_CSVT=YES is that when reading
      back a .csv without a .csvt the geometry column must be named WKT.
      Unless you specify the GEOM_POSSIBLE_NAMES open option (which must
      have been a later addition). That said it could be reasonable to
      relax that coupling and allow GEOMETRY_NAME without
      CREATE_CSVT=YES, with a warning in the doc about the consequence I
      just mentioned before<br>
    </p>
    <blockquote type="cite"
cite="mid:CAObRW4S=gXvqPTwRE6in2brL=MV1P6_-Eq03r17vGfmTp7wOLA@mail.gmail.com">
      <div dir="ltr">
        <div>In my humble opinion, generating an invalid CSV when using
          the -lco CREATE_CSVT=YES looks like a bug for me, </div>
      </div>
    </blockquote>
    <p>Are you speaking about emitting the .prj and .csvt content when
      writing to /vsistdout ? Yes, I'd tend to agree they should not be
      emitted in that mode.<br>
    </p>
    <blockquote type="cite"
cite="mid:CAObRW4S=gXvqPTwRE6in2brL=MV1P6_-Eq03r17vGfmTp7wOLA@mail.gmail.com">
      <div dir="ltr">
        <div>as I can't see the reason why strings containing line
          breaks can't be quoted.</div>
      </div>
    </blockquote>
    I'm not following you about the issue with line breaks. In my
    previous message, I showed I didn't reproduce any issue: the CSV
    driver emits fields with double quotes, even when there are line
    breaks. Can you be more specific about what's wrong ? I don't see
    the connection with GEOMETRY_NAME.<br>
    <blockquote type="cite"
cite="mid:CAObRW4S=gXvqPTwRE6in2brL=MV1P6_-Eq03r17vGfmTp7wOLA@mail.gmail.com">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Could you please shed some light on this?</div>
        <div><br>
        </div>
        <div>Looking forward to your reply,</div>
        <div>Regards.</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">El mié, 3 may 2023 a las
          14:00, Even Rouault (<<a
            href="mailto:even.rouault@spatialys.com"
            moz-do-not-send="true" class="moz-txt-link-freetext">even.rouault@spatialys.com</a>>)
          escribió:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>
            <p>you didn't post to the list<br>
            </p>
            <div>Le 03/05/2023 à 13:49, Moises Calzado a écrit :<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">Hi Even,
                <div><br>
                </div>
                <div>Thanks so much for taking a look into that one!</div>
                <div><br>
                </div>
                <div>I have one doubt regarding the CSVT content, as
                  we're not really using it, but it's required when
                  using the GEOMETRY_NAME layer creation option, as can
                  be checked in the CSV driver documentation:</div>
                <div><br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex">
                  <ul>
                    <li
                      style="box-sizing:border-box;list-style:disc;margin-left:24px">
                      <p
                        style="box-sizing:border-box;line-height:24px;margin:0px"><span
                          style="box-sizing:border-box;font-weight:700">GEOMETRY_NAME</span>=name
                        (Starting with GDAL 2.1): Name of geometry
                        column. Only used if GEOMETRY=AS_WKT and
                        CREATE_CSVT=YES. Defaults to WKT</p>
                    </li>
                  </ul>
                </blockquote>
                <div>We really need this flag as we are processing files
                  that contain geometries with different column names,
                  and we always want the same geometry name in the
                  generated output. Are we losing something when using
                  that flag to avoid this problem?</div>
                <div>In my humble opinion, generating an invalid CSV
                  when using the -lco CREATE_CSVT=YES looks like a bug
                  for me, as I can't see the reason why strings
                  containing line breaks can't be quoted.</div>
                <div><br>
                </div>
                <div>Could you please shed some light on this?</div>
                <div><br>
                </div>
                <div>Looking forward to your reply,</div>
                <div>Regards.</div>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">El sáb, 29 abr 2023 a
                  las 15:44, Even Rouault (<<a
                    href="mailto:even.rouault@spatialys.com"
                    target="_blank" moz-do-not-send="true"
                    class="moz-txt-link-freetext">even.rouault@spatialys.com</a>>)
                  escribió:<br>
                </div>
                <blockquote class="gmail_quote" style="margin:0px 0px
                  0px 0.8ex;border-left:1px solid
                  rgb(204,204,204);padding-left:1ex">
                  <div>
                    <p>Moises,</p>
                    <p>as far as I can see with your example, the CSV
                      driver behaves "properly" in reading and writing
                      of field values with line breaks.</p>
                    <p>It follows the "Fields with embedded line breaks
                      must be quoted" rule of <a
                        href="https://en.wikipedia.org/wiki/Comma-separated_values"
                        target="_blank" moz-do-not-send="true"
                        class="moz-txt-link-freetext">https://en.wikipedia.org/wiki/Comma-separated_values</a><br>
                    </p>
                    <p>$ ogr2ogr out.csv /vsizip/dataframe.zip<br>
                    </p>
                    <p>$ cat out.csv<br>
                      id,descriptio<br>
                      "1",This is my third row<br>
                      "2","this is<br>
                      my string<br>
                      "<br>
                      "3",This is my third row<br>
                    </p>
                    <p>$ ogrinfo out.csv -al<br>
                      INFO: Open of `out.csv'<br>
                            using driver `CSV' successful.<br>
                      <br>
                      Layer name: out<br>
                      Geometry: None<br>
                      Feature Count: 3<br>
                      Layer SRS WKT:<br>
                      (unknown)<br>
                      id: String (0.0)<br>
                      descriptio: String (0.0)<br>
                      OGRFeature(out):1<br>
                        id (String) = 1<br>
                        descriptio (String) = This is my third row<br>
                      <br>
                      OGRFeature(out):2<br>
                        id (String) = 2<br>
                        descriptio (String) = this is<br>
                      my string<br>
                      <br>
                      <br>
                      OGRFeature(out):3<br>
                        id (String) = 3<br>
                        descriptio (String) = This is my third row<br>
                      <br>
                    </p>
                    <p>But in your example using /vsistdout/ and -lco
                      CREATE_CSVT=YES is going to result in an invalid
                      CSV file which will mix both the .csvt and .csv
                      content<br>
                    </p>
                    <p>Even<br>
                    </p>
                    <div>Le 24/04/2023 à 13:34, Moises Calzado via
                      gdal-dev a écrit :<br>
                    </div>
                    <blockquote type="cite">
                      <div dir="ltr">Hello!
                        <div><br>
                        </div>
                        <div>We're trying to convert a Shapefile into a
                          CSV using ogr2ogr and we're having some issues
                          while dealing with some columns that contain
                          line breaks inside their values. If we have a
                          line with the following string, ogr2ogr
                          detects that the line break is a new line and
                          it returns two lines.</div>
                        <div><br>
                        </div>
                        <blockquote class="gmail_quote"
                          style="margin:0px 0px 0px
                          0.8ex;border-left:1px solid
                          rgb(204,204,204);padding-left:1ex">"this is my
                          \n value"</blockquote>
                        <div><br>
                        </div>
                        <div>That's the command that we're executing:</div>
                        <div><br>
                        </div>
                        <blockquote class="gmail_quote"
                          style="margin:0px 0px 0px
                          0.8ex;border-left:1px solid
                          rgb(204,204,204);padding-left:1ex">ogr2ogr -f
                          CSV -skipfailures -makevalid /vsistdout/
                          /vsizip/shapefile.zip -simplify 0.00001 -dim
                          XY -t_srs EPSG:4326 -lco GEOMETRY=AS_WKT -lco
                          GEOMETRY_NAME=geom -lco CREATE_CSVT=YES >
                          result.csv<br>
                        </blockquote>
                        <div><br>
                        </div>
                        <div>Is this an expected behaviour, or is there
                          any way to avoid this?</div>
                        <div>Sharing an example Shapefile so that you
                          can try to reproduce that behaviour: <a
href="https://drive.google.com/file/d/1gFqfTP02KTFoavJyyO-Ix05YwZB2tS24/view?usp=sharing"
                            target="_blank" moz-do-not-send="true"
                            class="moz-txt-link-freetext">https://drive.google.com/file/d/1gFqfTP02KTFoavJyyO-Ix05YwZB2tS24/view?usp=sharing</a></div>
                        <div><br>
                        </div>
                        <div>Thanks so much in advance,</div>
                        <div>Regards.<br clear="all">
                          <div><br>
                          </div>
                          <span>-- </span><br>
                          <div dir="ltr"> <strong>Moises Calzado</strong>
                            <p style="margin-bottom:4px;margin-top:4px">
                              Support Engineer </p>
                            <p style="margin-bottom:20px;margin-top:4px">
                              +34671264286 | <a
                                href="mailto:mcalzado@carto.com"
                                target="_blank" moz-do-not-send="true"
                                class="moz-txt-link-freetext">mcalzado@carto.com</a>
                              | <a href="https://www.carto.com/"
                                rel="nofollow" target="_blank"
                                moz-do-not-send="true">CARTO</a> </p>
                            <a
                              href="https://spatial-data-science-conference.com/2023/london/"
                              rel="nofollow" target="_blank"
                              moz-do-not-send="true"> <img
src="https://storage.googleapis.com/carto-it-files/signature/SDSC-2023-LND_Signature-mail.jpg"
                                moz-do-not-send="true" width="516.656px"
                                height="50"> </a> </div>
                        </div>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <pre>_______________________________________________
gdal-dev mailing list
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">gdal-dev@lists.osgeo.org</a>
<a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a>
</pre>
                    </blockquote>
                    <pre cols="72">-- 
<a href="http://www.spatialys.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
                  </div>
                </blockquote>
              </div>
              <br clear="all">
              <div><br>
              </div>
              <span>-- </span><br>
              <div dir="ltr"> <strong>Moises Calzado</strong>
                <p style="margin-bottom:4px;margin-top:4px"> Support
                  Engineer </p>
                <p style="margin-bottom:20px;margin-top:4px">
                  +34671264286 | <a href="mailto:mcalzado@carto.com"
                    target="_blank" moz-do-not-send="true"
                    class="moz-txt-link-freetext">mcalzado@carto.com</a>
                  | <a href="https://www.carto.com/" rel="nofollow"
                    target="_blank" moz-do-not-send="true">CARTO</a> </p>
                <a
                  href="https://spatial-data-science-conference.com/2023/london/"
                  rel="nofollow" target="_blank" moz-do-not-send="true">
                  <img
src="https://storage.googleapis.com/carto-it-files/signature/SDSC-2023-LND_Signature-mail.jpg"
                    moz-do-not-send="true" width="516.656px" height="50">
                </a> </div>
            </blockquote>
            <pre cols="72">-- 
<a href="http://www.spatialys.com" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://www.spatialys.com</a>
My software is free, but my time generally not.</pre>
          </div>
        </blockquote>
      </div>
      <br clear="all">
      <div><br>
      </div>
      <span class="gmail_signature_prefix">-- </span><br>
      <div dir="ltr" class="gmail_signature"> <strong>Moises Calzado</strong>
        <p style="margin-bottom:4px;margin-top:4px"> Support Engineer </p>
        <p style="margin-bottom:20px;margin-top:4px"> +34671264286 | <a
            href="mailto:mcalzado@carto.com" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">mcalzado@carto.com</a>
          | <a href="https://www.carto.com/" rel="nofollow"
            target="_blank" moz-do-not-send="true">CARTO</a> </p>
        <a
          href="https://spatial-data-science-conference.com/2023/london/"
          rel="nofollow" target="_blank" moz-do-not-send="true"> <img
src="https://storage.googleapis.com/carto-it-files/signature/SDSC-2023-LND_Signature-mail.jpg"
            moz-do-not-send="true" width="516.656px" height="50"> </a>
      </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>