2014/09/11

はぢめてのPython module (PIL)

とあるPythonスクリプトを貰ったら,PILモジュールってのが必要らしい.が,perlならcpanで入れるけど,pythonのモジュールの入れ方知らないぞと...いうわけで,メモ.

スクリプトを実行すると,
ImportError: No module named PIL
と言われる.

こちらのブログを参考にさせて頂いて,本家からダウンロード.OSにあったものをと書かれているが,windowsしかバイナリはなさそうなので,ソースを持ってきた.手元のOSは,Mac OS X 10.8.5 です.Mac Book Airなので,色々な噂に基いて Mavericks にはしてません.

% tar zxvf Imaging-1.1.7.tar.gz
% cd Imaging-1.1.7

BUILDMEを見ると,"for lazy programmers" のための手順として,
% python setup.py build_ext -i
% python selftest.py
となってるのでやっておく.詳しくはREADMEということなので見たところ,
% (sudo) python setup.py install
の前にやっておけということのようです.

FreeTypeが無いらしい
_imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found
#include <freetype/fterrors.h>

MacPortsでは入っていたので /opt/local/include あたりを見逃しているのかと思ったら,/opt/local/include/freetype が無くて, /opt/local/include/freetype2 になってるのが原因だった.悩みどころだけど, _imagingft.c を修正した.

無事 selftest.py もパスしたので,ブログの手順にあるように,
% sudo python setup.py install
へ進む.

無事,動いた模様.




2014/09/04

Macでtgif(未解決)

デスクトップもMac Proに変えて,Linux環境がメインじゃなくなってきた(VMWare上でDebianは動いてる)ので,色々揃えなきゃいけない.

というわけで,tgifを入れる.gnuplotでtgif出力して整形して完成というのが流れなので論文等用の作図では必須.

が,MacPortsからあっさりは入ってくれない.

% sudo port install tgif
すると,最期に,
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_tgif/tgif/main.log を見よと出てくる.
見ると,
/opt/local/lib/X11/config/Imake.tmpl:2144:10: fatal error: ' X11 .rules' file not found
というのがあって,一番あやしい.要するにX11が入ってないか不完全なんだな.
XQuartzを入れれば良さそうなので入れてみたが,同じところで止まる.

http://littlefinger.petitepeace.net/blog/266
によると,ソースからtgifを入れればなんとかなるらしいが,取り敢えずパス.

(うまく行ったら更新します)


2014/08/29

Projで座標変換

ある1点の緯度経度からUTMに変換する方法.

proj.4 に含まれている cs2cs で出来る

% echo "140.0 36.0" | cs2cs +init=EPSG:4326 +to +init=EPSG:32654 -f %.4f
409870.9506     3984410.7881 0.0000

入力データの座標系(測地系+投影図法)は,EPSG:4326でWGS84の緯度経度座標.
出力データの座標系は,EPSG:32654でWGS84のUTM 54N.

EPSGコードは,proj.4 パッケージの epsg ファイルで確認できる

% grep -B 1 32654 /opt/local/share/proj/epsg
# WGS 84 / UTM zone 54N
<32654> +proj=utm +zone=54 +datum=WGS84 +units=m +no_defs  <>

ちなみに,ここ(Google Maps)

参考:
http://ryuiki.agbi.tsukuba.ac.jp/~nishida/lecture/GIS/proj.html

余談:
Macの場合,Ports に入っているのでついでによく使うgdalも入れちゃうのが良い.

% port install gdal

で,projも依存関係で入る.

2014/08/15

ASTER高温領域検出システムのFacebook配信開始

産総研の(仮称)地図系データバンクのコンテンツとして開発したASTER高温領域検出システムの結果をFacebookページで配信しています.始めたのは2014年8月15日だったようですが,記録&宣伝.



撮影時刻(Time):03/06 04:26:43 撮影バンド13の輝度温度: BT=335.309[K]場所:(緯度(lat),経度(lon))=(12.284,93.862)   ...
ASTER 高温領域検出システムさんの投稿 2016年3月7日

2014/07/31

gnuplotのpm3dで色を変更する

pm3dで描画した図の色がどぎついと言われてしまったので変更を試みる.

set pm3d map
set isosamples 50
set size sq
unset key
set palette rgbformulae 36,0,-36
splot [-3:3] [-3:3] x*x+y*y-9

こんな感じで青から,黒,赤と正負の値を描けるようになります.
が,クセモノはこの rgbformulae の数字.

デフォルトのまま描画する(set palette しない)とこんな色.
gnuplot> show palette
        palette is COLOR
        rgb color mapping by rgbformulae are 7,5,15
        figure is POSITIVE
        all color formulae ARE NOT written into output postscript file
        allocating ALL remaining color positions for discrete palette terminals
        Color-Model: RGB
        gamma is 1.5

なので,色を反転させようかなと思って,
set palette rgbformulae 15,5,7
としても,全く思ったようにいかないというか,全然違う色になる.
と思ったら,同じ悩みなページ(どせいけいさんき。)を発見.なるほど,rgbformulaeの値をset palette defineの後に得ようというものみたいですが,このページでも指摘されている通り,set palette define だけで私には十分だった.

set pm3d map
set isosamples 50
set size sq
unset key
set palette define (0 "light-green", 1 "yellow", 2 "red")
splot [-3:3] [-3:3] x*x+y*y-9