PostGIS 2.0 veritabanımda tiff rasterim var. Raster değerini belirtilen bir lat / lon noktasında almak istiyorum.
Sahibim:
- postgresql-9.1
- Raster destekli postgis-2.0-svn
- PostGIS'e ithal edilen bir raster SRID'si 3035
PostGIS 2.0 veritabanımda tiff rasterim var. Raster değerini belirtilen bir lat / lon noktasında almak istiyorum.
Sahibim:
Yanıtlar:
ST_value işlevi:
http://postgis.net/docs/RT_ST_Value.html
x, y veya lat, lon'da bir nokta verilen raster değerini döndürür.
ST_Value çalışırken, yine de noktaya mekansal olarak katılmanız gerekir:
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))
Veya bir tablo ile:
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))