<div dir="auto"><div>Hi Chris, thanks for that!<div dir="auto"><br></div><div dir="auto">It would not have surprised me if the attribute datatype was simply not compatible with shapefile, plenty of other things are not. </div><div dir="auto"><br></div><div dir="auto">What I'm seeing in QGIS is that the gui interface for exporting a layer has an option for handling a binary blob attribute type and indeed when the option is checked, the new shape file is created without a warning or error. </div><div dir="auto"><br></div><div dir="auto">What I'm trying to figure out, I think, is how to put that option to work via pyqgis. </div><div dir="auto"><br></div><div dir="auto">Is there perhaps a way to see the exact command that the export data interface is running successfully? I think ive seen the processing plugins show the command to be run, or at least all the parameters in the interface while a process is going, but the export data utility just closes and shows progress in the bottom of the main qgis window as it works. </div><div dir="auto"><br></div><div dir="auto">Alternatively, If there is an example somewhere of how to exclude attributes by type when exporting with pyqgis I could just exclude attributes that are causing problems for now. I've searched around for that a bit but haven't turned up an exact example of it. It's straightforward to get and check the types of a layers attributes but I haven't figured out how to pass a subset of attributes to the writeasvector function. </div><div dir="auto"><br></div><div dir="auto">Thanks! </div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 3, 2023, 5:13 PM chris hermansen <<a href="mailto:clhermansen@gmail.com">clhermansen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div dir="ltr">Hugh and list;<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 3, 2023 at 11:41 AM Hugh Kelley via QGIS-User <<a href="mailto:qgis-user@lists.osgeo.org" target="_blank" rel="noreferrer">qgis-user@lists.osgeo.org</a>> wrote:<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 dir="ltr"><div>to follow up as I continue to work on this, <br></div><div><br></div><div>I mistakenly understood the attribute type "binary" as a Boolean, but I think it's in fact an arbitrary value stored as binary. That is to say, not necessarily True/False or 0/1 but a series of 0/1's storing a value.  <br></div><div><br></div><div>If I can save it to the shapefile that would be great but I'm going to work on filtering those attributes out of what's saved as that's an acceptable solution too I think. <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 3, 2023 at 2:24 PM Hugh Kelley <<a href="mailto:hghklly@gmail.com" target="_blank" rel="noreferrer">hghklly@gmail.com</a>> wrote:<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 dir="ltr"><div>Hi,</div><div><br>I'm attempting to use pyqgis to export a few things to shapefile. <br></div><div><br></div><div>the code below is working well except that a few of the attributes are incompatible with shapefiles (amazing) lack of a binary datatype. <br></div><div><br></div><div>```py<br></div><div>pathToFile = "C:/Users/hkelley/Downloads/test_exports/<br><br>layers = QgsProject.instance().mapLayers()<br><br>for layer_id, layer in layers.items():<br>    print(<a href="http://layer.name" target="_blank" rel="noreferrer">layer.name</a>())<br>    QgsVectorFileWriter.writeAsVectorFormat( layer,  pathToFile+ <a href="http://layer.name" target="_blank" rel="noreferrer">layer.name</a>() + ".shp", "utf-8", layer.crs(), driverName="ESRI Shapefile" )</div><div>```</div><div><br></div><div>I see in the manual export options that I can check a box telling the export process to use "Use Binary (BLOB)". Image linked below for clarity [0]<br></div><div><br></div><div>I haven't yet figured out how to pass that option to writeAsVectorFormat. <br></div><div><br></div><div>any suggestions?</div><div><br></div><div>Iv'e had a pretty thorough look through the docs for writeAsVctorFormat, is the solution related to 
QgsVectorFileWriter.BoolOption(QgsVectorFileWriter.BoolOption)?</div><div><br></div></div></blockquote></div></blockquote><div><br></div><div>Have you looked at this <a href="https://en.wikipedia.org/wiki/.dbf" target="_blank" rel="noreferrer">https://en.wikipedia.org/wiki/.dbf</a> to understand how attributes are stored in .dbf files?</div><div><br></div><div>In particular there you will see this comment:</div><div><br></div><div><b>All field data is ASCII. Depending on the field's type, the application imposes further restrictions: </b> </div></div><br clear="all"></div>Does this help?<br><div>-- <br><div dir="ltr"><div dir="ltr">Chris Hermansen · clhermansen "at" gmail "dot" com<br><br>C'est ma façon de parler.</div></div></div></div>
</blockquote></div></div></div>