<div dir="ltr"><div dir="ltr"><div>Never tried it but you got me curious.</div><div><br></div><div>It looks simpler to define a new function or the database using python sqlite3 libs</div><div><br></div><div><a href="https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.create_function">https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.create_function</a></div><div><br></div><div>Cheers</div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 14, 2019 at 12:50 PM César Augusto Ramírez Franco <<a href="mailto:caesarivs@gmail.com">caesarivs@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 dir="ltr"><div class="gmail_default" style="color:rgb(39,78,19)">Greetings,<br><br>I have a municipality polygon layer with a poverty index (percent) and a population count, I'm multiplying them to visualize the vulnerability for each municipality, due to the distribution of that new variable I want to compute the logarithm, which is not possible in sqlite, so I tried reading the column with numpy and issuing a np.log10(). I'm happy with the result, but how can I get this new numpy array to a new column in the vector map in a simple way?<br><br>This is what I already have:<br><br><span style="font-family:monospace,monospace">#!/usr/bin/env python<br><br>import grass.script as gs<br>import numpy as np<br>import matplotlib.pyplot as plt<br><br>nbi_pob = np.array(gs.vector_db_select("muniant", columns = "nbi_pob")["values"].values()).astype(float).squeeze()<br><br>plt.hist(nbi_pob)<br>plt.show()<br><br>log_nbi_pob = np.log10(nbi_pob)<br><br>plt.hist(log_nbi_pob)<br>plt.show()</span><br><br>I'm trying to introduce this kind of analysis to students who are not familiar nor proficient with programming (this is an GIS introductory course) so the numpy bit is already complex enough to them, and I'd like to avoid using for loops with cursors to achieve this.<br><br>Is there a simple solution to this?<br clear="all"></div><br>-- <br><div dir="ltr" class="gmail-m_-7516476558169987195gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><b>César Augusto Ramírez Franco</b></div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
grass-user mailing list<br>
<a href="mailto:grass-user@lists.osgeo.org" target="_blank">grass-user@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/grass-user" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/grass-user</a></blockquote></div>