2012年5月14日月曜日

Postgres:流域界①

この前まで編集していた流域界・非集水域(面)のデータを
ShapeFile Lodarで楽々インポート。
                                                                        

これ便利だょね。








①指定した座標値の河川コードを取得する。
うーーーん、distanceで指定座標値から何キロとかは取れるみたいだけど。。。

distance_sphere(point, point)
二つの緯度/経度の地点間の距離を,地球を半径6,370,986mの球形として計算します。Distance_spheroidより速く計算できますが,正確さは劣ります

指定した緯度経度から1000メートル内のデータを、近い順に引っ張って来てるハズ。
SELECT the_geom,distance_sphere(the_geom,GeometryFromText('POINT(140 36)',-1)) as distance
FROM テーブル名
WHERE distance_sphere(the_geom,GeometryFromText('POINT(140 36)',-1)) < '1000' order by distance;

イコール0で指定座標値ピッタリなんて。。。
distance_sphere(the_geom,GeometryFromText('POINT(140 36)',-1)) ='0'


あー間違えた。
土地利用データに座標指定しても河川情報は何も取得出来ないんだ。。。
座標指定して流域界・非集水域(面)データより単位流域コードを取得する。

確か<1指定すれば良かったようなぁ。
SELECT W12_001,W12_002,W12_003
 FROM 流域界・非集水域(面)テーブル
WHERE distance_sphere(the_geom,GeomFromText('POINT(140.276 36.455)',-1)) < 1


で結果。

おっ。バッチシ。
②取得した単位流域コードで上流コードを単位流域台帳からひっぱる。
select * from 単位流域台帳 where 水系域コード = 83027 and 単位流域コード= 84


おぉーー。取れたぁ。
あとはパイタンでスクリプト化するだけだぁー!

0 件のコメント:

コメントを投稿