2010年11月30日火曜日

Google Earth 6.0をUbuntu 10.10 (64 bit)にインストール

Google Earth 6.0がでたらしいので、早速Ubuntu 10.10 (64 bit)にインストールを試みてみました。

ところがいろいろなエラーが出まくってすんなりインストールをできず。
いろいろ調べた結果、ようやくインストールができました。

原因はたぶん64bit機のせいだと思うのですが、、、一応手順は以下のとおりです。


1. lsb-coreをパッケージマネージャよりインストール。

2. Google EarthのページよりGoogleEarthLinux.binをダウンロード。

3. 実行権限を変更
chmod +x GoogleEarthLinux.bin

4. ファイルを解凍
./GoogleEarthLinux.bin --target /tmp/ge

5. 解凍ファイルを一部リネーム
cd /tmp/ge/setup.data/bin/Linux/x86/
mv setup.gtk setup.gtk2

6. インストールスクリプトを実行
cd /tmp/ge
sudo ./setup.sh


以上の手順です。
当たり前のことですが、エラーがでて困ったときは、
エラーメッセージでググるのが一番ですね。
同じエラーで困った人たちがすでに情報のやりとりをしていたので大変助かりました。


参考サイト

2010年11月23日火曜日

Rのrgdalパッケージのインストール方法について

Rのrgdalパッケージのインストール方法について


windows版Rの場合は普通にメニューバーからパッケージの追加でrgdalパッケージを簡単にインストールができるが、Ubuntuの場合は若干手順が面倒で、以下の通りにインストールする必要がある。

1. Synapticパッケージマネージャーから"gdal"、"libgdal-dev"、"libproj-dev"をインストールする。
2. Rを起動し、install.packages("  rgdal")とコマンドを入力する。
※使用しているPCの性能によっては、その後インストール処理にしばらく時間がかかるかもしれない。

ちなみにGeoTIFF以外にも、GDALライブラリで使用可能なさまざまなデータ形式を読み込むことができるのだが、GMT形式(というかnetCDF形式)も扱いたい場合はrgdalパッケージのインストールの前にnetcdfもインストールする必要があるかも。

2010年11月22日月曜日

QGIS plugin (Value Tool)

QGISのプラグインの"Value Tool"は重なったラスターデータについて、各ラスター値をまとめてみたい時に便利。

使用OS:Ubuntu 10.10
QGIS: version 1.5


インストールのやり方は、メニューバーの"Plugins" -> "Fetch Python Plugin"ででてくるウィンドウから"Value Tool"を選択し、インストールする。

インストールするとLayer パネルの下に"Value Tool"というパネルが表示される。
(※表示されてない又は、消してしまった場合は"View" -> "Panel" -> "Value Tool"を選ぶと表示される。)


    図. Value Toolでラスター値の表示例
重ね合わせた違う時期のDEM標高値と、DEM標高値の変化率(m / a)をまとめて表示している。


図の左下パネルがValue Toolのパネルで、左の列がラスターの名称、右の列がラスターの値を示す。図中の手のマークのあるグリッド(薄紫色)の値が左下パネルに表示されている。



ちなみにグラフもみたい場合はQwt(python-qwt5-qt4)が必要なので、synaptic managerなどでインストールする必要がある。

2010年11月19日金曜日

Latexの文献番号の変更のしかた

Latexの文献番号の変更のしかた


論文原稿を本文とそのサプリメンタリーに分けて作る場合、サプリの方の文献の参照番号を本体から通しでつけたいのに、また番号が1から始まってしまうのを防ぐ方法。
※\setcounter{enumiv}{開始したい番号}というやり方もあるのだが、自分の環境ではなぜかできなかった。


サプリの方のthebibliographyの中のbibitemにオプションでつけたい番号をつける。

例:30から始めたい場合
\begin{thebibliography}{99}
\bibitem[30]{***}
\bibitem[31]{***}
\end{thebibliography}



また、サプリで本文の文献を引用したい場合はサプリのthebibliographyの手前で以下のように番号を指定すると、サプリの文章中では番号が表示されるが、サプリの文献の項目には表示されない。

例:本文で文献番号29の文献を、サプリで引用したい場合
\bibitem[29]{***}
\begin{thebibliography}{99}

\end{thebibliography}


setcounterでできたら楽なのだろうが、なぜできないのだろう?
ちなみに使用している環境は
OS:
      Ubuntu linux 10.10 (64bit)

使用してるtexクラスとか(リファレンス用の)パッケージとか:
     \documentclass{article}
     \usepackage[super]{natbib}

コンパイラ:
     pdflatex

encoding:
     UTF-8


2010年11月17日水曜日

latexdiffで修正箇所の表示

latexファイルの修正履歴をわかりやすくするlatexdiffという便利なプログラムがあるそうです。

使い方は
latexdiff old_filename.tex new_filename.tex > output.tex
pdflatex output.tex


bibliographyを使っている場合は二行目のコマンドを二回入力する必要があるみたい。
(たぶん一回目でauxファイルを生成するため)
コマンド入力後処理が止まることがあるが、Enterを何度か入力すると最後まで処理が完了した。

出力されたpdfファイルは以下のように修正箇所がハイライトされる。

図:latexdiff&pdflatexで出力されたpdfファイルの例
取り消し線付き赤字:新しい原稿で消した箇所
波線付き青字:新しい原稿で追加した箇所

2010年11月15日月曜日

Rで座標系の変換

rgdalパッケージで読み込んだオブジェクトの座標系の情報はproj4stringというスロットに格納されている。
例えば以下のように"work.data"という名前の変数を作ってオブジェクトを格納した場合は


library(rgdal)

work.data <- readOGR("glacier_polygon.shp", layer="glacier_polygon")
work.data@proj4string 
 
 
UTM座標zone 45 northの場合は以下のようにターミナルに表示される +proj=utm +zone=45 +ellps=WGS84 +datum=WGS84 +units=m +no_defs +towgs84=0,0,0   
これをWGS84地理座標系に変換したい場合は以下のように入力すると 座標系の変換された"work.data.wgs84"というオブジェクトが得られる。 new.crs <- CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs") work.data.wgs84 <- spTransform(work.data, CRS=new.crs) 
 
  
XY座標を確認してみると以下のように表示され、 座標系がDecimal degree(十進経緯度)になっているのが確認できる。

> coordinates(work.data2)
          [,1]     [,2]
 [1,] 86.88998 27.93553
 [2,] 86.93320 27.87881
 [3,] 86.87982 27.87656
 [4,] 86.70286 28.02150
 [5,] 86.63027 28.03838
 [6,] 86.57888 28.05175
 [7,] 86.59177 27.77458
 [8,] 86.85842 27.98194

ちなみにspTransform関数で使っているCRS引数の中の文字列は、 projライブラリで使われる座標系を指定する文字列で、QGISのオプションのCRSの項目を見ると、 それぞれの座標系ごとの文字列の書き方が容易に確認できて便利。

Rを用いたポリゴンの重心の求めかた

Rを使ってポリゴンGISデータから重心を求める方法


必要なパッケージ: rgdal及びその依存パッケージ群

例えば読み込みたいポリゴンGISファイルが"glacier_polygon.shp"の場合は、以下のようなスクリプトとなる。




## rgdalパッケージの読み込み
library(rgdal)

## shpファイルをオブジェクトデータとしてRにインポート
work.data <- readOGR("glacier_polygon.shp", layer="glacier_polygon") 

## オブジェクトデータからXY座標値だけを取り出す 
xy.data <- coordinates(work.data) 

## XY座標値のデータの列に便宜上名前をつける
##(名前は自由、例えば"longitude"&"latitude"とか"utm_x"&"utm_y"とか) 
colnames(xy.data) <- c("x", "y")

## CSVファイルにエクスポート(他のソフトウェアで処理する場合など)
write.csv(xy.data, "output.csv", row.names=FALSE, quote=FALSE)




出力されたCSVファイルは例えばこんな感じ
x,y
489176.444420473,3090064.99763659
493424.399256412,3083779.43936747
488170.237572687,3083534.23702388
470790.340086085,3099618.51899252
463659.468505326,3101508.27126506
458614.355215818,3103005.81160067

2010年11月8日月曜日

鉄板ナポリタン

日曜に,中国出張の彼女を送りついでに,エスカ地下街で食事.噂に聞いてた鉄板ナポリタンを発見したのでそこで昼食.

Foursquareで地下街のVenueにチェックインしようとしたが,Venueがぱっと見つからない,店舗名で検索すると見つけるとこができた.店舗内からなのに,すごく遠くに判定されている.
まあ地下街なのでGPSは受信できなく,携帯の基地局位置から判定しているので当たり前なのだけど.


名古屋のナポリタン
名古屋ではナポリタンはなぜか鉄板にのっており,卵が鉄板とスパゲティの間に敷かれている.写真はエスカ地下街の喫茶リッチというところで食べたもので,メニュー名は「鉄板ナポリタン」.
ちなみにWikipediaによるとイタリアンスパゲッティというらしい.