The most common need for extraction of some raster data from larger dataset is to reduce computing time. Let's look into spatial relationship and extraction functions in PostGIS. For getting results in raster space, we should use ST_Clip() and ST_Intesection() for vector space results.
In the previous example, we extracted one raster cell value for vector point. Now, we need to query for multiple point values. There we should use the ST_Intersection() function. As a standard, this function returns geoval type in vector space, that we need to join with our vector points. Let's look at an example:
SELECT foo.name,
(foo.geomval).val AS height
FROM (
SELECT
ST_Intersection(A.rast, g.geom) As geomval,
g.name
FROM eudem.clip AS A
CROSS JOIN (
SELECT geom, name FROM raster_ops.places WHERE type='village'
) As g(geom, name)
WHERE A.rid = 4
) As foo;
name...