Saya memiliki taster raster di database PostGIS 2.0 saya. Saya ingin mendapatkan nilai raster pada titik lat / lon yang ditentukan.
Saya sudah:
- postgresql-9.1
- postgis-2.0-svn dengan dukungan raster
- raster yang diimpor ke PostGIS SRID-nya adalah 3035
Saya memiliki taster raster di database PostGIS 2.0 saya. Saya ingin mendapatkan nilai raster pada titik lat / lon yang ditentukan.
Saya sudah:
Jawaban:
Fungsi ST_value:
http://postgis.net/docs/RT_ST_Value.html
mengembalikan nilai raster yang diberi titik dalam x, y atau lat, lon.
Saat ST_Value berfungsi, Anda masih harus bergabung secara spasial ke titik juga:
SELECT ST_Value(your_raster.rast, ST_Transform(ST_SetSRID(ST_MakePoint(lon,lat),4326),3035))
FROM your_raster
WHERE ST_Intersects(your_raster.rast, ST_SetSRID(ST_MakePoint(lon,lat),4326),3035))
Atau dengan meja:
SELECT ST_Value(your_raster.rast, ST_Transform(ST_SetSRID(ST_MakePoint(your_table.lon,your_table.lat),4326),3035))
FROM your_raster
JOIN your_table ON ST_Intersects(your_raster.rast, ST_SetSRID(ST_MakePoint(your_table.lon,your_table.lat),4326),3035))