<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">body p { margin-bottom: 0cm; margin-top: 0pt; } </style>
</head>
<body bidimailui-charset-is-forced="true">
<br>
<div class="moz-cite-prefix">On 15/08/2020 16:22, Dheeraj Chand
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:E887B402-9E75-44A9-A4C9-FA58D7C012AB@dheerajchand.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
‘’’
<div><br style="-webkit-text-size-adjust: auto; caret-color:
rgb(0, 0, 0); color: rgb(0, 0, 0);">
<span style="-webkit-text-size-adjust: auto; caret-color: rgb(0,
0, 0); color: rgb(0, 0, 0);">When importing a shapefile or
other vector data, only the attrib tables get saved to some
database: sqlite by default, or PostgrSQL if you have
configured for that backend. But the geometry is still kept in
the GRASS vector format.</span></div>
<div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);
-webkit-text-size-adjust: auto;">‘’’</span></font></div>
<div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);
-webkit-text-size-adjust: auto;"><br>
</span></font></div>
<div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);
-webkit-text-size-adjust: auto;">1. How would one configure
that? Please assume that I am unfamiliar and uncomfortable
with GRASS when explaining, but able to read Java and Python
man pages with ease, also comfortable with PSQL and PostGIS.</span></font></div>
</blockquote>
<p>In that case you might want to first go thru some tutorials on
using GRASS. We're here to help if encounter anything that is
unclear, or not working as you expected.</p>
<p>All GRASS commands can be called thru the GRASS-python bindings,
so that might be easiest for you. But do go into the beginning
tutorials first.</p>
<p>The GRASS module that sets the backend database connection is
`db.connect`. Have a look at the man page:</p>
<p><a class="moz-txt-link-freetext" href="https://grass.osgeo.org/grass78/manuals/db.connect.html">https://grass.osgeo.org/grass78/manuals/db.connect.html</a></p>
<p>You would choose the driver parameter as "pg", then set the
database and schema as required. This comes after running
`db.login` one time to save your DB auth credentials.</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:E887B402-9E75-44A9-A4C9-FA58D7C012AB@dheerajchand.com">
<div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);
-webkit-text-size-adjust: auto;">2. Would we get all the
speed benefits of PSQL, would it be used for computations
whenever possible?</span></font></div>
</blockquote>
<p>Not sure how to answer here. GRASS in general sends SQL commands
back to the DB backend for any undates. If, for example, you had a
point vector of cities, with two columns "population" and
"number_hospitals" in the attribute table, and you wanted to
calculate number of hospitals per 1000 people, then you would
construct a regular SQL query that would be sent to the backend.
So I guess that the speed would be determined by PostgreSQL.</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:E887B402-9E75-44A9-A4C9-FA58D7C012AB@dheerajchand.com">
<div><font color="#000000"><span style="caret-color: rgb(0, 0, 0);
-webkit-text-size-adjust: auto;">3. Is there a way to easily
move from GRASS and PSQL geometry and topology models when
doing this?</span></font></div>
</blockquote>
<p>Sorry to repeat again: GRASS maintains all geometry (and
topology) within its own internal vector data structure. NO
PostGIS involved here. But You could easily export GRASS vectors
to a PostGIS database using the `v.out.postgis` module.</p>
<p><a class="moz-txt-link-freetext" href="https://grass.osgeo.org/grass78/manuals/v.out.postgis.html">https://grass.osgeo.org/grass78/manuals/v.out.postgis.html</a></p>
<p><br>
</p>
<p>To pull a PostGIS vector table into GRASS would require either
`v.in.ogr` or `v.import`</p>
<p> <br>
</p>
<blockquote type="cite"
cite="mid:E887B402-9E75-44A9-A4C9-FA58D7C012AB@dheerajchand.com">
<div><br>
<div dir="ltr">Sent from my iPhone</div>
<div dir="ltr"><br>
<blockquote type="cite">On Aug 15, 2020, at 7:50 AM, Rich
Shepard <a class="moz-txt-link-rfc2396E" href="mailto:rshepard@appl-ecosys.com"><rshepard@appl-ecosys.com></a> wrote:<br>
<br>
</blockquote>
</div>
<blockquote type="cite">
<div dir="ltr"><span>On Sat, 15 Aug 2020, Micha Silver wrote:</span><br>
<span></span><br>
<blockquote type="cite"><span>But again, don't confuse -
this is NOT PostGIS, and GRASS does not</span><br>
</blockquote>
<blockquote type="cite"><span>need/use PostGIS for geometry.
GRASS geometry is always independent of any</span><br>
</blockquote>
<blockquote type="cite"><span>external geospatial format.</span><br>
</blockquote>
<span></span><br>
<span>Micha,</span><br>
<span></span><br>
<span>Thanks for clarifying; I must have mis-understood what
I read. I assumed the</span><br>
<span>geometry was kept by GRASS and didn't know why PostGIS
was mentioned ... and</span><br>
<span>I don't recall just where I read all this.</span><br>
<span></span><br>
<blockquote type="cite"><span>It's the other way around:
When you export GRASS map layers, you can, as</span><br>
</blockquote>
<blockquote type="cite"><span>you know, choose to save out
to several formats: shp, Geopackage (the</span><br>
</blockquote>
<blockquote type="cite"><span>current default) or to
PostGIS. PostGIS is the best choice when you need</span><br>
</blockquote>
<blockquote type="cite"><span>multiuser access to the
geospatial data. But you point out that you're the</span><br>
</blockquote>
<blockquote type="cite"><span>only user, so why would you
need the overhead of PostGIS?</span><br>
</blockquote>
<span></span><br>
<span>Ah, so. I don't.</span><br>
<span></span><br>
<blockquote type="cite"><span>To repeat, you can set the
default for saving attribute tables to</span><br>
</blockquote>
<blockquote type="cite"><span>PostgreSQL, but do not try to
save a GRASS layer to PostGIS in the same</span><br>
</blockquote>
<blockquote type="cite"><span>database! That will definitely
lead to trouble. If you want/need a PostGIS</span><br>
</blockquote>
<blockquote type="cite"><span>instance for some reason
independent of GRASS, then keep it totally</span><br>
</blockquote>
<blockquote type="cite"><span>separated from GRASS. i.e. at
least in a separate schema or even separate</span><br>
</blockquote>
<blockquote type="cite"><span>database.</span><br>
</blockquote>
<span></span><br>
<span>No, I want the attribute data in postgres so I need to
learn to make that</span><br>
<span>the default.</span><br>
<span></span><br>
<blockquote type="cite"><span>The main reasons for choosing
PostgreSQL as your database backend would be</span><br>
</blockquote>
<blockquote type="cite"><span></span><br>
</blockquote>
<blockquote type="cite"><span>1. to allow fancy SQL queries
on the database tables</span><br>
</blockquote>
<blockquote type="cite"><span>2. huge, complex data tables
or triggers</span><br>
</blockquote>
<blockquote type="cite"><span>3. multiuser access to the
attribute tables</span><br>
</blockquote>
<span></span><br>
<span>My reason is keeping these data in the same format as
other project data.</span><br>
<span></span><br>
<blockquote type="cite"><span>But keep in mind that the
default sqlite database is quite powerful, and you would
have to look very deeply to find a PostgreSQL feature
that is missing in sqlite.</span><br>
</blockquote>
<span></span><br>
<span>Yes, I've been using SQlite as long as I have
PostgreSQL.</span><br>
<span></span><br>
<span>Thanks,</span><br>
<span></span><br>
<span>Rich</span><br>
<span>_______________________________________________</span><br>
<span>grass-user mailing list</span><br>
<span><a class="moz-txt-link-abbreviated" href="mailto:grass-user@lists.osgeo.org">grass-user@lists.osgeo.org</a></span><br>
<span><a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/grass-user">https://lists.osgeo.org/mailman/listinfo/grass-user</a></span></div>
</blockquote>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
grass-user mailing list
<a class="moz-txt-link-abbreviated" href="mailto:grass-user@lists.osgeo.org">grass-user@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/grass-user">https://lists.osgeo.org/mailman/listinfo/grass-user</a></pre>
</blockquote>
<pre class="moz-signature" cols="72">--
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918
<a class="moz-txt-link-freetext" href="https://orcid.org/0000-0002-1128-1325">https://orcid.org/0000-0002-1128-1325</a></pre>
</body>
</html>