[postgis-users] getting raster values for point from st_value

Pierre Racine Pierre.Racine at sbf.ulaval.ca
Wed May 14 06:01:18 PDT 2014


You said you could visualize this table in QGIS? Or were you speaking about a shapefile? You can visualize the rastextets table and the points table the same way.

Pierre

> -----Original Message-----
> From: Jason Mathis [mailto:jmathis at redzonesoftware.com]
> Sent: Tuesday, May 13, 2014 6:30 PM
> To: PostGIS Users Discussion; Pierre Racine
> Subject: Re: [postgis-users] getting raster values for point from st_value
> 
> Hi Pierre,
> 
> Thanks so much for super quick response. You will have to forgive me I am
> fairly new to postgis.
> 
> Creating the table is no problem but how would I check if it overlaps with
> my points?
> 
> thanks!
> 
> 
> 
> On May 13, 2014 at 4:08:40 PM, Pierre Racine (pierre.racine at sbf.ulaval.ca)
> wrote:
> 
> 
> 	Create a new table with the extents of the raster tiles and check if it
> overlaps with your points:
> 
> 	CREATE TABLE rastextets AS
> 	SELECT rast::geometry
> 	FROM tbl_raster
> 
> 	Pierre
> 
> 	> -----Original Message-----
> 	> From: postgis-users-bounces at lists.osgeo.org [mailto:postgis-
> users-
> 	> bounces at lists.osgeo.org] On Behalf Of Jason Mathis
> 	> Sent: Tuesday, May 13, 2014 5:56 PM
> 	> To: postgis-users at lists.osgeo.org
> 	> Subject: [postgis-users] getting raster values for point from
> st_value
> 	>
> 	> Hi all,
> 	>
> 	> I have recently loaded a good amount of rasterized shape files into
> a db. I
> 	> mainly used gdal_rasterize and raster2pgsql. The shape files were
> in NAD83
> 	> so I used the below commands to rasterized and load.
> 	>
> 	> gdal_rasterize -at -a desc -where "desc='Very High'" -burn 2 -tr 30
> 30 -ot
> 	> byte -a_nodata -99 shape_file.shp raster.tiff
> 	> raster2pgsql -d -s 5070 -t 100x100 -F -I -C -Y raster.tiff tbl_raster |
> psql -d
> 	> raster_db
> 	>
> 	> I had two sets of shape files one set had about 10 burn values and
> another
> 	> had about 50. The issue is getting these values out of the raster. I
> believe I
> 	> should be using something from this page:
> 	> http://postgis.net/docs/RT_ST_Value.html.
> 	>
> 	> I can visualize this file in QGIS and it looks good, the histogram
> shows
> 	> values. I can also use the postgis functions, st_summarystats or
> 	> st_histogram to see some data but I need to be able to query a
> given point
> 	> and return the raster value.
> 	>
> 	> I have this:
> 	>
> 	> SELECT ST_Value(rast,(ST_Point( -111.750185, 34.886948)))
> 	> FROM tbl_raster
> 	> WHERE st_intersects(rast, (ST_Point(-111.750185, 34.886948)))
> 	>
> 	> Then i thought oh wait should I set the srid?:
> 	>
> 	> SELECT ST_Value(rast,(ST_SetSRID(ST_Point( -111.750185,
> 	> 34.886948),5070)))
> 	> FROM tbl_raster
> 	> WHERE st_intersects(rast, (ST_SetSRID(ST_Point(-111.750185,
> 	> 34.886948),5070)))
> 	>
> 	> Still I get nothing, then I thought I need to transform so I got this:
> 	>
> 	> SELECT ST_Value(rast,(ST_Transform(ST_SetSRID(ST_Point( -
> 111.762866,
> 	> 34.874309),5070),4326)))
> 	> FROM tbl_raster
> 	> WHERE st_intersects(rast, (ST_Transform(ST_SetSRID(ST_Point( -
> 	> 111.762866, 34.874309),5070),4326)))
> 	>
> 	> But in the end nothing.
> 	>
> 	> I did need to add the SRID to the spatial_ref_sys table:
> 	>
> 	> INSERT into spatial_ref_sys (srid, auth_name, auth_srid,
> proj4text, srtext)
> 	> values ( 5070, 'EPSG', 5070, '+proj=aea +lat_1=29.5 +lat_2=45.5
> +lat_0=23
> 	> +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80
> +towgs84=0,0,0,0,0,0,0
> 	> +units=m +no_defs ', 'PROJCS["NAD83 / Conus
> 	>
> Albers",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHER
> 	> OID["GRS
> 	>
> 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],TOWGS84[0,
> 	>
> 0,0,0,0,0,0],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0,AUTHORIT
> 	>
> Y["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG
> 	>
> ","9122"]],AUTHORITY["EPSG","4269"]],PROJECTION["Albers_Conic_Equal_
> 	>
> Area"],PARAMETER["standard_parallel_1",29.5],PARAMETER["standard_par
> 	>
> allel_2",45.5],PARAMETER["latitude_of_center",23],PARAMETER["longitude
> 	> _of_center",-
> 	>
> 96],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["
> 	>
> metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],AUT
> 	> HORITY["EPSG","5070"]]’);
> 	>
> 	> But ultimately I have nothing I can’t seem to get any data out
> using a query
> 	> with a point value. I am thinking it has to do with the srid? Since I
> can
> 	> visually inspect it and see data.
> 	>
> 	> Anyone have any hot ideas as to why I am not seeing data?
> 	>
> 	> Thanks!
> 	>
> 	>
> 	>
> 	> This transmission contains confidential and privileged information
> intended
> 	> solely for the party identified above. If you receive this message in
> error,
> 	> you must not use it or convey it to others. Please destroy it
> immediately
> 	> and contact the sender at (303) 386-3955 or by return e-mail to
> the sender.
> 
> 	_______________________________________________
> 	postgis-users mailing list
> 	postgis-users at lists.osgeo.org
> 	http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
> 
> 
> This transmission contains confidential and privileged information intended
> solely for the party identified above. If you receive this message in error,
> you must not use it or convey it to others. Please destroy it immediately
> and contact the sender at (303) 386-3955 or by return e-mail to the sender.



More information about the postgis-users mailing list