Hatena::ブログ(Diary)

FOSSとかGeoとかのプログラマの日記

2016-12-03

OSGeo.JP ハンズオン参加証の使い道

ここ数年は、ここのブログの更新は年に1回の模様です(汗;

今年も8月から11月末までイベント連続シーズンをなんとかこなしました。

イベント連続の最後にG空間エキスポでのG空間情報センターの公開というやつがあったので結構きつかったです。

イベントたくさんでると参加証とかCPDポイントの認定証とかをもらいます。OSGeo.JPのハンズオンセッションでも最近は参加証を希望者に配っています。

f:id:yoichi_46:20161202021934p:image:left ハンズオンのWEBページを見てみると「※本ハンズオンはGIS教育認定(GISCA)の対象講座となります。」とか書いてあって、それの対象講座を受講した証明として参加証を発行しているわけです。じゃ、「それって何の役にたつの?」ということがあるわけで、そのあたりをちょいと解説してみます。

GISCAって何?

まずは「GISCA」って何ということですが、地理情報システム学会GIS資格認定協会(GIS資格認定協会ホームページ:トップページ)という組織のことのようです。

f:id:yoichi_46:20161202023159p:image:right

「専門技術者認定」とか「GIS教育認定」とかメニューにありますが、OSGeo.JPのハンズオンは、ここの教育認定をうけたプログラムだということのようです。

じゃ「GIS教育認定」って何かっていうと GIS資格認定協会ホームページ:GIS教育認定によると

1.GIS教育認定とは

 GISCAは大学の学部レベル以上で、教育内容が地理空間情報分野の知識体系の範囲に入っている教育を行っていることを認定します。

それに伴い、GIS上級技術者申請段階で、認定教育については、無条件で履修ポイントを認めます。それ以外のものについては、審査段階で評価することになります。

ということらしいです。

GIS資格認定協会ホームページ:リンク集に教育認定をうけているプログラムの一覧があります。


3.GIS教育認定のメリット

 GIS教育認定をうけることにより,受講者に対して,提供する教育プログラムGIS分野における様々な活動の技術水準を満たすことをアピールできます。また,認定を受けた教育プログラムを受講することにより,GIS専門技術者認定申請するためのポイントが獲得できることから,受講者に対するモチベーション向上にも寄与します。

説明されています。教育認定をうけた講座を受講すると「GIS専門技術者認定」のためのポイントになるようです。

ここで「GIS専門技術者認定」という単語が出現しました。これはなんでしょう?

GIS資格認定協会ホームページ:GIS専門技術者認定こちらに解説がありますね。

1.専門技術者認定とは

 GIS(Geographic Information Science:地理情報科学)分野における様々な活動の技術水準を保証するための認定制度です。この認定制度は学術的な活動のみならず,実務的な活動に重きを置いています。認定を受けることにより,GISについての専 門的な能力をもつことを対外的に証明することができます。

この制度により認定を受けた技術者には,GIS上級技術者の資格が授与されます。

英語で表記する場合は

GIS Expert (certified by GISA)

となります。

つまり OSGeo.JPのハンズオンを受講すると「GIS上級技術者」という資格を取得するためのポイントになるようです。資格を取得するとプロフィールに「GIS Expert (certified by GISA)」とか書いていいようです。

この資格をとるには

審査は,認定規定に従い,学歴や講習会の受講等を含む「教育達成度」,実務経験に基づく「経験達成度」及び学会への参加等専門分野に対する「貢献達成度」の3つのカテゴリの合計ポイントに基づき行われます。申請者は申請書式に従い,自身が保有するポイントを申請することで資格を取得することができます。

とあります。

また

 取得した資格は,5年ごとに更新を行う必要があります。

とあります。

http://www.gisa-japan.org/gisca/download/gisc_spc_120731.pdf:"GIS 上級技術者認定規程"]によると

一 別に定める方法で計算する教育ポイントが 30 ポイント以上

二 別に定める方法で計算する経験ポイントが 60 ポイント以上

三 別に定める方法で計算する貢献達成度ポイントが 8 ポイント以上

第一号から前号のポイントの総数が 150 ポイント以上

というのが資格取得のためのポイントのようです。

また http://www.gisa-japan.org/gisca/download/2manual_R20140722.pdf:"GIS 上級技術者 更新申請 マニュアル 2014/07/22"]によると5年ごとの更新に以下のポイントが必要のようです。

教育達成度ポイント(科目履修及び会議出席) 10 ポイント

専門分野への貢献達成度ポイント 10 ポイント

追加ポイント  教育、貢献の組み合わせ。  20 ポイント

合計                    40  ポイント

じゃあOSGeoのハンズオンに参加した場合はどういうポイントになるかというと

• 教育ポイントは学会大会等の出席、GIS 関連の展示会等のイベントに出席した場合の貢献ポイントからの振り替え、GISCA による教育認定プログラムへの受講及び高等教育機関学部レベル以上の教育への受講、のいずれかに該当する場合に与えられる。

学会大会等の出席に要した 6 時間につき 1 ポイントが与えられる。例えば、8時間の学会に出席した場合 8÷6 = 1.33 ポイントとなる。

GIS 関連の展示会等のイベントに出席した場合は貢献ポイントになるが、教育という側面もあるので、貢献ではなく学会大会等への参加とみなしてカウントすることもできる。ポイント数は、学会大会等への出席と同様、出席時間 6時間につき 1 ポイントである。ポイント数の計算にあたっては、表 4 貢献達成度ポイント一覧表の X-2 を参照し、学修時間比率は掛けず、出席時間÷6 時間で求める。

• GISCA による教育認定プログラムへの受講及び、高等教育機関学部レベル以上の教育への受講については、授業履修時間×2÷6 ポイントを与える。ここで×2 は学修時間比率といい、実際に受講した時間に加えて、予習と復習に要する時間を考慮した比率である。

とあります。通常の学会等への参加は6時間で1ポイントです。ということは10ポイント獲得するためには60時間の学会参加が必要です。これは結構な時間数です。教育認定プログラムの場合は「授業履修時間×2÷6 ポイント」とありますから時間あたりの獲得ポイントは学会参加等の2倍になります。

教育ポイントは新規取得時は30ポイント、更新時には10ポイント必要となります。学会参加6時間で1ポイントですからポイントためるには結構大変です。

そういう意味ではOSGeoのハンズオンセッションはポイント稼ぎのためにはお得なセッションです。

また、この資格取得のための基本的な要件として

申請者は以下の3点を達成すること。

1. GIS 学会、関連学協会等(地理学会人文地理学会リモートセンシング学会、地図学会、GITA-Japan)の会員、又はそれらの賛助団体の構成員のいずれかであること。なお、認定された有資格者は上記の条件を満たし続けなければいけない。

2. 以下の 3 分類での取得ポイントが最低基準ポイント以上であること。

• 教育達成度 : 30

• 経験達成度 : 60

• 専門分野への貢献達成度 : 8

3. 合計ポイントが 150 ポイント以上となること。

とあります。GIS学会とかの会員じゃないといけないかというと、確かOSGeo.JPとOSMFJも関連学協会になったと記憶しておりますので、それらの会員であれば申請資格があるんではないかと思います(後で確認しときます )*1

ハンズオンとかカンファレンスへの参加やOSGeoやOSMの活動は貢献ポイントとしてカウントできるものもたくさんあります(活動参加のエビデンスが必要ですね)。

貢献ポイントについて書くとまた長くなるので別の機会に。

ということで資格の取得や更新にいろいろ使えますので、そのあたりに関心のある方はイベント参加の時にエビデンスの確保に注意してみるといいですよ。

*1:12/2にGISCAの幹事の方にうかがったところOSGeo.JPの会員であれば関連学協会の会員であるのでポイントがあればこの資格の取得申請ができるそうです

2015-12-06

Civic techと FOSS4G

ここのブログは本当にAdvent Calendar専用になってしまいました。

今年のイベントというとFOSS4G HOKKAIDOへの初参加がありましたhttp://www7151uf.sakura.ne.jp/presen/2015/FOSS4GHokkaido2015_sapporo.pdf:

キーノートスピーチとかいいますが、まあグダグダ話になっていましました。

ここでいいたかったのは、昔はコンピュータハードウェアソフトウェアはとても高価だったから一部の人しか使えなかった。

だけどハードの激安化(ムーアの法則?)とネット+オープンソースの普及でコンピュータ利用の障壁がものすごく下がったこと。昔は大きな組織でしかできなかったIT技術利活用が小さなスタートアップ企業や個人でもいろいろできる時代になってきていること。

そしてシビックテックがそれの応用分野として格好の場所で、FOSS4Gの使い道がたくさんあるよというようなことを言いたかったようです。

FOSS4GとOSGeoもこういった名前で登場してから約10年たちました。

日本の地理空間情報の利用分野で10年前にFOSS4Gを利用するということはほとんど前例がなく,利用のための理解をとりつけることがとても大変なことでした。

しかし現在のQGIS普及状況をみると、QGISを使わないという選択は空間情報を利活用しなきゃいけない場合とても損な状況です。

その昔はハードもソフトもとても高価だったからIT技術は一部の人しか自由にあつかうことができなかったわけです。20年前、10年前と比べてもハードとソフト、そしてネットワークインフラを利用するコストは劇的に低下しています。RaspberyPIが安いといってこの1年間ライトニングトークでとりあげていましたno title。だいたい本体が5000円ぐらいで入手できるのです。これを設定してネットにつなげばLinuxマシンとして利用できプログラムの実行や開発、IT技術の勉強をする環境を作ることができます。これでも従前よりはIT利用のためのコストはめちゃくちゃ下がっているわけですが最近はRaspberry Pi ZERO というわずか5$のコンピュータまで登場してきています。Raspberry Pi Zero: the $5 computer - Raspberry Pi

またインターネット上に公開、共有されているデータや知識は莫大な量になり個人や小さな組織がITを使ってできることが格段に高度になってきています。逆に大きな組織でのネットワーク利用はセキュリティを高めるために制約がどんどんきつくなってきています。セキュリティを設定することは重用です。ただ利用できないサイトや機能がどんどん増えていくような環境でしかインターネットを利用できないとしたら、技術や知見の広がりに影響がでることもあるでしょう。

Civic Techという地域の課題解決のために市民のテクノロジーを利用しようという動きは、そのようなITテクノロジーをめぐる環境の変化によって可能になってきたものだと思います。

行政が利用するITシステムの大多数は企業によって構築されています。そういうものを構築するテクノロジーは従来は資金力がある企業が多くを持っていたわけです。そういうところでベンダーロックインされるとそのシステムが提供するソリューションが費用にみあったものであるかあやしくなってくることが多々あるわけです。

また地域の課題といった場合、課題なり状況を地理的可視化することが大変必要とされてきています。データを地理的インデックス可視化するための様々な作業はFOSS4Gの得意とするところです。多分シビックテックの分野でFOSS4Gが活用されるといいような場面がとてもたくさんあると思います。現状でFOSS4Gの側でかならずしも使い方が分かりやすい状態ではありません。そういうわけでいろんな課題がどんどんでてきます。かつてよりFOSS4GやOSGeoでやるべきことは増えています。来年もえらく忙しいのでしょうか。皆様よろしくお願いいたします。

2013-12-31

QGISドキュメント翻訳の実際

ここのブログはここのところFOSS4G Advent Calendarの時のみ記事をアップするようになってしまいました。

本年も同様でして。http://atnd.org/events/45511 このカレンダーの延長版としてのエントリです。

今年は秋にガンがみつかって検査入院でFOSS4G TOKYOを欠席。退院後、本入院までの短い期間でFOSS4G OSAKA参加。その後1か月入院して退院後自宅療養中というのが現状です。

FOSS4G OSAKAでは本編で以下の発表

QGIS2.0の登場とFOSS4Gの新展開

飲み会では以下のLTを行いました

FOSS4G OSAKAライトニングトーク

いずれもQGIS関連、とりわけQGISのドキュメント翻訳作業についてふれています。

今年の秋にリリースされたQGIS2.0はかつてない機能の充実がはかられFOSS4G界のキラーアプリケーションとしての地位を確立してきました。

これの普及がFOSS4Gの動向におおきな影響を与えると思われます。しかしこのソフトウェアを利用するための基本文書であるUserGuideの翻訳がなかなか進んでいないことも現実としてあります。

f:id:yoichi_46:20131229170212j:image:right

年末現在でQGISドキュメントの日本語翻訳率は61%です。結構進んでいるようですが9月ぐらいから作業をしている結果ですので成果としてはいまいちです。

QGISドキュメントの翻訳については昨年まではSubversionリポジトリ管理を行い、文書の形式としてはLaTexを利用していました。本年にリポジトリGitHubに変更し、文書をSphinxで管理するようになりました。またSphinx文書を共同編集するフロントエンドとしてTransifexというWebサービスを利用し始めています。翻訳作業に参加する場合Transifexのアカウントを作成し,Transifex内のQGIS Documentationプロジェクトに参加してWebまたはダウンロードしたファイルに対して翻訳作業を行っていけばいいのです。このTransifexを利用した翻訳作業はQGIS以外の多くのOSSプロジェクトでも利用されることが多くなってきています。ただし翻訳作業を行う場合Sphinxで指定されている様々なマクロが翻訳テキストに混在していて、その部分をどう扱うかで翻訳結果がおかしくなることがあります。本ブログではQGISドキュメントの翻訳を例としてTransifex上で翻訳作業を行う場合の注意点を列挙してみたいと思います(翻訳作業参加者を増やすことを意図しています)。

最初にTransifexのアカウントを作成して下さい。

f:id:yoichi_46:20131229182728j:image:left

アカウント作成リンクから画面を表示してメールアドレス等を登録するとTransifexのアカウントを作成することができます。

アカウントを作成したらログインした後で Forbidden access にアクセスして「チームに参加」ボタンをクリックして日本語翻訳チームへの参加をリクエストして下さい。ここで管理者(私ですが)がチーム参加をOKすると日本語の翻訳作業に参加することができます。(他の翻訳プロジェクトへの参加も同様です)





  • Transifexによる翻訳作業

f:id:yoichi_46:20131229212537j:image:right

QGIS DocumentでJapaneseを選択すると図のような翻訳テキストブロックの一覧が表示されます。それぞれの一覧には翻訳終了率とレビュー終了率の数値が表示されます。翻訳したいテキストブロックをマウス左ボタンでクリックして下さい。

f:id:yoichi_46:20131229212538j:image:right











翻訳したいブロックをクリックすると図のようなダイアログが表示されます。ここではWEB上での翻訳作業とpoファイルをダウンロードする方式の翻訳作業(後で翻訳済みファイルをここのダイアログからアップロードする)を選択できます。ここでは「翻訳する」ボタンをクリックしてWEB上での翻訳を選択して下さい。

f:id:yoichi_46:20131229212539j:image:right








翻訳ブロックを選択すると図のような翻訳作業画面が表示されます。左側のリストに翻訳テキストが表示されます。ここでチェックされているテキストは翻訳済みテキストです。リスト中のテキストをクリックすると右側の作業エリアに原文と翻訳済みテキスト(未翻訳の場合は空欄)が表示されます。未翻訳テキストの場合は空欄に翻訳テキストを入力した後に「保存」ボタンをクリックすると当該テキストの翻訳が終了します。





  • 翻訳時に注意すべき語句

ここで英文を日本語に翻訳すればよいのですが、テキストの中には日本語に翻訳してはいけない語句がいろいろあります。

例えば

The |mActionUndo| :sup:`Undo` and |mActionRedo| :sup:`Redo` tools allow the user to undo or redo vector editing operations. There is also a dockable widget, which shows all operations in the undo/redo history (see Figure_edit_3_). This widget is not displayed by default; it can be displayed by right clicking on the toolbar and activating the Undo/Redo check box. Undo/Redo is however active, even if the widget is not displayed.

このようなテキストがあります。ここで問題となるのは |mActionUndo|:sup:`Undo` , Figure_edit_3_ というような語句に翻訳時に注意しなければいけません。

このような語句の翻訳については次のWEBページに解説があります。404 Not Found

ここに記載されている翻訳時に気を付ける内容は以下のとおりです

翻訳ルールの概要

  • |nix| といったような記述は変更しないでください
  • :ref: タグで始まる参照は変更しないでください
  • figure_1_ のようにアンダースコアで終わる参照は変更しないでください
  • 翻訳結果の文字列を新しい段落で終わらせないでください.HTML生成の際に変換がうまくいかない場合があります.
  • 以上のルールを守ってドキュメントの品質を良くしましょう!

また |mActionUndo| のようにWebページやPDF作成時にSphinxが置き換えを行う文字列については次のページに解説されています 404 Not Found

このルールにしたがって上記例を翻訳すると以下のようになります。

|mActionUndo| :sup:`取り消し` と |mActionRedo| :sup:`再実行` ツールを使うとベクタ編集操作の取り消しや再実行を行うことができます.取り消し/再実行操作の全履歴を表示できる結合表示可能なウィジェットもあります ( Figure_edit_3_ 参照). このウィジェットデフォルトでは表示されていません; このウィジェットツールバー上でマウス右ボタンをクリックして取り消し/再実行チェックボックスをアクティブにすることで表示できます. ウィジェットが表示されていなくても取り消し/再実行機能は有効です.

ここで |mActionUndo| |mActionRedo| Figure_edit_3_ は翻訳しないでそのまま記述しています。この時各語句の前後に半角スペースを1個いれています。これは語句の切れ目に半角スペースが無いとSphinxが語句の解析に失敗するからです。日本語の場合単語と単語の間にスペースが無くても文章としては読めます。しかしSphinxでは単語と単語の間はスペースで区切られていないと単語の先頭と終端を認識することができません。この場合 |mActionUndo| |mActionRedo| Figure_edit_3_ の語句はSphinxが何らかの処理を行うことを示す単語なのでSphinxが読んだ時に単語として認識されなければいけません。ですから現状のSphinxではこれらの文字の前後には文字列の区切りを示す半角スペースをいれたほうがいいです。ここの文字列の区切りをいれていないとSphinxの処理が行われた結果のWEBページやPDFで当該文字が指示する変換が行われず文字がそのまま表示されることがあります。また同じスペースでも半角スペースではなく日本語全角スペースはSphinxによって区切り文字としては認識されません。




f:id:yoichi_46:20131230012313j:image:right

また :sup:`Undo` :sup:`取り消し` ,:sup:`Redo` :sup:`再実行` と翻訳しています。:sup: に続く文字列QGISシステムで表示されている文字列です。ですからそれがシステム上でどのように翻訳されているかわかれば、その文字列を利用します。システム上で当該文字列がどのように翻訳されているかわからない場合はここの文字列は翻訳しないでおいたほうがいいかもしれません。





f:id:yoichi_46:20131230010733j:image:left


翻訳ができたらWEBページの翻訳テキストエリアに翻訳文字列を流し込み「保存」ボタンをクリックして下さい。これで翻訳したテキストがTransifexシステムに保存されます。













  • Transifex翻訳結果の検証

QGIS Documentationの場合Transifexを更新した結果は時々Githubに反映され,その結果をSphinxコンパイルしてHTML404 Not Found)とPDFIndex of /QGIS-Documentation-2.0/live/html/pdf)が更新されます。

システム本体で更新作業が行われる前に自分で翻訳結果をコンパイルして翻訳結果を検証することができます。検証環境を今回はUbuntu12.04の環境に作成してみました。

作業手順はこちらGitHub - qgis/QGIS-Documentation at manual_en_v2.0に記述されています。

QGIS Documentationリポジトリの取得。 Ubuntu LinuxログインしてGitHubからQGIS Documentationリポジトリを取得してmanual_en_v2.0というブランチを作業対象に設定します。

git clone https://github.com/qgis/QGIS-Documentation.git

cd QGIS-Documentation

git checkout manual_en_v2.0

次にSphinxtx(Transifexのクライアント)等必要なツールをインストールします。

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | sudo python

sudo pip install -r REQUIREMENTS.txt

transifexから日本語翻訳結果を取得してリポジトリに上書きします

tx pull -l ja -f --skip

f:id:yoichi_46:20131230121416j:image

リポジトリの更新が終了したらHTMLを作成します

make html LANG=ja

f:id:yoichi_46:20131230121418j:image

OGIS-Documentation/output/html の下にHTMLが作成されます。これを閲覧可能な場所にリンクするか、またはダウンロードして翻訳結果をブラウザで閲覧しチェックします。

f:id:yoichi_46:20131230121908j:image

とりあえず本日コンパイルしたドキュメントは次の場所で確認できます.404 Not Found

置き換えがうまくいっていない箇所が結構あります。こちらのページは時々更新しますので翻訳結果をこちらでチェックしてみてください。

以上の手順で翻訳からチェックまで作業を行うことができます(チェック環境を作成するのはむつかしいかもしれませんが)。まだまだ翻訳しなければいけないリソースが沢山あるので本ブログを参考にして翻訳作業にご協力お願いいたします。

2012-12-04

FOSS4Gを使って気象庁台風データを可視化した

FOSS4G Advent Calendar 企画FOSS4G Advent Calendar 2012 : ATND、今年も参加。

最近ブログ書いていないからいろいろネタがあるのだけど、具体的なやつがいいかと思いこの前のハッカソンQGISを使った作業内容を忘れないように書いておきます。

12月1日に気象データハッカソンというイベントに参加してきました。

ニュース - 気象データの活用コンテスト、「体調」や「住みやすさ」の可視化サービスなど提案:ITpro

気象データハッカソン(2012年12月1日) - Togetterまとめ

これにさきだってアイデアソンがfacebook上で行われました。

気象データといえば空間情報であるものがたくさんあるわけで,どんなデータをどう扱えるのかという興味本位で参加してきたわけです。

寒い日曜日の昼過ぎ、場所は夏ごろに開催された復興データベースAPIハッカソンと同じ三菱総研さんの会議室。首相官邸とかすぐ近くのとこです。

主催者あいさつ、自己紹介とかのあとでアイデア提案ある人が発表してチーム分け、チーム作業の後プレゼン、そのあと飲み会というコースでございました。各気象データの使い方についてはグループごとに気象庁の方からいろいろアドバイスありという豪華コース。

満ち引きマップや、体調と気象のマッシュアップやらGeoFuseとかいろいろ面白そうなネタが提案されていました。

OSMの東さんがCrowdmapno titleというUshahidiをクラウドで利用したシステムに気象データとりいれる試みをやろうと提案されていたので、私はそこのチームに参加しました。

Ushahidiでは位置情報を付加したレポートを蓄積、公開することが可能です。蓄積されたレポートはUshahidiに組み込まれているOpenLayersを利用してOSMやGoogleMapsの地図で位置を可視化して閲覧することができます。また、管理者の機能としてKMLで作成した空間データをレイヤとして重ねて表示することができます。東チームでは千代田区が暴風雨に襲われたらというストーリーでデモをすることにしたので、私は気象庁保有の気象データをUshahidiの地図のレイヤとして表示することを当日の目標にしました。

ということでなんらかの位置情報がわかる気象データをKMLにしてUshahidiにアップロードすることが手順になります。

KMLの作成はGDAL/OGRでもできるしQuantumGISにデータをロードできればKMLで保存できます。

気象庁の方に台風の位置データの所在を教えていただきました。

Japan Meteorological Agency | RSMC Tokyo - Typhoon Center | RSMC Best Track Data (Text)

ここに台風の位置をはじめとした諸データがテキストで格納されています。

テキストだというのが重要です。PDFやら地図になっていたらプログラムで読むことができません。

f:id:yoichi_46:20121204143300p:image:medium:left

f:id:yoichi_46:20121204143301p:image:medium:left

こんな感じのテキストデータとして台風のデータが格納されているわけです。

Japan Meteorological Agency | RSMC Tokyo-Typhoon Center | Format of RSMC Best Track Dataこちらのページにテキストの各項目の意味が書いてあります。行の先頭が 66666 のところが1個の台風データのヘッダ情報で、その後に時刻別の台風の位置や勢力の数値情報が記述されているようです。このデータをQuantumGISWelcome to the QGIS project!に読み込ませることができれば台風位置情報の可視化や情報加工に利用することができます。

テキスト形式で記述されている空間情報データをQuantumGISに読み込む場合はデリミテッドテキストレイヤプラグインを利用します。

D

この機能を利用すると位置座標の座標値がCSVWKTで記述されたテキストファイルをQuantumGISに取り込むことができます。

その後はQuntumGISの持つ豊富な空間情報を扱う機能で取り込んだデータを使うことができます。

そこで気象庁台風テキストデータをどうやってQuantumGISのデリミテッドテキストプラグインで使えるようにするかということが課題になります。このデータには複数の台風のデータがヘッダレコードとデータレコードで構成されていて、データレコードレコード数はヘッダに格納されています。デリミテッドテキストプラグインで読み込みできるのはカラム名を示す単一のヘッダレコードと、そのカラム構成にしたがったデータレコード群で構成されているテキストファイルです。(WKTという形式も読めますが、今回は説明省略)

そういうわけで気象庁台風データはそのままでは読み込むことはできません。とりあえずハッカソンでは1つの台風についてのデータを気象庁データから取り出して、それをCSVファイルに変換してQuantumGISに読み込むことにしました。(ヘッダとデータの行を解析してデータをQuantumGIS用に変換するスクリプトを書けば複数の台風データを読み込むこともできると思います)

f:id:yoichi_46:20121204162013p:image:medium:left

デリミテッドテキストレイヤプラグインダイアログは左のとおりです。ファイル名と座標のフィールド名やファイルのデリミタ(値を区切る文字)を指定します。ここで座標値のフィールドを指定します。座標値は緯度経度(実はこれも複数種類があります)や平面直角系とかの投影座標値でもQuantumGISが解釈できる座標値であればなんでもいいのです。しかし、元の座標値をQuantumGISが解釈できない場合は加工が必要です。

気象庁データを見てみると台風の位置座標は緯度経度で記述されています。QuantumGISでは緯度経度の座標を読み込むことは可能です。しかし気象庁データの緯度経度の単位は0.1度単位の整数値で記述されています。デリミテッドテキストプラグインの座標値の緯度経度は度単位の数値で記述して、度以下の値は10進数の小数値で記述する必要があります。

このような加工を手っ取り早くやるにはMSExcelとかが便利なのでとりあえず気象庁で公開されているテキストデータから1個の台風のデータレコードの分だけをコピーしてきてExcelにペーストしてみます。

f:id:yoichi_46:20121204164535p:image:w240:left

ペーストしたデータの区切り位置(空白区切りでも固定長でも大丈夫だと思います)を指定してデータをカラムで区切ると左のような状態になります。ここで座標値の単位を度に変えるには座標値を10.0で割って小数点以下の数値もCSVファイルに保存すればいいはずです。またデリミテッドテキストプラグインでテキストファイルを読み込む場合は先頭の行にカラム名が格納されている必要があるので、ここでカラム名を指定します。


f:id:yoichi_46:20121204165032p:image:w240:left


Excel上でこのような状態にした上でデータをCSVファイルとして保存します。

ここではファイルを c:\tokyo\taifu.csv というファイルで保存しました。


CSVファイルの内容は以下のとおりです。

日時,ido,keido,kyoudo,緯度,経度

11092012,303,1336,940,30.3,133.6

11092015,309,1341,940,30.9,134.1

11092018,317,1347,940,31.7,134.7

11092021,324,1353,940,32.4,135.3

11092100,330,1359,950,33,135.9

11092103,339,1369,950,33.9,136.9

11092105,347,1376,950,34.7,137.6

11092106,349,1378,955,34.9,137.8

11092109,359,1392,970,35.9,139.2

11092112,371,1407,975,37.1,140.7

11092115,387,1424,975,38.7,142.4

11092118,405,1436,975,40.5,143.6

このファイルをデリミテッドテキストプラグインで読み込めばQuantumGISで利用できます。ただし数値データの形式を指定しないと数値データもテキストデータとして読み込まれてしまいます。データ形式を指定したい場合は次のページHow to Specify Data Types of CSV Columns for Use in QGIS | Free and Open Source GIS Ramblingsを参考に *.csvtというファイル(今回の場合だとc:\tokyo\taifu.csvt)に各カラムのデータ型を記述してからデリミテッドテキストレイヤプラグインcsvファイルを読んで下さい.

今回のcsvtファイルの記述例.

"String","Integer","Integer","Integer","Real","Real"

このCSVファイルをデリミテッドテキストプラグインで読んでください。

f:id:yoichi_46:20121204173226p:image:w360

デリミタをカンマにしてX座標を経度、Y座標を緯度に指定。レイヤ名は台風にしてみました。

f:id:yoichi_46:20121204173227p:image:w360

変換を始めようとすると上記のダイアログが表示されます。ここでは指定テキストに記述されている座標値がどういう座標系の座標値であるかを指定します。

座標系や測地系の話は本稿では省略しますがQuantumGISではEPSGコードというコード番号で座標系(空間参照システム)を管理しています Page not found | GeoPacific.org

今回はWGS84の緯度経度(EPSGコード4326)というやつを使います。(これは最近のGPS等で利用されることが多い緯度経度の座標系です)


デリミテッドテキストレイヤプラグインCSVファイルを正しく読み込むとQuantumGISで台風の位置を示す点が表示されます。

f:id:yoichi_46:20121204174138p:image:w360

この時点でQuantumGIS上で気象庁台風データを利用することが可能になりました。データカラムに格納されている値を利用していろいろな地図表現や空間解析を行うことができます。しかし今回の目的はこのデータをQuantumGIS上で利用することではなく、台風データをCrowdmap上で利用できるように加工することが目的です。ここではQuantumGISに取り込んだ台風データをKMLファイルに書き出ししてCrowdmapのレイヤとして登録する作業が必要になります。

KMLへの台風データの書き出しはレイヤリストで台風レイヤを選択した状態でマウス右ボタンメニューで表示される「名前をつけて保存」で可能です。

f:id:yoichi_46:20121204175438p:image:w360

ここで気をつけなければいけないのはCRSという項目です。CRSってのはCoordinate refrence system の略で前に出てきた座標系のことです。(QGISではこの単語の日本語翻訳が統一されていませんね(汗;)

ここでは相手のシステムで利用するために適している座標系を選択する必要があります。そこでCrowdmapではどういう座標系が使われているかを知らなければいけません。CrowdMapの地図システムはOpenStreetMapやGoogleMapを使っています。OpenStreetMapのデータは緯度経度で格納されていて、実際のシステムで利用する場合はそのデータをプログラム投影変換して利用することが可能です。ただ、今回はOSMで配信している地図サービスをCrowdmapで利用しているわけで、その座標系に合わせる必要があります。そしてOSMの地図とGoogleMapsを切り替えても同じ場所が表示されるので、GoogleMapsと同じ座標系であると思われます。EPSG:3857 - OpenStreetMap WikiGoogleMapsと最近のOSMはEPSG:3857 Spherical Mercator projection coordinate system という空間参照システムを利用しているので,ここのCRSはEPSG:3857を指定します。その上でファイル名をつけてKMLファイルを保存します。


あとはこのKMLファイルをCrowdmapのレイヤとして登録するだけです。

その方法については以下のスライドの23ページにある画面で可能です。

http://www.slideshare.net/AnahiAyala/ushahidi-and-crowdmap-training

Ushahidiの管理権限あるユーザで管理画面にはいってLayerの追加でKMLファイルをアップロードレイヤ名と色指定するという手順です。

f:id:yoichi_46:20121204185113p:image

(レイヤ編集 KMLアップロード画面)

最終的にCrowdmapに気象庁台風データをプロットした結果が以下の画面です。

f:id:yoichi_46:20121204184150p:image

KMLのnameタグとかをオリジナルからちょっといじっています)


KMLにもうちょっと工夫がほしいとこだとか、出てくる情報が少ないとかサイトとしてはいまいちなんですが、とりあえず気象庁のデータを取得して加工して表示するところまでの手順の1つを体験できたことが大きな経験です。そのような作業を行う時のFOSS4Gツールの便利さと、まだほしい機能(KMLをいろいろ表現豊かにできるといいなあ)とかがちょいと見えました。

ハッカソン終わって時間がたってから気が付きましたが、実際に気象庁のデータを可視化することができたのはうちのチームだけだったと思います。結果として私はアイデアを出さないで手だけを動かしていたようです。ハッカソンはアイデア出す人、コーディングする人、デザインする人、テストする人とかいろいろな人のコラボレーションができるチームができると面白いです。そのような場所でFOSS4Gツールが利用される機会が増えるでしょう。来年もいろいろやらないといけないようです。

2012-10-28

FOSS4G2012 Tokyo/Osakaを開催します

 QGISのラベル制御についての記事を途中まで書いて、続編を書いていないのにさっききがつきました。ここのとこバタバタしていますとかいうのがずっと続いているのだけど、前回ブログ書いたのが1月なのにもう今年はあと2か月ちょっとしか残っていない。今年は何をしていたのだろうかという具合なのだけど来週の今頃はFOSS4G Tokyoも開催されています。

 地理空間情報に関するオープンソースソフトウェアの祭典ページが見つかりませんでした | OSGeo.JPページが見つかりませんでした | OSGeo.JPがもうすぐ開催されます。2006年のOSGeo.JP結成以来FOSS4G(地理空間情報に関するオープンソースソフトウェア)の国内認知度が低い低いということを問題意識としてもっていたのですが、ここのところ国内でFOSS4Gの普及は爆発的に広がってきているように実感しています。

 デジタルデータとして地理空間情報をあつかう場合コンピュータプログラムが必要になります。古の時代にはそのようなプログラムはデータを利用したい人が自分で作っていたのですが、商用のプログラムが普及するにつれてプログラムは買ってきたほうがデータを利用して何らかの目的を実現するためには手っ取り早いわけです。商用プログラムの多くはソースコードが公開されているわけではなく動作の中身はプログラムの提供者を信頼して動かすしかありません。じゃあすべての機能を自分でコーディングしたらいいかというと近年のコンピュータプログラムは機能が多く規模が大きくなる傾向があるのでシステム構築には多大の労力がかかります。オープンソースソフトウェアとは利用の自由、配布の自由、改良の自由等の自由が保障されているソースコードが公開されているソフトウェアです。近年はインターネットの普及によって多くのオープンソースソフトウェア開発プロジェクトが構築され様々なソフトウェアが作成されています。これらソフトウェアは前記のような自由が保障されているので商用プログラムの利用か単独プログラムの開発というコンピュータプログラムの利用形態の他にオープンソースプログラムの利用(または改良や開発)という方法が選択肢としてあがってきています。Linuxをはじめとする多くのソフトウェアや近年はクラウドコンピューティングの基盤の多くやインターネットサービスの多くがオープンソースを利用したりオープンソースとして作成されていることをみればオープンソースソフトウェアというソフトウェアの開発や利用形態が今日のITC基盤を支えていることは明白でしょう。

 GISのようなアプリケーションプログラムレベルの話でも同様のことはいえます。空間情報に関するオープンソースソフトウェアを開発するコミュニティを集めたコミュニティコミュニティであるOSGeo.org | Your Open Source Compassが結成されてから地理情報に関するオープンソースソフトウェアの開発速度は加速され素晴らしい進歩をとげています。様々なプロダクト開発やプロジェクトの発展のために世界中からメンバが集まりプログラムマニュアル、教材の開発やイベント開催、グッズの作成等が日夜行われています。またこのコミュニティは空間データを扱う研究や仕事をしている人が世界中から集まっているわけで、そこでの議論や情報交換はデジタル空間情報を扱うためのワールドワイドな交流場所になっています。

 このようなコミュニティ運営や情報交換はほとんど英語ベースで行われているため国内の技術動向しかみていない場合どうしても情報が少なくなってしまうのが国内の現実です。デジタル空間情報を扱うツールのひとつとしてFOSS4Gを利用できないという事態はとても損な状態です。私の場合は空間情報をあつかうプログラマなのですが、FOSS4Gプロダクトのソースコードを読むことは大変勉強になります。他人のソースコードを読んでそれを改良してさらに良いソースコードを共有していくというようなプロセスが技術の向上をもたらすと思っております。

 国内のあちこちでQuantumGISの利用が増えていることはここのところ実感しています。しかしQuantumGISには日本語環境で利用した場合の様々な問題や障害があります。そのような障害はほおっておけば直るわけではなくQuantumGISの開発コミュニティにどんどん伝えていかないと直りません。オープンソースコミュニティは海外のどこかにあるような感覚があるかもしれませんが、ネットが使えれば誰でも参加できます。コミュニケーションは基本的に英語なんですがブロークンでも大丈夫ですし、翻訳ソフトつかって日本語メッセージ読んでくれる外国人メンバーもけっこういます。コミュニティの活動はプログラム開発だけではなく、文書の作成、翻訳、イベントの開催や宣伝,参加、グッズ作成や飲み会企画とかいろいろなことで貢献できます(資金の援助というのも重要です)

 FOSS4G TOKYO/OSAKA地理空間情報に関するオープンソースコミュニティ活動に触れることができる最良の機会です。海外ゲストと国内の多くの発表者からの講演や多彩なハンズオンセッションが企画されています。多くの方のご参加をお待ちしています。