मैं अपने PostGIS 2.0 डेटाबेस में एक झगड़ा रेखापुंज है। मैं एक निर्दिष्ट lat / lon बिंदु पर रेखापुंज का मान प्राप्त करना चाहता हूं।
मेरे पास है:
- PostgreSQL-9.1
- पोस्टगिस-2.0-svn रेखापुंज समर्थन के साथ
- PostGIS में आयातित एक रेखापुंज इसकी SRID 3035 है
मैं अपने PostGIS 2.0 डेटाबेस में एक झगड़ा रेखापुंज है। मैं एक निर्दिष्ट lat / lon बिंदु पर रेखापुंज का मान प्राप्त करना चाहता हूं।
मेरे पास है:
जवाबों:
फ़ंक्शन ST_value:
http://postgis.net/docs/RT_ST_Value.html
किसी रैस्टर वैल्यू को x, y या lat, lon दोनों में से एक बिंदु दिया जाता है।
जब ST_Value काम करता है, तब भी आपको स्थानिक रूप से इस बिंदु पर शामिल होने की आवश्यकता है:
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))
या एक तालिका के साथ:
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))