waigani's diary

QGISを中心にFOSS4Gをいじくる

LibreOfficeに地理院地図を貼り付ける

FOSS4G Advent Calendar 2014

今年もやりますFOSS4G Advent Calendar。毎年のように一番手です。

この記事はFOSS4Gとはあまり関係ありませんが、FOSS4G Advent Calendar 2014の1日目の記事です。

今年もありがとうございました

まだ一ヶ月ありますが、本年も皆様のご協力で楽しく過ごさせていただきました。
FOSS4G Hokkaidoは初の3日間で開催することができましたし、11月にはオープンデータ+QGISで本も出すことができました。手にとって頂ければ幸いです。

[オープンデータ+QGIS] 統計・防災・環境情報がひと目でわかる地図の作り方

[オープンデータ+QGIS] 統計・防災・環境情報がひと目でわかる地図の作り方

地理院地図パートナーネットワークに参加して

さてここから本題です。11/20に第一回地理院地図パートナーネットワークに参加しました。地理院タイル利用事例とても面白く聞かせていただきました。下記から資料を見ることが出来ますので、ご一読をおすすめします。
パートナーネットワーク会議

みなさんleaflet+geoserver使ってるなmapserverいないなとか、分散処理でのタイル作成について詳細聞きたいとか、色々感想はあるのですが、個人的に一番良かったのは、

  • JAVAやエクセルを利用した開発事例

でした。
やっぱりエクセルですよ、エクセルで帳票作成ですよ。そして真似したくなるわけですよ。
エクセルでやると丸パクリなので、そこはオープンソースソフトウェアを使おうということで、LibreOfficeのマクロで指定経緯度の地理院タイルを貼り付けてみました。

指定経緯度の地理院タイルを貼り付ける

きちんと帳票のスタイル作るべきですが、そこまでやらずに単に1タイル持って来て貼り付けてます。指定経緯度の位置にも●発生しています。
先に実行結果を。
f:id:waigani:20141126231602p:plain

都庁の座標(35.689521,139.691704)を与えて、ズーム15の地理院タイルを持って来ています。

マクロ

LibreOfficeはpythonでマクロ書けるんですね。
解説出来るほどlibreofficeのマクロ判っていないので、解説省略。
下記のコードをgetGSITile.pyのような名前で、

ユーザディレクトリ\AppData\Roaming\LibreOffice\4\user\Scripts\python

に保存しておきます。Scripts\pythonが存在しない場合は、自分で作成する必要があります。


#東京
LAT = 35.689521
LNG = 139.691704

のところを書き換えて頂ければ、好きな場所の地理院タイルを貼り付けられます。
もしくはセルから値を持ってくるように改変しましょう。

実行方法

マクロを指定ディレクトリに置いたことを確認した後、LibreOffice Clacを起動します。
メニューの[ツール]から[マクロ]→[マクロ実行]を選択します。
f:id:waigani:20141126234101p:plain

ライブラリから[マイマクロ]→[getGSITile]と選択するとマクロ名が表示されます。表示されるマクロ名から[getGSITile]を選択し、[実行]を押します。
f:id:waigani:20141126234523p:plain

実行すると、指定経緯度を含む地理院タイルが読み込まれ、シートに貼り付けられます。また、経緯度の位置に●が表示されます。

国土地理院コンテンツ利用規約

利用規約は確認の上使いましょうね。
国土地理院コンテンツ利用規約|国土地理院

うーんもうちょっと情報欲しい

libreofficeのマクロに関する情報どこから取ってくるのがいいんでしょう?情報少ないですね。こちらのサイトを参考にさせていただきました。
OSS( Open Source Software )でいこう!!「 OpenOffice.org / LibreOfficeを使おう編 」