Webアプリを創る 😊クリエイティブWeb

カテゴリー: オープンデータ

オープンデータ先進国イギリスの主要都市のオープンデータの状況を調べてみた

2015年2月16日

最近、地方自治体でもオープンデータの利活用に力を入れるところが増加してきたようです。じんぐる氏がブログに「オープンデータ先進県「福井」の残念なデータに思う」という記事を書いていたので、オープンデータの公開をどうしたらいいのかを少し調べてみました。

まず、オープンデータの先進国であるイギリスの主要都市のオープンデータの状況をしらべてみました。都市については、ロンドンとそれに続く「Second city of the United Kingdom」の8都市をまず選択しました。残り3都市は人口の多いところを選びました。

調べてみると、カーディフ以外の11都市は、オープンデータのホームページを持っていました。公開しているデータとして「500ポンド以上の支出」が目につきましたが、「Local Government Transparency Code 2014」で、地方自治体が公開すべきデータになっているのが影響しているのかもしれません。

都市名リンク 専用サイト 主な公開形式
ロンドン(London) リンク CMS xls, csv, pdf, html
ベルファスト(Belfast) リンク   xml, rss
バーミンガム(Birmingham) リンク   csv, xlsx
カーディフ(Cardiff) -    
エディンバラ(Edinburgh) リンク GitHub csv
グラスゴー(Glasgow) リンク CKAN csv, xlsx, geojson
リーズ(Leeds) リンク   xls, csv
リバプール(Liverpool) リンク   xlsx
マンチェスター(Manchester) リンク CMS csv
ブリストル(Bristol) リンク   csv, pdf, html
シェフィールド(Sheffield) リンク   準備中
ブラッドフォード(Bradford) リンク   準備中

xml を中心にして公開しているのは、ベルファストだけです。ベルファストはデータセットが6つ公開し、その内の4つがXmlです。xml はメタデータを作るのが大変なので、地方自治体では多くのデータセットを公開するのは難しいようです。また、csv で公開するのがいいのか、xls, xlsx で公開するのがいいのかというのは、イギリスでも微妙な問題のようで、都市によって分かれています。

公開方法については、都市のWebページの中で公開しているところが多いですが、専用のサイトを作っている所もあるという状況です。また、data.gov.uk で地方自治体もオープンデータを公開できるようになっていて、ブリストルはそれを利用しています。こう見てくると、イギリスにおいてもオープンデータについては課題が多いように思います。

じんぐる氏が残念だといっている坂井市のケースでは、珍しくxlmでデータを公開していると思ったら、既に「坂井市WebMap」というものがあってそのデータを使っているためのようです。坂井市WebMapは、坂井市のさまざまな位置情報を電子地図にて提供するWEBシステムだそうで、そのデータは KMLです。例えば、津波避難場所情報については、以下のようになっています。

http://www.city.fukui-sakai.lg.jp/map/data/hazard/hinan_tsunami.kml

自分の疑問は、なぜKMLで公開しないの?どうしてわざわざXMLにするの?ということです。KMLの方だと KML のスキーマがあるのでデータの構造は理解しやすいです。また、KMLということであれば、<description>タグの中を構造的なタグにしない理由もわかります。それに、順次公開予定となっているデータもすぐに公開できます。

地方自治体がオープンデータを公開する場合は、最初はできるだけ既存のデータを使った方がいいと思います。市町村にはITエンジニアは殆どいないのでエンジニアフレンドリーなデータを最初から公開できるということは期待しない方がいいでしょう。また、改善を要求する時には、コストのことは考えた方がいいでしょう。xml をきれいな形で公開しようと思えば、「利用者側にこんな不毛な苦労が必要なのか」という下のようなコードを、市町村側で作成しメンテナンスしていく必要がある場合が多いと思います。それでは、市町村側もこんな苦労するんだったらデータなんか公開しない方がいいと思うのではないかと思います。坂井市のこのデータであれば、空間データなので今は既存の KMLで公開しておいて、将来的には協力して 坂井市WebMap と共通で GeoJSON に持って行くのがいいように思います。

var data = attribute.Value
         .Split(',')
         .Select(x => x.Split('='))
         .Select(x => new
         {
             Key = x[0],
             Value = x[1]
         })
         .ToArray();

オープンデータは、オープンソースと同じで協力して育てていくことが重要だと思います。それに、坂井市のレベルは、決して絶句するレベルではないと思います。

C#で経済指標巡回プログラムを作成しました

2014年12月30日

Rubyで経済指標自動巡回プログラム作成しました。 - 人生、徒然なるままに。」というブログをみて、このブログの筆者は、.Net や Java を使えるのに、なぜ、新たに勉強してまで Ruby を使ったのかということに興味があったので、同じようなものを C# で作り、GitHubで公開(https://github.com/awoni/GetMarketCalendar)してみました。

今回のプログラムでは、データの取得には HTTPClient を使って直接 Url をたたいて該当ページのHTMLを取得しています。一方で、Ruby の方では、「フレームワークとしてCapybara、レンダリングドライバー・javascriptドライバーとして poltergeist, PhantomJS」を選択しているそうで、プログラムでボタンをクリックして取得したデータをもとに解析しています。今回のデータの場合は、HTML のみで必要なデータが取得できましたが、JavaScriptを使ったインターラクティブな Webページが増加しているので、Javascriptが動作する環境でブラウジングしてデータを取得する必要がある場合も多くなってくると思います。

Html のパースには、Html Agility Pack を使っています。LINQ を使って記述していますが、意外と簡単にパースすることができます。

データの保存については、データベースではなくて、そのままで API として使いやすい Json で保存するようにしてみました。 Newtonsoft の Json.NET でシリアライズしています。設定ファイルについても、Json にしてみました。

その他に NuGetのパッケージとしては、NLog を使っています。Html のパースルーティンでは、どの程度までエラー処理をすべきかが問題になりますが、画面の変更に対応しようと思うとプログラムがどんどん複雑になってくるので、自分としては、プログラムは余り複雑にせずに、画面の変更によるエラーに早く気づくようにした方がいいのではないかと思っています。NLog をログのメール送信にも対応しているので、こういう点に関しては便利だと思います。ただ、今回公開しているプログラムでは、時間の関係でとりあえずの状況なのですが、実際にアプリケーションを作る場合は、ログをどうとるかは結構重要だと思っています。

C#で実際に同じようなプログラムを書いてみて、実務的にいえば C# は十分優秀だと思います。LINQ や 今回は使っていませんが await async による非同期処理は便利です。ではどこが Ruby より劣るのかということを考えてみると、ブログの筆者のいう「rubyは面白いらしい」ということに尽きるのではないかと思います。それに、日本では情報量の差も大きいと思っています。

C#がどうすれば面白くなるかはよくわかりませんが、ブログの作者が巡回プログラムを作る動機になった「Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例」という本は、amazon.co.jp の「ソフトウェア・開発言語」で7位にランクされています。クローラーは意外と興味がある人が多いようなので、自分もクローラーであれば結構ネタはあるので、時々ブログに書いてみようと思っています。

統計API が本格運用を開始し、提供データが増加しています

2014年11月4日

総務省統計局及び独立行政法人統計センターが次世代統計利用システムで試行運用を行なっていた統計のAPI機能が、2014年10月30日から、政府統計の総合窓口(e-Stat)の API 機能として本格運用になりAPII機能で利用可能な統計データが統計局が所管する国勢調査などの23統計から、34統計が追加されたという報道がありました。

そこで、統計データ API エクスプローラ の API の URL を新しいものに変更してやると、問題なく追加された統計データが表示されました。追加された統計では、労働関係の「民間給与実態統計調査」、「毎月勤労統計調査」、「賃金構造基本統計調査」、医療関係の「医療施設調査」、「患者調査」、教育関係の「学校基本調査」、「学校教員統計調査」、「地方教育費統計調査」等があり、「統計データ API エクスプローラ」で表の内容を見てみると結構面白いことができそうに思います。

「統計データ API エクスプローラ」に関しては、自分が統計のAPIを使って開発するときに便利なツールという方向で開発していこうと思っています。

統計メモ帳のサイトが月3万PVを超えました

2014年11月2日

統計メモ帳」のサイトが、今月はページビューが前月より81%増加して、やっと月間で3万PVを超えることができました。

image

アクセスが増加した要因は、掲載順位が10以内に入るキーワードが増加して、検索での表示回数が84%増加したことです。

image

 

このサイトは、政府統計APIを中心に使っている「オープンデータ」のサイトなのですが、「オープンデータ」で食べていけるかというのが課題です。ちょっとした収入にするためにはアクセス数を現在の10倍ぐらいに増やす必要があります。また、このサイトだけで食べていこうと思えば最低でも月100万PVぐらいは必要になります。かなり厳しい道だと思います。

ただし、パソコンがあれば始められて必要経費はほぼゼロなので、チャレンジする価値はあると思います。今まで個人が「e-Stat」のようなページを作ることは不可能でしたが、データが公開されているので、これからは、個人で作ることも不可能ではありません。

これまでの経験からいえば、「0から3万PV」にするのと、「3万PVから30万PV」にするのと、どちらが難しいかといえば、「0から3万PV」にすることです。Google の検索に認識してもらうのにはかなりの期間が必要です。今回もどういうわけかこの時期になって掲載順位が上がりました。Webサイトの場合は粘り強く改善していくことが重要だと思っています。

 

Mashup Awards に応募してみました

2014年10月25日

統計メモ帳の「人口を可視化してみました」を Mashup Awards に応募してみました。昨日、Mashup Awards にオープンデータ部門があることを知って応募の作品リストをみると、オープンデータ部門の応募者が少なく、特に次世代統計利用システムのAPIを使っている作品は1点しかありませんでした。オープンデータについては、話題になることが多く、最近は各地でハッカソン等の催しが行われているので、かなり応募があるのかと思っていました。

自分は、次世代統計利用システムのAPIをよく使っているので、1点だけの応募では寂しいと思って応募することにしました。このページ自体は既に作っていたものなので、応募は簡単にできました。

image

「統計メモ帳」のサイトのアクセス数は、最近やっと月3万PVを超えたところで、その大半が「人口の可視化」の部分です。

image

このサイトをビジネス的にみたらかなり厳しいと思っています。オープンデータのデータを処理して、それをアプリに仕上げるのは、かなりの技術力と手間が必要です。「人口の可視化」の部分の制作で半月ぐらい時間をかけているし、これだけではビジネスにはならないので、どうやって収益化していくかを考えていく必要があります。これらの人件費のことを考えると採算をとるのは本当に厳しいです。応募者が少ないというのはアイデアだけでは無理で手間もかかるという所に原因があるのではと思っています。

でも、趣味的にやるというのであれば、経費は全くいらないです。特に、IT関係の人であれば、自分の技術力をステップアップさせるのにいいテーマだと思います。