2006/05/23

IRAFインストール

ダウンロード
http://iraf.noao.edu/から、最新版を取得します.
IRAF V2.12.2aが2006年5月現在で最新のようで、2004/7/15から更新されていないようです.
 # 以前はDebianパッケージもあったのですが、sarge, etchからは消えてしまっています

ダウンロードするファイル
IRAFはアーキテクチャ毎にダウンロードするファイルが提供されていて、PC-IRAFが
Linuxを含んでいるのでここでは、PC-IRAFを前提に解説します.
  • as.pcix.gen.gz
  • ib.lnux.x86.gz
  • nb.lnux.x86.gz

インストールの詳しい情報は、pciraf.ps.gzを参照してください.

インストール
irafユーザの作成
ディストリビューションの手順に従ってirafというアカウントを作成してください
adduser --system --home /usr/local/iraf/iraf/local --shell /bin/zsh iraf
このとき、上記のようにirafをインストールするディレクトリ(ここでは/usr/local/iraf)から
iraf/localをホームディレクトリに指定します.

ダウンロードファイルの展開
 su iraf
 export iraf=/usr/local/iraf/iraf
 cd $iraf
 tar zxvf  as.pcix.gen.gz

 cd $iraf
 mkdir -p ../irafbin/bin.linux
 cd bin.linux
 tar zxf ib.lnux.x86.gz

 cd $iraf
 mkdir -p ../irafbin/noao.bin.linux
 cd noao/bin.linux
 tar zxf nb.lnux.x86.gz

インストールスクリプトの実行

 cd $iraf/unix/hlib/
 ./install -n

確認したら
 sudo ./install

初期設定
irafを利用したいユーザで
 $ mkiraf
 $ cl

トラブルシューティング
ds9を起動して
 cl> display hoge.fits 1
したら、
 Error: IIS iisIO problems
というエラーが大量に出た

面倒なので、ds9 のバージョンをあげたら問題なくなった。元がdebianのsaods9パッケージ
だったんだけど、ds9.linux.4.0b9.tar.gzを持ってきて使ったら問題なくIRAFから
display で表示できた


2006/05/12

すばる、崩れゆくシュワスマン・ワハマン第3彗星をとらえる

地球へ接近中のシュワスマン・ワハマン第3彗星(73P/Schwassmann-Wachmann 3、SW3彗星) の本体(B核)のひとつが崩壊しつつある様子を、すばる望遠鏡でとらえました.
  

2006/04/06

install PostGIS

PostGISは、PostgreSQLを拡張してジオメトリ演算を可能にするPostgreSQLの追加(アドオン)パッケージです.

2006/03/30 に最新版 1.1.2 がリリースされました。

そもそも
PostgreSQL単品で見た場合でも、ここまで出来ちゃうんだそうです。

PostGISのメリットはどこにあるんだろうと言うのをちょっと考えないといけないですな。
少なくとも、ESRI shapefileをSQL化してくれるツールは絶対に有用だが。

事前準備
PostgreSQLのインストール
まずは,PostgreSQLを[[日本PostgreSQLユーザ会>http://www.postgresql.jp/]]などからインストール
しましょう.2006/02/14に8.1.3がリリースされていたのでそれを使います.

 cd postgresql-8.1.3/
 ./configure --prefix=$HOME/local/pgsql-8.1.3
 make
 make install

PostgreSQL8.0.0まではPostGISのためにソースが必要だったみたいですが,今は無くても良いみたいです.
とりあえず,ここでは安全倒しでソースからインストールします.

PostgreSQLの起動
 cd $HOME/local/pgsql-8.1.3
 ./bin/initdb -D $HOME/local/pgdata
 ./bin/pg_ctl -D /home/naotaka/local/pgdata -l logfile start

上記で取り合えず起動できますが,詳しくはPostgreSQLのドキュメントを参照してください.

事前にライブラリをインストール
 * libgeos-dev
 * proj

PostGISのインストール
コンパイル&インストール
 ./configure --with-pgsql=$HOME/local/pgsql-8.1.3/bin/pg_config
ここで,特定の($PATHに通っていない)PostgreSQLを指定するためには,pg_configコマンドを--with-pgsqlで
指定します.ディレクトリではありません.
 # わかりにくい仕様だ.

 make
 make test ← ここで,サーバが起動していないといけません

ひとつこけた.
 PostgreSQL 8.1.3 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
 Postgis 1.1.2 - 2006-04-06 05:47:03
   GEOS: 2.1.1
   PROJ: Rel. 4.4.9, 29 Oct 2004
 Running tests
        regress: Ok.
      regress_index: Ok.
     lwgeom_regress: Ok.
    regress_lrs: Ok.
    removepoint: Ok.
       setpoint: Ok.
       simplify: Ok.
     snaptogrid: Ok.
         affine: Ok.
    regress_ogc: Failed (diff /tmp/regress_regress_ogc_diff_24704)
     regress_bdpoly: Ok.
       regress_proj: Ok.
 Run tests: 12
 Successful: 11
 Failed: 1

 make install

PostGIS用の設定
 createlang plpgsql yourdatabase
 psql -f lwpostgis.sql -d your_database

たとえば,
 createdb test0
として,何かデータベースを作っておいて,それをPostGIS化には,
 cd postGIS_src_directory/
 createlang plpgsql test0
 psql -f lwpostgis.sql -d test0

サンプルSQLを打ってみたけど,以下のエラーが出た.
 psql:/home/naotaka/src/postgres/insert.sql:22: NOTICE:  Invalid schema name - using current_schema()

とりあえず,ここまで


整理しながら,もう一度:
データベース作成
 >createdb test2
 CREATE DATABASE

 >createlang plpgsql test2

 >psql -f ~/src/postgres/postgis-1.1.2/lwpostgis.sql -d test2 > /dev/null
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:45: NOTICE:  type "histogram2d" is not yet defined
 DETAIL:  Creating a shell type definition.
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:50: NOTICE:  argument type histogram2d is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:75: NOTICE:  type "spheroid" is not yet defined
 DETAIL:  Creating a shell type definition.
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:80: NOTICE:  argument type spheroid is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:104: NOTICE:  type "geometry" is not yet defined
 DETAIL:  Creating a shell type definition.
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:109: NOTICE:  argument type geometry is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:122: NOTICE:  return type geometry is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:127: NOTICE:  argument type geometry is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:237: NOTICE:  type "box3d" is not yet defined
 DETAIL:  Creating a shell type definition.
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:242: NOTICE:  argument type box3d is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:296: NOTICE:  type "chip" is not yet defined
 DETAIL:  Creating a shell type definition.
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:301: NOTICE:  argument type chip is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:327: NOTICE:  type "box2d" is not yet defined
 DETAIL:  Creating a shell type definition.
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:332: NOTICE:  argument type box2d is only a shell
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:1330: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "spatial_ref_sys_pkey" for table "spatial_ref_sys"
 psql:/home/naotaka/src/postgres/postgis-1.1.2/lwpostgis.sql:1353: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "geometry_columns_pk" for table "geometry_columns"

README.postgisにあるサンプルを実行:
 test2=# SELECT AddGeometryColumn('db','geotest','geopoint',1,'POINT',2);
 NOTICE:  Invalid schema name - using current_schema()
 CONTEXT:  SQL statement "SELECT  AddGeometryColumn('', $1 , $2 , $3 , $4 , $5 , $6 )"
 PL/pgSQL function "addgeometrycolumn" line 4 at select into variables
          addgeometrycolumn                 
 ----------------------------------------------------
  public.geotest.geopoint SRID:1 TYPE:POINT DIMS:2
 (1 row)

何かが失敗している.

 test2=# \d geotest
         Table "public.geotest"
   Column  |         Type          | Modifiers
 ----------+-----------------------+-----------
  id       | integer               |
  name     | character varying(32) |
  geopoint | geometry              |
 Check constraints:
     "enforce_dims_geopoint" CHECK (ndims(geopoint) = 2)
     "enforce_geotype_geopoint" CHECK (geometrytype(geopoint) = 'POINT'::text OR geopoint IS NULL)
     "enforce_srid_geopoint" CHECK (srid(geopoint) = 1)
一応,カラムの追加は成功しているなぁ....


 test2=# SELECT name,AsText(geopoint) FROM geotest;
   name   |       astext       
 ---------+---------------------
  Olympia | POINT(-122.9 46.97)
  Renton  | POINT(-122.22 47.5)
 (2 rows)

 test2=# SELECT * FROM geotest;
  id |  name   |                      geopoint                     
 ----+---------+----------------------------------------------------
   1 | Olympia | 0101000020010000009A99999999B95EC05C8FC2F5287C4740
   2 | Renton  | 010100002001000000AE47E17A148E5EC00000000000C04740
 (2 rows)

追加も,検索も出来た.まぁ,大丈夫???

2006/03/26

大根&アスパラガス

なんか,いっぱいできた大根

と,ワサワサ出てきてるアスパラガス



2006/01/11

Java on Debian

DebianでSunのJavaを使う場合のメモです

でびあんでじゃばが非常に参考になります。

ただ,SunのJavaパッケージを取得するのにいつも手間取るの
ですが,アーカイブページから必要なものを持ってくることが出きるはずです.

lennyなマシンでの、java環境。

% dpkg -l | grep -i sun-java
 ii  sun-java5-bin                        1.5.0-11-1                  Sun Java(TM) Runtime Environment (JRE) 5.0 (
 ii  sun-java5-demo                       1.5.0-11-1                  Sun Java(TM) Development Kit (JDK) 5.0 demos
 ii  sun-java5-fonts                      1.5.0-11-1                  Lucida TrueType fonts (from the Sun JRE)
 ii  sun-java5-jdk                        1.5.0-11-1                  Sun Java(TM) Development Kit (JDK) 5.0
 ii  sun-java5-jre                        1.5.0-11-1                  Sun Java(TM) Runtime Environment (JRE) 5.0 (
 ii  sun-java5-plugin                     1.5.0-11-1                  The Java(TM) Plug-in, Java SE 5.0