<div dir="ltr">I think you're right Larry. I'd like to avoid files, though.<div><br></div><div>Regards, </div><div><br></div><div>Germán </div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-12-09 18:17 GMT-05:00 Larry Shaffer <span dir="ltr"><<a href="mailto:larrys@dakotacarto.com" target="_blank">larrys@dakotacarto.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>HI,<br><br></div>Another thing you might try is this command line option: <br><span class=""><br><span style="white-space:pre-wrap"></span>[--code path]<span style="white-space:pre-wrap">   </span>run the given python file on load<br><br></span></div>Then, you could possibly load the PostGIS layer just as you would from the PyQGIS console, only it would be commands inside of a Python file.<br><br></div>You could do other things as well, like verify the PostgreSQL server is up, etc.<br><div><br>Please note: just guessing here, as I have not fully tested this yet.<br><div><div class="gmail_extra"><br></div><div class="gmail_extra">Regards,<br clear="all"></div><div class="gmail_extra"><div><div><br>Larry Shaffer<br>Dakota Cartography<br>Black Hills, South Dakota</div></div>
<br><div class="gmail_quote"><div><div class="h5">On Tue, Dec 9, 2014 at 1:39 PM, Richard Duivenvoorde <span dir="ltr"><<a href="mailto:rdmailings@duif.net" target="_blank">rdmailings@duif.net</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5"><span>On 09-12-14 16:41, Germán Carrillo wrote:<br>
> Hi Richard,<br>
><br>
> thanks a lot for your response. However, I think we aren't talking about<br>
> the same :)<br>
> I understand this thread was opened to ask about how to open a PostGIS<br>
> Layer from the OS (say GNU/Linux) command line at QGIS startup.<br>
<br>
</span>ah, sorry sorry :-(<br>
<br>
well, I take this as a challenge...<br>
(short version: go to the end, either use a vrt file or a qgs file)<br>
<br>
looking into the code:<br>
<br>
<a href="https://github.com/qgis/QGIS/blob/master/src/app/qgisapp.cpp#L4206" target="_blank">https://github.com/qgis/QGIS/blob/master/src/app/qgisapp.cpp#L4206</a><br>
<br>
it looks like you can only use ogr provider for this...<br>
<br>
here:<br>
<br>
<a href="http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/loadlayer.html" target="_blank">http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/loadlayer.html</a><br>
<br>
<br>
there is an example to use a MySQL uri... so I tried that one first.<br>
All is based on ogr, so we need the ogr driver:<br>
<br>
<a href="http://www.gdal.org/drv_pg.html" target="_blank">http://www.gdal.org/drv_pg.html</a><br>
<br>
tried stuff like:<br>
<br>
PG:'dbname=bag host=localhost port=5432 user=geo<br>
<span>password=xxx sslmode=disable key=gid estimatedmetadata=true srid=28992<br>
type=MULTIPOLYGON table="bag8mrt2014"."provincie" (geovlak) sql='<br>
<br>
</span>but all that I got working was a simple:<br>
<br>
ogrinfo -ro PG:'host=localhost user=geo password=gwwvgeo dbname=bag<br>
sslmode=disable'<br>
<br>
but using that kind of uri's did not make QGIS load, it kept showing:<br>
<br>
Unable to load /tmp/PG:host=localhost user=geo password=xxx dbname=bag<br>
sslmode=disable<br>
<br>
apparently QGIS ALWAYS prepends the basepath (/tmp for me) in front of<br>
the 'filename'. It has to be a real file ??<br>
<br>
THEN: ok, so it has to be ogr AND a file...<br>
There is gdal's Virtual Format:<br>
<br>
<a href="http://www.gdal.org/drv_vrt.html" target="_blank">http://www.gdal.org/drv_vrt.html</a><br>
<br>
so with some trial and error I prepared the following vrt file, for<br>
exact the same data as the earlier email:<br>
<br>
<OGRVRTDataSource><br>
<br>
<OGRVRTLayer name="test"><br>
<SrcDataSource>PG:host=localhost user=geo password=*** dbname=bag<br>
sslmode=disable</SrcDataSource><br>
<SrcSQL>select * from bag8mrt2014.provincie</SrcSQL><br>
<LayerSRS>epsg:28992</LayerSRS><br>
</OGRVRTLayer><br>
<br>
</OGRVRTDataSource><br>
<br>
saved it as mypgconnection.vrt, and NOW I can load it with:<br>
<br>
qgis mypgconnection.vrt  \o/<br>
<br>
another option, is to create a qgs project file with that postgresql<br>
connection and fire up qgis with that one<br>
<br>
qgis mypgproject.qgs<br>
<br>
you could maybe create the qgs file dynamically to have your<br>
schema/table names in place<br>
<br>
ok, it's all a little hacking, but hopefully of use :-)<br>
</div></div><span><br>
Regards,<br>
<br>
Richard Duivenvoorde<span class=""><br>
_______________________________________________<br>
Qgis-user mailing list<br>
<a href="mailto:Qgis-user@lists.osgeo.org" target="_blank">Qgis-user@lists.osgeo.org</a><br>
</span></span><a href="http://lists.osgeo.org/mailman/listinfo/qgis-user" target="_blank">http://lists.osgeo.org/mailman/listinfo/qgis-user</a><br>
</blockquote></div><br></div></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">-----------<br>   |\__  <br>(:>__)(<br>   |/    <br><br>Soluciones Geoinformáticas Libres                            <br><a href="http://geotux.tuxfamily.org/">http://geotux.tuxfamily.org/</a><br><a href="http://twitter.com/GeoTux2">http://twitter.com/GeoTux2</a><br></div>
</div>