2012年12月13日木曜日

最後に。。。

コメントして下さった方々、本当にありがとうございました。

訳あって今月でブログ終了します。
また復活出来ればいいなぁ~と思っていますが。。。


2012年10月4日木曜日

postGIS in Action

なる本が出てるらしい。。。
読んでみたいけど英語版しかないみたい。

読んだことある人、感想お聞かせ下さい。
お願いします。

小人さんのお土産 第三弾

種が奥深くてシビれたぁ~
しかも東京で『柿』買ってくるかなぁ~。。。



Ubuntsu:すげー

CentOSとかScientificLinuxとかOSのインストールは自動的にやってくれるから問題ないんだけど。。。
そこから先が大変。

リポジトリがあるサイトを探したり、repoをダウンロードしてインストール。
これが上手く動けばいいんだけど、大半がコケる。
対処法として、configure→makeって簡単に書いてあるけどmakeが動いたことは一度もない!!!
なんでじゃ!!!


Ubuntu10.4から12.0へバージョンUp。
UpdateManagerさんが勝手にやってくれて無事にバージョンアップ。

で、ここから。GRASSを6.4.0→から6.4.2へ。
きっとrepoを探してきてyumで展開してインストールなんだろうな~と思いきや。


Ubuntu用のパッケージを集めたサイトへ行く。
Unstable releases of Ubuntu GIS packages







2012年10月2日火曜日

Office2010:ヒストグラム付録

横軸に特性値
縦軸に度数
区間の幅で柱状の図を書いた度数図をヒストグラム。

身長を例にして教えて貰った覚えが。。。

女子の身長
154.5
155.1
155.2
155.3
155.3
155.5

161.3
161.4
162.2
162.6
163.0


サンプルの最小値&最大値を調べる。
最小値:154.5
最大値:163.0

その後、手作業で度数分布表を作った感じ。




2012年9月27日木曜日

Office2010:ヒストグラム作成方法②

ヨーーーーーーーーーーーシッ。
ヒストグラム ツクルゾォ。

      アドオンするとデータの中に「データ分析」が表示される。


データ分析をクリックすると分析ツール選択の画面が表示
 
  念願の【ヒストグラム】を選択してOK。
 
入力範囲を指定してOK。






 

Office2010:ヒストグラム作成方法①


Ofiice2010から、すっかり使い方が判らない。
まさに「豚に真珠」状態である。

とりあえず、分析ツールがない(>_<)
どこからアドオンするんじゃぁー!!!

【ファイル】タブの中のオプションを選択


エクセルのオプションなる画面が表示される。


















アドインしたい項目を選択して画面の下の方にある「設定」ボタンをクリックする。



















そーするといつもの小画面が出てくるので後は一緒。
























2012年9月26日水曜日

【解決】postgresql84 ホストからの接続方法

/var/lib/pgsql/8.4/data/の中の
postgresql.conf
pg_hba.conf

これ以外、どこを設定したらいいんじゃぁー

【解決】
ファイヤーウォールを設定しないとダメみたい。
厳しいなぁ~

2012年9月25日火曜日

GRASS:属性テーブルに日本語が入っているシェープファイル

 
GRASS6.4.2で国土数値情報の行政区域データを読み込みたい。
 
 
V.in.ogr






 
対象ファイルを選択する


 
 
無事、表示。
 
 
 
だけど。。。
属性テーブルの日本語が化けてる~。
 
 
属性テーブルに日本語が入ってる場合、dbfファイルを編集しなきゃいけないような気がするけど
何を編集していいか覚えてません。
誰か教えて下さい。

2012年9月24日月曜日

postgresql84って

ScientificLinux6.0,CentOS6.2にしても新しいバージョン(ポスグレ様)のレポジトリしかないので
本家のサイトからpgdgのレポをゲットする。

でも、このレポジトリの一覧の中にpostgresql84しかないから仕方なく

yum install postgresql84

yum install postgis84

こんな感じでインストールは出来る。
8.4系の最終版って書いてあったけど84なんてつくのはおかしい。
今までなかったし、これからもない。


service postgresql-8.4 initdb

/etc/init.d/postgresql-8.4 start

データベースも作れるし、起動もしてくる

けど。。。

data領域が見つからない。。。

2012年9月21日金曜日

【解決】CentOSインストール

CentOS5.7からのバージョンUP。
勝手にCentOS5.7ではpostGIS1.5が使えないと判断。


環境
VMServer2.0にCentOS6.3をインストールしたい。



【解決】
CentOS6.3 DVD-1.iso壊れてます。
起動しない。

仕方ないのでCentOS6.2 DVD.iso またまた壊れてる。
起動しない。


仕方ないので CentOS 6.2 netinstall.iso
動いた。
しかもご近所の理研様からDL出来たし。
理化学研究所
http://ftp.riken.jp/Linux/centos/6.2/os/x86_64

無事、CentOS6.2 インストール完了

postGIS84 空間データ機能ロードについて

CentOS6.2
postgresql84
postgis84

CentOS6.2はネットインストールで成功。
dvd1.isoはなぜか起動せず。。。
しかもLiveDVD.isoは文字化けして訳判らん。

postgresqlとpostgisはhttp://yum.postgresql.org/8.4/redhat/rhel-6.2-x86_64/ から
pgdg-centos-8.4-3.noarch.rpm』 レポジトリ取得。

 

$yum install postgresql84
$yum install postgis84

インストールは無事成功!

で、
If this is the first time you're using PostGIS in a particular database, you must install the schema like so:
必要があるみたいなので。。。

sudo /sw/bin/pgsql.sh-8.4 start
sudo -u postgres /sw/opt/postgresql-8.4/bin/psql \
-f /sw/share/doc/postgis84/contrib/postgis-1.5/postgis.sql \
-d <your_spatial_database>


だけどpostgis.sqlが流れない。
このsqlの中で参照しなければいけないライブラリが見つけられないみたいなんだけど
でも、勝手にインストールされちゃうし。フォルダ構成変えてもダメだったし。


誰かpostgis84のインストール方法教えて下さい。

2012年9月19日水曜日

【解決】postGIS:Ver1.3→Ver1.5へバージョンアップしたい

環境は。。。
CentOS5.7
Postgresql8.4.4
postgis1.3

簡単に1.5へバージョンアップ出来る方法はないでしょうか?
誰か教えて下さい。

【解決策】
ソフトアップデート
1.3→1.5へのSQL文が用意されているけど動かない(T.T)

ハードアップデート
postGISを一度削除して1.5のバージョンをインストールする。
PROJ、GEOSまでは上手くでいたんだけどpostGISのmakeでコケる。


OpenGeoSweetからインストール。
ここに用意されているレポジトリのpostgresqlの名前とインストールした名前が異なるため
レポジトリが動かない。。。
でも、/http://yum.pgsqlrpms.org ここのサイトがなくなってしなまったので本家からレポを取得するしかないので


で、SLやWindows用のインストールのようにpostGIS in POstgresqlのインストーラーを落とそうとしたら
CentOS5系のものはないようです。。。

なのでCentOSを6系にバージョンUP。

2012年9月14日金曜日

【解決】postGIS:ST_ClosestPoint

誰か『ST_ClosestPoint』の使い方を教えて下さい。

マルチポリゴンとポイントデータがあります。
(postgresqlでは別テーブルに入ってます)

あるマルチポリゴンに一番近いポイントを取得したいのですが。。。

>Select ST_Closestpoint(a.the_geom, b.the_geom) as the_geom
 >from result a,amedas b

実行すると。。。

指定名称、指定引数型に合う関数がありません。明示的な型キャストが必要かもしれません

マルチポリゴンをlineに変えないとダメなのでしょうか???

【解決】
postGIS1.5からのサポートなんだって。

2012年8月28日火曜日

小人さんのお土産

最近、出没しない小人さん。
夏休みで福島方面に行って来たらしい。

そのお土産が!なんとコレ!!!
きっとネタだと思うのでブログup。


2012年8月22日水曜日

python:気象データのグリッド化

postGIS:流域の中で本流と支流にポリゴン分け

GRASS:DEM作成

DEMファイル作成マニュアルを作るために初めてDEMファイルを作ってみた。
結局、出来なかったけど手順だけまとめておこう。
 
 
①Create a new mapset だっちゃ♪
「Create mapset」ボタンをクリック。


マップセット名を入力
 









②Import Vector Fileだっちゃ♪
  【files】 > 【Import vector data】 > 【Common important  formats[v.in.ogr]】



















ディレクトリ指定で2つのシェープファイル読み込み。























③Vectormap layer into a Rastermap layer(V.to.Rasterだっちゃ♪)
     【Vector】  > 【Map type conversions】 > 【Vector to raster[v.to.rast]】


 


















Vector map→Impotrtしたファイル名
Raster map→テキトーに命名
raster バリュー→val(オプションのRster valueで指定された値を使用)




 


ラスターになったみたいよ。
 

Creating a Mask
  【Raster】 > 【Mask[r.mask]】
 
 


マスクを作成するためのラスターレイヤーを入力。

 
 
右下にマスクって表示されていればOK。

 
 





Set Region
  【Setting】 > 【Region】 > 【Set Region[g.region]】


マスクの範囲でリージョンを設定

Vector map layer into a Raster map layer




Make DEM file
  【Raster】 > 【Interpolate surfaces】 > 【Raster contours [r.surf.contours]】
 

QGIS:基本的な使い方

QGIS1.7での動作確認した内容。
せっかくなのでメモしてみた。

①ラスタデータ表示
    「ラスタレイヤの追加」のアイコンをクリック。

 
 







 

コマンドダイアログが表示されるので対象データを選択する。














画像が表示されます。
















②ベクタデータ表示
   「ベクタレイヤの追加」のアイコンをクリック。












  「ベクタレイヤの追加」画面が表示されるので【ブラウズ】をクリック。










コマンドダイアログが表示されるので対象データを選択する。













画像が表示されます。

えーーーーーーーーーーーーーーーーーーーーーーーーー!
表示されないッ!!!
















下の方にゴマのように見えています。。。。。



③CRSの設定(ラスタとベクタを重ねて表示するょ)
大きく離れて表示されるのは「座標系」が違うから。。。
ラスタ→UTM座標(単位はメートル、値は10~100万オーダー)
ベクタ→緯度経度座標(単位は度)


QGISの左隅にあるCRSステータス(キノコみたいなやつ)をクリック。

















CRS設定画面が開きます。
「Search」ボックスの中に3099って入れてFind→
座標参照系リストの中に「JGD2000 / UTM zone 53N」って表示されているので選択。

さらにオンザフライCRS変換を有効にする'をチェック→
これで緯度経度をUTMに変換してくれるらしい。。。
 
  
無事、重なる。
 
 

④属性の確認
 
 
⑤属性ごとに色を変える
属性ごとに色を変えたいレイヤを選択して㊨クリック→メニューが出てくるから「プロパティ」を選択。


















レイヤプロパティ画面が表示。左側の分類から「シンボル」を選択します。
 
 
 
凡例タイプ→「固有値」を選択。分類フィールドで色分けしたい項目を選択して「分類」ボタンをクリック。 
 
表示してみる。


















⑥WMSレイヤ追加
WMSサービスを利用して道路、地形、地上構造物などの情報を表示する。
(今回は国土地理院様の基盤地図情報25,000WMS配信サービスを利用)

「レイヤ」→「WMSレイヤの追加」をクリック。


 


 
 
「サーバーからレイヤを追加」画面で【新規】ボタンをクリック。





名称→基盤WMS(なんでもええょー)
URL→http://www.finds.jp/ws/kiban25000wms.cgi?
上記項目を入力したら【OK】ボタンクリック












接続するとWMSで配信されるデータの一覧が表示される。
必要なモノをクリックして反転させる。(”JpSmpl”、”PrefSmpl”、”AdmArea”はクリックしない)











表示確認。
















⑦プロジェクトの保存
「ファイル」→「プロジェクトの保存」をクリック。
テキトーなフォルダにテキトーな名前を付けてしまっとく。



続→→→→→位置情報の表示


postGIS:座標指定で流域取得

流域界・非集水域(面)のデータに対して座標指定をする。















指定された地点にある単位流域コードを取得して
その単位流域コードを元に単位流域台帳(表)を検索し上流コードを取得する。


単位流域台帳(表)の上流域コードをリストに格納する。


取得した上流域コード(115)に対して更に上流域コードを調べる。




上流域コードが無くなるまで繰り返す。



<<<python>>>
### 流域界・非集水域(面)のデータに対して座標指定して流域コードを取得する###
sql = "SELECT W12_001,W12_002,W12_003 FROM 流域界・非集水域(面)
    WHERE distance_sphere(the_geom,GeomFromText('POINT("+ str(range_x) +" "+ str(range_y) +")',-1)) < 1;"
cur.execute(sql)
row = cur.fetchone()
a = row[1]
b = row[2]
 

### 上流コードを検索する ###    
sql = "select * from 河川台帳 where watersys_cd = '"+ a +"' and bashin_cd = '"+ b +"';"
cur.execute(sql)
row = cur.fetchall()

for c in row:
   list_wk=[int(c[3]),int(c[4]),int(c[5]),int(c[6]),int(c[7]),int(c[8]),int(c[9]),int(c[10]),int(c[11]),int(c[12]),int(c[13]),int(c[14]),

                int(c[15]),int(c[16]),int(c[17])]