<< MapServer , GDAL/OGR ,Python2.5 on Windowsメモ | top | SQLiteってば速い(with トランザクション) >>

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) | - | - |
Comment









Trackback
URL:

11
--
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
--
>>
<<
--