ArcGISの横暴さがイヤ

ArcGISは、システムの中でGDALやPythonを使っている。ファイル変換や、開発環境などに利用しているようである。
これが自分のシステムの中だけで動いているなら何の問題もない。
実行時に、自分たちで利用したいものがあるフォルダへ、パスをきってから動くなどするのが、自分の感覚からいうと普通である。

しかし、ArcGISは9.2から、gdal14.dllやpython.exe を、
C:¥Program Files¥ArcGIS¥Bin

においてあり、しかも、グローバルな環境変数PATHの先頭にどうどうと、このフォルダへのパスをきっている。

この横暴さは、まことに遺憾。やめてくれ。

このため、コマンドラインから、python と打っても、python インタプリタは起動しないし、どうやってコンパイルのしたのか得たいも知れない、gdal14.dll を最初に見つけてしまうため、MapScriptやGDAL/OGR のプログラムが、意味もわからずアベンドしてしまう。

ESRIなどのプロプライエタリィな製品がようやくオープンソースへとすりよりはじめているが、横浜スローライフさんの記事にあるとおり、チグハグ感はまだ残る。

ソフトウェアがそれを現しておらず自分たちのプログラムを動かすために、このようなしているのだろうし、他でコンパイルしたDLLを参照してもうまく動かなかったからだろう。

ユーザーが、オープンソースのライブラリを使うとき、どんなバージョンをどのように利用するかには、たくさん調べてうまくいく方法を模索している。

自分たちのエゴのために、オープンソースを利用する流儀をわきまえず、このようなことをするんじゃない!
bugna | Python | 09:52 | comments(0) | trackbacks(0) | - | - |

Ubuntu(8.04 Hardy Haron)でPython環境構築

Ubuntu上での環境構築は、Windows、Mac OS X に比べてとても簡単である。
Synapticパッケージマネージャですべて導入できる。
依存するパッケージの導入もしてくれるので、次のものを指定するのが一番楽かも。

・spe
・python-gdal
・python-mapscript
・python-qt4
・qt4-designer

・今回は、GeoTiff を読み込ませようと思い、以下からGeoTiffのデータをダウンロードしました。このGeoTiffは、ヘッダの部分に座標系が埋め込まれているはずです。これを表示させてみましょう。

 ■MapTools Download: /dl/geotiff/samples/other
 http://dl.maptools.org/dl/geotiff/samples/other/
 この中の、erdas_spnad83.tif をダウンロードします。 

・SPEを起動して、

import mapscript
import gdal,gdalconst,ogr,osr

aa = mapscript.mapObj("")

print aa.name

gdal.AllRegister
dataset = gdal.Open('/Users/bugna/Projects/Python/erdas_spnad83.tif', gdal.GA_ReadOnly)


print 'Driver: ', dataset.GetDriver().ShortName,'/', dataset.GetDriver().LongName
print dataset.GetProjection()


などとして実行すると、

MS
Driver: GTiff / GeoTIFF
PROJCS["NAD83 / Georgia East",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.2572221010002,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4269"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",-82.16666666666667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",656166.6666666666],PARAMETER["false_northing",0],UNIT["US survey foot",0.3048006096012192,AUTHORITY["EPSG","9003"]],AUTHORITY["EPSG","26966"]]

のような結果を得ることができます。

※GDAL のバージョンが、1.4 なので、Namespace osgeo を『つけ
ない』。import 行に注意。

bugna | Python | 07:49 | comments(0) | trackbacks(0) | - | - |

Mac OS X(Leopard 10.5.3)でPython環境

Mac OS X 上でPython環境構築するには、バイナリパッケージを導入するのが早いです。
Leopard では、あらかじめPython 2.5 がシステム上にインストールされています。


・SPEのパッケージ
 SPE packaged for Mac OS X のエントリーで紹介している、ディスクイメージを使います。
 この中に含まれている、SPE.app をアプリケーションフォルダにコピーします。
 SPE.app を右クリックして、『パッケージの内容を表示』を選び、
 開いたフォルダの中の、Contents - MacOS - SPE をテキストエディタや、ターミナル上のvi等で開きます。
 1行目を次のように変更します。
#!/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python

import sys, os
execdir = os.path.dirname(sys.argv[0])

     ↓
#!/Applications/SPE.app/Contents/MacOS/Python

import sys, os
execdir = os.path.dirname(sys.argv[0])


・GDAL/OGR、MapServer のFramework のインストール
 Kyng Chaosさんのページより、
 UnixImageIO, FreeType, GEOS 3, PROJ , GDAL ,ECW plugin v1.5.0-2 ,MrSID plugin v1.5.2-1 のFramework をダウンロードしてインストーラーよりインストールします。

・同様にこちらのページより、MapServerのパッケージをダウンロードしてインストールします。

・MapScript のPython Binding がうまくインストールされない時は、MapServerのFrameworkのインストーラーを右クリックして、パッケージに内容を表示を選びます。

 Contents - Packages の中の、
mapscriptpythonleo.pkg と mapscriptpythontig.pkg

 の2つを実行します。

 これにより、/Library/Python/2.5/site-packages の下に、mapscript.py などのファイルがコピーされます。

・GDAL/OGR のPython Binding は、以下のサイトより、egg ファイルを取得します。
 Package Index > GDAL 1.5.2
 このページの一番下に、GDAL-1.5.2-py2.5-macosx-10.5-i386.egg などのファイルがあるので、ダウンロードします。
このとき、Safari などを使っていますとダウンロードしたファイルを勝手に解凍して、GDAL-1などのフォルダができてしまいます。

ゴミ箱のなかをのぞくと、GDAL-1.5.2-py2.5-macosx-10.5-i386.egg.zip というファイルが残っているので、これをいったんがゴミ箱から出してから、ダブルクリックします。

今度は、GDAL-1.5.2-py2.5-macosx-10.5-i386.egg というフォルダができますので、easy_install でインストールします。

easy_install は、こちらのページにある、ez_setup.py というファイルへのリンクを右クリックして、リンク先のファイルをダウンロードします。

ターミナル上から、python ez_setup.py などと実行すると、/usr/bin/easy_install に実行形式のバイナリが作成されます。

ターミナル上で、さきほどの、egg フォルダがある場所まで移動してから、
easy_install GDAL-1.5.2-py2.5-macosx-10.5-i386.egg

とすると、/Library/Python/2.5/site-packages に、GDAL-1.5.2-py2.5-macosx-10.5-i386.eggが作成されます。

SPE上では、from osgeo import gdal とかくと、インポートできるのですが、実行時に、/usr/local/lib/libgdal.1.dylib がないとエラーになってしまいます。
調べてみると、/Library/Frameworks/GDAL.framework/Versions/1.5/unix/lib の下に、libgdal.dylib がありますが、これは、/Library/Frameworks/GDAL.framework/Versions/1.5/GDAL へのリンクになっています。

そこで、この GDAL を、/usr/local/lib にまるごとコピーします。
次に、ターミナル上で、/usr/local/lib に移動してから、
sudo ln -s ./GDAL libgdal.1.dylib

を実行します。パスワードは、現在ログオンしているユーザーのパスワードです。

・今回は、GeoTiff を読み込ませようと思い、以下からGeoTiffのデータをダウンロードしました。このGeoTiffは、ヘッダの部分に座標系が埋め込まれているはずです。これを表示させてみましょう。

 ■MapTools Download: /dl/geotiff/samples/other
 http://dl.maptools.org/dl/geotiff/samples/other/
 この中の、erdas_spnad83.tif をダウンロードします。 

・SPEを起動して、

import mapscript
from osgeo import gdal,gdalconst,ogr,osr

aa = mapscript.mapObj("")

print aa.name

gdal.AllRegister
dataset = gdal.Open('/Users/bugna/Projects/Python/erdas_spnad83.tif', gdal.GA_ReadOnly)


print 'Driver: ', dataset.GetDriver().ShortName,'/', ¥
dataset.GetDriver().LongName
print dataset.GetProjection()


などとして実行すると、

MS
Driver: GTiff / GeoTIFF
PROJCS["NAD83 / Georgia East",GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 1980",6378137,298.2572221010002,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4269"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",30],PARAMETER["central_meridian",-82.16666666666667],PARAMETER["scale_factor",0.9999],PARAMETER["false_easting",656166.6666666666],PARAMETER["false_northing",0],UNIT["US survey foot",0.3048006096012192,AUTHORITY["EPSG","9003"]],AUTHORITY["EPSG","26966"]]

のような結果を得ることができます。
※GDAL がNamespace osgeo をつけるようになったので、import 行に注意
bugna | Python | 07:44 | comments(0) | trackbacks(0) | - | - |

MapServer , GDAL/OGR ,Python2.5 on Windowsメモ

先の記事で、FWToolsのPython環境下に作りましたが、純粋に、Python2.5の環境下で構築してみました。

・Python2.5のインストール
 http://www.python.jp/Zope/download/pythoncore
 環境変数PATHにC:¥Python25を追加する。

・wxWidget をインストールする
 http://www.wxwidgets.org/downloads/

・開発環境のインストールのために、wxWidget for Python 2.5 をインストールする。
 
 ・ダウンロードするファイルがZIP以外の解凍には、eo が便利です。
  ■eo
  http://www.vector.co.jp/soft/win95/util/se117996.html

  ■wxPython(Python2.5用の、win32-unicode をダウンロードする)
  http://www.wxpython.org/download.php#binaries

・開発環境としては、SPE(Stani's Python Editor)が、コード補完機能を
 もっており便利である。wxGladeによるユーザーインタフェースのデザインも可能である(2.5ではうまく動く)

 ■SPE(Stani's Python Editor)ダウンロード Archive
 http://developer.berlios.de/project/showfiles.php?group_id=4161

 ・SPEは、SPE-0.8.#.#-wx2.6.1.0.tar.gz をダウンロードして、解凍する。作成されたフォルダに移動して、コマンドラインから、
python setup.py build
python setup.py install

これにより、C:¥Python25¥Lib¥site-packages にコピーされる。

 ・pyCheckerのインストール
  下記よりページのダウンロードよりpychecker-0.8.17をダウンロード

 ・crypto のインストール
  下記ページよりバイナリパッケージをダウンロードする。
  ■The Voidspace Python Modules
  http://www.voidspace.org.uk/python/modules.shtml#pycrypto
  解凍したファイルを実行するとインストールできる。
  ■PyChecker: a python source code checking tool:
  http://pychecker.sourceforge.net/
  解凍したフォルダ内で、
python setup.py build
python setup.py install

  同じく解凍したフォルダ内の、pychecker2 フォルダを C:¥Python25¥Lib¥site-packagesにコピーする。

 ・SPEを起動するには、以下の内容を記述したバッチファイルを作ってこれを起動すると便利である。
C:¥Python25¥python.exe C:¥Python25¥Lib¥site-packages¥_spe¥SPE.py


・PyQtを使いたいので、Qtのダウンロードと、PyQtをダウンロードする
 ■Qt/Windows Open Source Edition
 http://trolltech.com/developer/downloads/qt/windows

 ■Riverbank SIP
 http://www.riverbankcomputing.co.uk/software/sip/download

 ■Riverbank PyQt4
 http://www.riverbankcomputing.co.uk/software/pyqt/download

 ・コンパイルには、MinGWが便利である。
  ■MinGW
  http://www.mingw.org/
  インストールは、Full で入れるとよい。
  ・下記の操作を行う前に、環境変数PATHに、C:¥Qt¥4.4.0¥binとC:¥MinGW¥bin; を加えておく。

 ・SIPのコンパイル
  python configure.py -p win32-g++
  make
  make install

 ・PyQtのコンパイル
  python configure.py -p win32-g++
  make
  make install


・MapScriptに関しては、MS4Wの最新ものをダウンロードして解凍後、C:¥の直下におきます。(C:¥ms4w となるように)
ms4w¥Apache¥cgi-bin¥mapscript¥python¥build¥mapserver-buildkit¥Python-2.5.1¥Lib¥site-packages
の下にある、
_mapscript.pyd mapscript.py mapscript.pyc mapscript-5.0.2-py2.5.egg-info


C:¥Python25¥Lib¥site-packages

にコピーします。
・環境変数PATHに、C:¥ms4w¥Apache¥cgi-bin を加えます。

・GDALは、下記を参照して、ダウンロードインストールする
 ■ Package Index > GDAL 1.5.2
 http://pypi.python.org/pypi/GDAL/
 ■バイナリーのダウンロードフォルダ(今日の最新は1.5)
 http://download.osgeo.org/gdal/win32/1.5/

 このフォルダ内の、
 gdalwin32exe150.zip
 gdalwin32ecw150.zip
 gdalwin32mrsid150.zip
 gdalwin32oci150.zip
 gdalwin32pg150.zip
 gdalwin32dev150.zip


ArcSDE環境を使う人は、gdalwin32sde150sdk92.zip などもダウンロードする。

 これらを解凍すると、gdalwin32-1.5 というフォルダができるので、すべてまとめてから、C:¥の直下に置く(C:¥gdalwin32-1.5 となるように)。
環境変数PATHに、C:¥gdalwin32-1.5¥bin; を追加する。

・PythonからGDALを使うために、下記のページの一番下にある、

 ■Package Index > GDAL 1.5.2
 http://pypi.python.org/pypi/GDAL/
から、GDAL-1.5.2.win32-py2.5.exe をダウンロードしてインストールする。

・SPEを起動して、

import mapscript
from osgeo import gdal,gdalconst

aa = mapscript.mapObj("")
print aa.name

gdal.AllRegister
dataset = gdal.Open("c:¥¥temp¥¥erdas¥¥test.img", gdal.GA_ReadOnly)
print dataset.GetProjection()


などとして実行すると、
MSPROJCS["_MI_0",GEOGCS["Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128254262]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["false_easting",500000.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",135.0],PARAMETER["scale_factor",0.9996],PARAMETER["latitude_of_origin",0.0],UNIT["Meter",1.0]]

のような結果を得ることができる。
※GDAL がNamespace osgeo をつけるようになったので、import 行に注意
bugna | Python | 12:34 | comments(0) | trackbacks(0) | - | - |

MapServer , GDAL/OGR ,FWTools Python on Windowsメモ

・FWTools(2.2.1)の環境下には、Python2.3.4の環境がある。
・Pythonから、gdal.py や mapscript.py を使うのならば、
 このPython環境を利用するのが手っ取り早い
・FWToolsをインストールして、スタートメニューから
 FWTools Shell を選択すると、FWTools環境下のPythonが実行できる環境で起動できる。

・開発環境のインストールのために、wxWigets for Python 2.3 をインストールする

(2008/06/26更新)
・インストーラーが、FWToolsの下のPythonを認識するために、レジストリにPythonのインストールパスを書き込む。
→メモ帳を開いて、以下を書き込み、拡張子を .reg にして保存。
保存した .reg ファイルをダブルクリックするとレジストリに書き込まれます。
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE¥SOFTWARE¥Python¥PythonCore¥2.3¥InstallPath]
@="C:¥¥PROGRA~1¥¥FWTOOL~1.1¥¥python¥¥"


 ・ダウンロードするファイルがZIP以外の解凍には、eo が便利です。
  ■eo
  http://www.vector.co.jp/soft/win95/util/se117996.html

  ■wxPython(Python2.3用の、win32-unicode をダウンロードする)
  http://www.wxpython.org/download.php

・開発環境としては、SPE(Stani's Python Editor)が、コード補完機能を
 もっており便利である。wxGladeによるユーザーインタフェースのデザインも
 可能であるが、うまく起動できないことがある。
 wxGladeを単独でインストール場合はちゃんと動く。
 ■wxGlade
 http://wxglade.sourceforge.net/

 ■SPE(Stani's Python Editor)ダウンロード Archive
 http://developer.berlios.de/project/showfiles.php?group_id=4161

(2008/06/27)
 ・SPEは、Python2.3用のものをダウンロードするが、Windows用の0.8.2a-wx2.6.1.0-py23.exe を使ってもうまくいかない。このとき、SPE-0.8.#.#-wx2.6.1.0.tar.gz をダウンロードして、解凍して作成されたフォルダ内の、setup.py を使ってインストールする。
・スタートメニューから、FWTools Shell を立ち上げてから、
python setup.py build
python setup.py install


 ・起動するには、..¥FWTools¥bin と、..¥FWTools¥python にパスを切る必要があるので、
  以下の内容を記述したバッチファイルを作ってこれを起動すると便利である。
set PATH = C:¥PROGRA~1¥FWTOOL~1.1¥bin;C:¥PROGRA~1¥FWTOOL~1.1¥python;%PATH%

C:¥PROGRA~1¥FWTOOL~1.1¥python¥pythonw.exe C:¥PROGRA~1¥FWTOOL~1.1¥python¥Lib¥site-packages¥_spe¥SPE.pyw


・PyQtを使いたいので、Qtのダウンロードと、PyQtをダウンロードする
 ■Qt/Windows Open Source Edition
 http://trolltech.com/developer/downloads/qt/windows

 ■Riverbank SIP
 http://www.riverbankcomputing.co.uk/software/sip/download

 ■Riverbank PyQt4
 http://www.riverbankcomputing.co.uk/software/pyqt/download

 ・コンパイルには、MinGWが便利である。
  ■MinGW
  http://www.mingw.org/
  インストールは、Full で入れるとよい。
  ・下記の操作を行う前に、環境変数PATHに、C:¥Qt¥4.4.0¥binとC:¥MinGW¥bin; を加えておく。

  ・SIPのインストールを行うには、FWToolsの..¥python¥libs に、
   libpython23.a が必要である。
   これは、以下のサイトからダウンロードするか、MinGWに含まれる、
   pexportsとdlltool を実行することで作成できる。

  ■Using Python to solve problems in bioinformatics
  http://bonsai.ims.u-tokyo.ac.jp/~mdehoon/software/python/cygwin.html

C:¥PROGRA~1¥FWTOOL~1.1¥bin¥python23.dll > C:¥PROGRA~1¥FWTOOL~1.1¥bin¥python23.def
--dllname C:¥PROGRA~1¥FWTOOL~1.1¥bin¥python23.dll --def

C:¥PROGRA~1¥FWTOOL~1.1¥bin¥python23.def --output-lib C:¥PROGRA~1¥FWTOOL~1.1¥python¥libs¥libpython23.a


 ・SIPのコンパイル(FWTools Shellを起動して、コマンドラインから)
  python configure.py -p win32-g++
  make
  make install

 ・PyQtのコンパイル(FWTools Shellを起動して、コマンドラインから)
  python configure.py -p win32-g++
  make
  make install


・MapScriptに関しては、MS4Wの最新ものをダウンロードして解凍後、
ms4w¥Apache¥cgi-bin¥mapscript¥python¥build¥mapserver-buildkit¥Python-2.5.1¥Lib¥site-packages
の下にある、
_mapscript.pyd mapscript.py mapscript.pyc


C:¥Program Files¥FWTools2.2.1¥python¥Lib¥site-packages

にコピーします。Pythonのバージョンが異なりますがいまのとこ問題なく動いています。

・SPEを起動して、

import mapscript
import gdal
from gdalconst import *

aa = mapscript.mapObj("")
print aa.name

gdal.AllRegister
dataset = gdal.Open("c:¥¥temp¥¥erdas¥¥test.img", gdal.GA_ReadOnly)
print dataset.GetProjection()


などとして実行すると、
MSPROJCS["_MI_0",GEOGCS["Tokyo",DATUM["Tokyo",SPHEROID["Bessel_1841",6377397.155,299.1528128254262]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["false_easting",500000.0],PARAMETER["false_northing",0.0],PARAMETER["central_meridian",135.0],PARAMETER["scale_factor",0.9996],PARAMETER["latitude_of_origin",0.0],UNIT["Meter",1.0]]

のような結果を得ることができる。
bugna | Python | 11:36 | comments(0) | trackbacks(0) | - | - |

マルチプラットフォームなPython開発環境

Pythonの開発環境で、Windows、Mac OS X、Linuxとどれでも動くものはないかと調べています。また、MapScriptやGDAL/OGRのPythonモジュールが読み込めるかどうかもチェック項目です。

今日時点で確認したのは、
・Eclipse + PyDev
・Eric4
・DrPython
・SPE
です。

Eclipse以外は、Python + wxWidget という環境上で動きます。いいですねぇ、こういうマルチな感じが。

PyDevは動くには動くのだけれども、PyDev Extension とかいうツールをアップデートで入れると、こいつは有償だとか言ってくるので、気分を害したことと、Windows上でPYTHONPATHを設定しても、MapServerやGDAL/OGRのモジュールを認識してくれなくて、萎えました。QtがEclipseのCDT(C/C++環境)でQtデザイナを統合するようなプラグインをだしているそうだけれども、PyDevからはどうやって動かすんだろ?できるのかどうかわからないし、頑張るのに少し疲れたので、ボツ。

Eric4は、Windows上での動作が不安定で、起動してもすぐ落ちたりします。Mac OS Xでは、MacPortsからいれたらすぐ動きました。キャラクターがちときもい。

DrPythonとSPEは、どちらも動きはパーフェクトです。ただ、DrPythonはコード補完機能がついていないようです。

SPEは、Gladeのインタフェースビルダーがついているところがいいです。

[Mac OS X]
FWToolsは、Linux と Windows用の、GDAL/OGR、MapServer、OpenEVなどのバイナリポートパッケージですが、Mac OS X用にはありません。別個に入れることになりますが、GDAL/OGRのインストールも、依存パッケージが多く、なかなか環境構築がたいへんです。
MacPortsを使えば、すぐにいれられるのですが、MacPortsが入れるPython2.5が、Python Framework を入れてくれないので、wxWidgetをインストールすることができません。ほかにもいろいろ問題を含んでしまっており、MacPythonを入れる必要があります。
GDALなどについては、KingChaosさんのページに、Mac OS X用のバイナリがあるのでこれを利用することにします。

[Linux (Ubuntu 8.04 Hardy Haron)]
こちらは、Synapticパッケージマネージャを利用すれば、ほとんどいれられます。FWToolsを使えば、GDAL/OGR、MapServerのモジュールと関連するフレームワークを入手できます。

[Windows]
こちらも、FWToolsをダウンロードすることで、環境整備をします。FWToolsには、Python2.3が含まれています。Eric4、DrPython、SPEなどは、FWToolsに含まれているPythonを使うとモジュールの読み込みと実行がスムーズになります。そのために、FWToolsに含まれるPython2.3用のwxWidgetを追加する必要があります。Windowsへのインストールは、次のエントリーにまとめます。


Pythonで、MapScriptやGDAL/OGRをいじっていこうといろいろ調べてみると、結構古い時期の情報もあり、歴史を感じることができます。
■Open Source Python GIS Hacks
http://mapserver.gis.umn.edu/community/conferences/MUM3/workshop/python/?searchterm=python

GISとPythonの関連もむかしからあるようです。Thubanの初期は2001年ころのようです。
■PrimaGIS
http://www.primagis.fi/
■Thuban
http://thuban.intevation.org/index.html
bugna | Python | 15:14 | comments(0) | trackbacks(0) | - | - |

次に狙うのは、Python!

VB厨房な自分を変えたいと、マルチプラットフォームでグラフィカルなユーザーインタフェースのデザインができて、コード補完機能も持ったIDE上で、アプリケーション開発できるような、そんな環境はないかと調べています。

当然、MapScriptが利用できる言語は限られるので、その中からの選択になります。

Javaは、過去にSWINGに手を出したけど挫折、ちょっといまからはじめるには重いかなぁ。他のスクリプト言語はどれも、Tkを使ったGUIができるらしい。wxWidgets、Qt、GTK(Glade)もあるようだ。

 ・Perl
  CGIでおつきあいがあるけれども、開発言語としてはなじめず。
  文字列処理お得意のシェルの代わりのツールというような印象。

 ・Ruby
  開発者が日本人ということや、昨今のRuby On Rails の注目、
  MapScript 4.10.0 API Reference for VB.NETでの
  Hiki(RubyでかかれたWiki)を使っているし、
  Rubyで行こうかと思うのだけれども、なぜか気が乗らない。
  言語の書き方の好みかなぁ?

 ・Python
  VBユーザーのためのGDAL/OGRで、
  GDAL API Tutorialの勝手意訳版なんぞを作っていますが、
  この記事では、C++、C、Python のサンプルコードが載っています。
  また、FWToolsや、MS4Wの中にも、
  SWIG経由で、PythonからMapScriptやGDAL/OGRツールが含まれています。
  書き方もVBに似ているし、なんとなく興味が持てる。

お国柄があるのかどうかは定かではありませんが、日本ではPythonよりPerlやRubyの情報量が多いように思います。
PHPも、GTK+やQtなどを利用してアプリケーション開発もできるようですが、イメージがつかめません。

なんとなく、空間情報の分野では、RubyよりPythonの方が情報量が多いよう(日本語はすくないないような)な気がしますし、GUIのツールキットも、Qtなどを利用すれば、グラフィカルにデザインができそうです。

で、bugnaは、VBの次は Pythonで MapScriptやGDAL/OGRをいじろうと思います。
bugna | Python | 12:27 | comments(0) | trackbacks(0) | - | - |
1/1PAGES | |

01
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--