Re: [GRASS-user] PostgreSQL raster and vector import

2016-02-10 Thread patrick s.

Thanks for the confirmation, Stefan.

How can r.external be used for PostGIS than- if this concerns all 
PG-Rasters?


Concerning the workflow: good hint to use VRT and also to have WCT. Will 
need to check that.


My reason to use PG is to have a datastorage which can be connected to 
multiple software, without having to run these from within GRASS (R, 
QGIS, ArcGIS, own PostgreSQL functions, bash-scripts,). 
Unfortunately GRASS-format is not supported by all software and PG has 
multiple additional features of interest (User control, Indexing, 
Stability, Comments,  Schemas, Views,.). Last not least I have some 
WebGIS-applications that make use of PG-views and allow a visualisation 
of different contents through simply changing the content of a view, 
i.e. the link to data.


Currently I load from db to GRASS, run all processes inside GRASS which 
depend on the GRASS-functions and save my data to db at the end. Works 
ok for vectors, even if I need transform them to topology for each 
process (v.external does not support of all functions to my knowledge 
and was very slow in the past). However my rasterdata needs to be stored 
in local folders and loaded from there which works fine, but appears to 
be a bit inconsistent with the rest of the workflow. So I thought it 
might be time to make use of the new PostGIS-RASTERS.


Happy on any comment. And sorry of this description is a bit confused.

Patrick



On 09.02.2016 21:10, Blumentrath, Stefan wrote:

Hi Patrick,

Now I tested your approach and I can confirm your issue. It is likely a GRASS 
issue, I guess, as:
gdalinfo "PG:dbname=psql_local schema=myschema table=reference_map"
returns reasonable results.

You are probably hit by this: https://trac.osgeo.org/grass/ticket/798 as a PG 
raster consists of (many) subdatasets, which you can see in gdalinfo output...

You could try:
gdalbuildvrt ./reference_map.vrt "PG:dbname=psql_local schema=myschema 
table=reference_map"
r.in.gdal input=./reference_map.vrt output=region_ref -o --o
as GDAL VRTs are only "meta"-datasets and usually produced very fast.

However, if I were you, I would really reconsider my storage / workflow 
approach, as having the data in PG most likely does not yield in satisfying 
performance. Building a VRT from a reasonable sized raster dataset in PG takes 
ages, while it is built within a few seconds from a GeoTIFF or GRASS dataset.
Having it the other way around, linking a GRASS raster to PG (out-db storage) 
might be more appropriate. That would require building GDAL with GRASS support 
and PG against that GDAL version, so the driver becomes available for PG...

Or if you have to make the raster available over the internet, consider WCS...

Anyway, I hope you manage to achieve what you want!

Cheers
Stefan




-Original Message-
From: grass-user [mailto:grass-user-boun...@lists.osgeo.org] On Behalf Of 
patrick s.
Sent: 4. februar 2016 10:45
To: GRASS user list <grass-user@lists.osgeo.org>
Subject: Re: [GRASS-user] PostgreSQL raster and vector import

Dear list

In addition to my mail yesterday (see below):

The use of PostGIS might be related to the conversation from octobre last year 
(http://osgeo-org.1560.x6.nabble.com/External-raster-from-PostGIS-td5231932.html),
but it remains unclear to me how to import raster and is not referred to in the 
manual.

My current state seems close to the solution:
r.in.gdal in="PG:dbname=psql_local schema=myschema table=reference_map"
out=region_ref -o --o #load into grass
r.external source="PG:dbname=psql_local schema=myschema table=reference_map" 
out=region_ref --o -o  #link to grass

But both lead to "ERROR: North must be larger than South"

However, I can view the data in QGIS (loading though db-manager) and it appears 
to be ok.

Is Error it a problem of gdal, my data or the grass-modules? And how can I 
solve it?

Thanks for any help
Patrick



On 03.02.2016 15:48, patrick s. wrote:

Dear list

I need some help on importing PostGIS raster with r.in.gdal and schema
support under v.in.ogr.


RASTER:
"r.in.gdal -f" shows support: "PostGISRaster (rw): PostGIS Raster driver"
But I did not find any example on how to formulate the dsn/input.


VECTOR:
Unfortunately there is no hint in the manual of grass70 on how to work
with schemas (there was one in 64).
I had a script in grass64 of following syntax, which is still working:

ISCHEMA=baselayer
v.in.ogr dsn="PG:dbname=psql_local active_schema=my_dataschema"
layer=gws_buildings --overwrite

However, I would like to form this more general as a variable for all
incoming data, which is not working:

INPATH="PG:dbname=psql_local active_schema=my_dataschema"
v.in.ogr in=$INPATH out=bldg_pt layer=gws_buildings --overwrite
=>ERROR: v.in.ogr: Sorry,  is not a valid parameter

Also the approach described in the manual of grass64 does not work any
longer

db.connect driver=pg databa

Re: [GRASS-user] PostgreSQL raster and vector import

2016-02-09 Thread Blumentrath, Stefan
Hi Patrick,

Now I tested your approach and I can confirm your issue. It is likely a GRASS 
issue, I guess, as:
gdalinfo "PG:dbname=psql_local schema=myschema table=reference_map"
returns reasonable results.

You are probably hit by this: https://trac.osgeo.org/grass/ticket/798 as a PG 
raster consists of (many) subdatasets, which you can see in gdalinfo output... 

You could try:
gdalbuildvrt ./reference_map.vrt "PG:dbname=psql_local schema=myschema 
table=reference_map"
r.in.gdal input=./reference_map.vrt output=region_ref -o --o
as GDAL VRTs are only "meta"-datasets and usually produced very fast.

However, if I were you, I would really reconsider my storage / workflow 
approach, as having the data in PG most likely does not yield in satisfying 
performance. Building a VRT from a reasonable sized raster dataset in PG takes 
ages, while it is built within a few seconds from a GeoTIFF or GRASS dataset.
Having it the other way around, linking a GRASS raster to PG (out-db storage) 
might be more appropriate. That would require building GDAL with GRASS support 
and PG against that GDAL version, so the driver becomes available for PG...

Or if you have to make the raster available over the internet, consider WCS...

Anyway, I hope you manage to achieve what you want!

Cheers
Stefan




-Original Message-
From: grass-user [mailto:grass-user-boun...@lists.osgeo.org] On Behalf Of 
patrick s.
Sent: 4. februar 2016 10:45
To: GRASS user list <grass-user@lists.osgeo.org>
Subject: Re: [GRASS-user] PostgreSQL raster and vector import

Dear list

In addition to my mail yesterday (see below):

The use of PostGIS might be related to the conversation from octobre last year 
(http://osgeo-org.1560.x6.nabble.com/External-raster-from-PostGIS-td5231932.html),
but it remains unclear to me how to import raster and is not referred to in the 
manual.

My current state seems close to the solution:
r.in.gdal in="PG:dbname=psql_local schema=myschema table=reference_map" 
out=region_ref -o --o #load into grass
r.external source="PG:dbname=psql_local schema=myschema table=reference_map" 
out=region_ref --o -o  #link to grass

But both lead to "ERROR: North must be larger than South"

However, I can view the data in QGIS (loading though db-manager) and it appears 
to be ok.

Is Error it a problem of gdal, my data or the grass-modules? And how can I 
solve it?

Thanks for any help
Patrick



On 03.02.2016 15:48, patrick s. wrote:
> Dear list
>
> I need some help on importing PostGIS raster with r.in.gdal and schema 
> support under v.in.ogr.
>
>
> RASTER:
> "r.in.gdal -f" shows support: "PostGISRaster (rw): PostGIS Raster driver"
> But I did not find any example on how to formulate the dsn/input.
>
>
> VECTOR:
> Unfortunately there is no hint in the manual of grass70 on how to work 
> with schemas (there was one in 64).
> I had a script in grass64 of following syntax, which is still working:
>
> ISCHEMA=baselayer
> v.in.ogr dsn="PG:dbname=psql_local active_schema=my_dataschema" 
> layer=gws_buildings --overwrite
>
> However, I would like to form this more general as a variable for all 
> incoming data, which is not working:
>
> INPATH="PG:dbname=psql_local active_schema=my_dataschema"
> v.in.ogr in=$INPATH out=bldg_pt layer=gws_buildings --overwrite
> =>ERROR: v.in.ogr: Sorry,  is not a valid parameter
>
> Also the approach described in the manual of grass64 does not work any 
> longer
>
> db.connect driver=pg database=psql_local schema=my_dataschema v.in.ogr 
> in=./ out=bldg_pt layer=gws_buildings --overwrite
> =>ERROR: Unable to open data source <./>
>
>
> Thanks for any help,
> Patrick

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Re: [GRASS-user] PostgreSQL raster and vector import

2016-02-04 Thread patrick s.

Dear list

In addition to my mail yesterday (see below):

The use of PostGIS might be related to the conversation from octobre 
last year 
(http://osgeo-org.1560.x6.nabble.com/External-raster-from-PostGIS-td5231932.html), 
but it remains unclear to me how to import raster and is not referred to 
in the manual.


My current state seems close to the solution:
r.in.gdal in="PG:dbname=psql_local schema=myschema table=reference_map" 
out=region_ref -o --o #load into grass
r.external source="PG:dbname=psql_local schema=myschema 
table=reference_map" out=region_ref --o -o  #link to grass


But both lead to "ERROR: North must be larger than South"

However, I can view the data in QGIS (loading though db-manager) and it 
appears to be ok.


Is Error it a problem of gdal, my data or the grass-modules? And how can 
I solve it?


Thanks for any help
Patrick



On 03.02.2016 15:48, patrick s. wrote:

Dear list

I need some help on importing PostGIS raster with r.in.gdal and schema 
support under v.in.ogr.



RASTER:
"r.in.gdal -f" shows support: "PostGISRaster (rw): PostGIS Raster driver"
But I did not find any example on how to formulate the dsn/input.


VECTOR:
Unfortunately there is no hint in the manual of grass70 on how to work 
with schemas (there was one in 64).

I had a script in grass64 of following syntax, which is still working:

ISCHEMA=baselayer
v.in.ogr dsn="PG:dbname=psql_local active_schema=my_dataschema" 
layer=gws_buildings --overwrite


However, I would like to form this more general as a variable for all 
incoming data, which is not working:


INPATH="PG:dbname=psql_local active_schema=my_dataschema"
v.in.ogr in=$INPATH out=bldg_pt layer=gws_buildings --overwrite
=>ERROR: v.in.ogr: Sorry,  is not a valid parameter

Also the approach described in the manual of grass64 does not work any 
longer


db.connect driver=pg database=psql_local schema=my_dataschema
v.in.ogr in=./ out=bldg_pt layer=gws_buildings --overwrite
=>ERROR: Unable to open data source <./>


Thanks for any help,
Patrick 


___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Re: [GRASS-user] PostgreSQL raster and vector import

2016-02-04 Thread patrick s.
One finding concerning the variable-based pathdefinition to PostgreSQL 
with schema (thanks to a collegue).

Maybe of interest for other users.

My problems of Raster-import remains open...

Cheers,Patrick

#works
DBPATH="PG:dbname=psql_local"
v.in.ogr input=$DBPATH out=bldg_pt layer=${ISCHEMA}.gws_buildings 
--overwrite


#does not work
INPATH="PG:dbname=psql_local active_schema=baselayer_2000"
v.in.ogr input=$INPATH out=bldg_pt layer=gws_buildings --overwrite

#work
INPATH="PG:dbname=psql_local active_schema=$ISCHEMA"
v.in.ogr "input=$INPATH" out=bldg_pt layer=gws_buildings --overwrite 
#NOTE: "in" needs to be quoted or it will not work



On 04.02.2016 10:44, patrick s. wrote:

Dear list

In addition to my mail yesterday (see below):

The use of PostGIS might be related to the conversation from octobre 
last year 
(http://osgeo-org.1560.x6.nabble.com/External-raster-from-PostGIS-td5231932.html), 
but it remains unclear to me how to import raster and is not referred 
to in the manual.


My current state seems close to the solution:
r.in.gdal in="PG:dbname=psql_local schema=myschema 
table=reference_map" out=region_ref -o --o #load into grass
r.external source="PG:dbname=psql_local schema=myschema 
table=reference_map" out=region_ref --o -o  #link to grass


But both lead to "ERROR: North must be larger than South"

However, I can view the data in QGIS (loading though db-manager) and 
it appears to be ok.


Is Error it a problem of gdal, my data or the grass-modules? And how 
can I solve it?


Thanks for any help
Patrick



On 03.02.2016 15:48, patrick s. wrote:

Dear list

I need some help on importing PostGIS raster with r.in.gdal and 
schema support under v.in.ogr.



RASTER:
"r.in.gdal -f" shows support: "PostGISRaster (rw): PostGIS Raster 
driver"

But I did not find any example on how to formulate the dsn/input.


VECTOR:
Unfortunately there is no hint in the manual of grass70 on how to 
work with schemas (there was one in 64).

I had a script in grass64 of following syntax, which is still working:

ISCHEMA=baselayer
v.in.ogr dsn="PG:dbname=psql_local active_schema=my_dataschema" 
layer=gws_buildings --overwrite


However, I would like to form this more general as a variable for all 
incoming data, which is not working:


INPATH="PG:dbname=psql_local active_schema=my_dataschema"
v.in.ogr in=$INPATH out=bldg_pt layer=gws_buildings --overwrite
=>ERROR: v.in.ogr: Sorry,  is not a valid parameter

Also the approach described in the manual of grass64 does not work 
any longer


db.connect driver=pg database=psql_local schema=my_dataschema
v.in.ogr in=./ out=bldg_pt layer=gws_buildings --overwrite
=>ERROR: Unable to open data source <./>


Thanks for any help,
Patrick 




___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user