緯度/経度ポイントのPostGISラスター値


13

PostGIS 2.0データベースにtiffラスターがあります。指定した緯度/経度のポイントでラスターの値を取得したい。

私が持っています:

  • postgresql-9.1
  • ラスターをサポートするpostgis-2.0-svn
  • PostGISにインポートされたラスターのSRIDは3035

回答:


11

ST_Transform()を使用して、lat / lonポイントをその場でラスタCRSに変換できます。結合すると、クエリは次のようになります。

ST_Value(your_raster, ST_Transform(ST_SetSRID(ST_MakePoint(lon,lat),4326),3035))


4

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))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.