MapFishって何ですか?
GeoExtで印刷しようとすると、
This example shows how to set the bounds of a printable PDF interactively with a dynamic print extent rectangle. It requires the MapFish or GeoServer print module.
というメッセージが出てexampleが動きませんよね。
それじゃ、まずはMapFishで印刷機能を試してみることに。
正直、あまりMapFishのこと、名前は聞いていたのですが、よくは知りませんでした。
詳しい情報は、MapFishを参照してください。
MapFishは、Webでの地図アプリケーションを開発するためのフレキシブルなオープンソースのフレームワークだそうです。 MapFishにはサーバー・サイドとクライアント・サイドの2つの機能をもっているようです。
また、OSGeo-Live 6.5にも、
「MapFish はリッチなウェブマッピングアプリケーションを作るための柔軟で完璧なフレームワークです. これはマッピングアプリケーション開発の生産性と品質を向上させます。
MapFish は Pylons という Python Web フレームワークを利用しています. MapFish は Pylons で地理空間情報機能を拡張します. たとえば MapFish では地理情報オブジェクトを検索したり編集したりする WEB サービスを作成するためのツールを提供します。
MapFish は完ぺきなリッチインターネットアプリケーションを提供できる JavaScript ツールボックスを提供します, このツールボックスは JavaScript のテスト環境と JavaScript コードを圧縮するツールも含みます.この JavaScript ツールボックスは ExtJS, OpenLayers, GeoExt これらのモジュールと MapFish ウェブサービスと更新 するためのコンポーネントで構成されています。
準拠している標準規格
MapFish は Open Geospatial Consortium 標準に完全に準拠しています。 WMS, WFS, WMC, KML, GML 等の多くの OGC 標準への対応は OpenLayers、GeoExt を利用することで実現しています。(WEBから引用)」
完ぺきなリッチって、いい響き、お金持ちになったような感じです。
そして、印刷については、mapfish-printにその方法が書かれています。
まずは、MapFishをinstallしてみましょう。
MapFishをInstall
今回は、Version 2.2を使います。
MapFishのInstall方法は、MapFish Isntallを参考にしました。
MapFishを動かすのに必要なものは、PythonとPython extensionsが必要です。
ここでは、Python 2.6とpywin32 Build 218をInstallしました。
MapFishのinstall方法に従えば、何も問題もなくInstallができます。
ここで1点、mapfish.plugin.client-0.2がFireFoxではなにやら動かないようです。env/lib/python2.5/site-packagesを使いなさいとなっています。
テスト環境なので、とりあえずはdefaultのままで進めます。
client sideのjavascriptもinstallしておきます。
で、install終了後、起動してみます。
Quick Start
Quick Startの通り実行すると、
FireFox 21.0(最新版)では表示されません。
Chrome (バージョン 27.0.1453.94 m)では、
な感じで表示されます。
Internet Explorer (バージョン 9.0.8112.13421)では、
な感じで表示されます。
とりあえず、これでClient sideのjavascript toolもインストールできたようですね。
ちなみに、MapFishのinstall folderのmapfishapp¥public¥index.htmlをFireFoxで開くと
な感じで表示することはできます。
ExtJS,GeoExt,OpenLayerとも正常に動いているようです。
どうやって印刷するの?
では、印刷はどのようにするのでしょうか?
MapFish Printにその方法があります。
これに従って、
まず、GitHubでhttps://github.com/mapfish/mapfish-printからmaster-zipを取得します。
解凍後、cmdプロンプトで
でコンパイルします。
そして、成功すれば、
となります。
mapfish-print-master¥build folderに
なfolderが作成されます。この中で、使うのは
libs folderのprint-standalone-2.0-SNAPSHOT.jarのようです。
今回は、Pythonを使うので、Python Install,Configuration,と手順を進めていきます。
なにやら、非常に面倒くさくなってきましたが、なんとか設定を行い、実行してみましたが。。。 玉砕!!
なぜか、ウンともスンともいいませんがな。。。
Clinet sideだけの設定でよいような感じはするのですが、どこをどのように修正すればよいのか?皆目見当がつきません。
印刷実行にむけて
Google先生に聞いてみました。すると古い情報ですが、Minifying the Mapfish Client on Windowsなるものが見つかりました。
そして、svnでhttp://trac.mapfish.org/trac/mapfish/wiki/DownloadSvnを落としてきてチェックしてみましょう。
mapfish downloadにmapfish-client-1.2.tar.gzなるものがあるようで、これ使えば面倒くさいことやらなくても、うまくいきそう。
これを次回試してみます。
今回のまとめ
MapFishのprint機能を追加できませんでした。。。
MapFishで印刷できるんだろうか? なんか情報ないかな?
GeoServerのほうがよいのだろうか? Versionも2.3.2着実に上がっているようで、メンテナンスもされているのですよね。
MapFishは、ExtJSは2.2.1、GeoExtは0.7、OpenLayersは2.9とちょい古いversionで構成されているので、
やっぱりGeoServer?
要 検討。
最近のコメント