福野泰介の一日一創 - create every day

データを磨こう! オープンデータの緯度経度チェッカー

2018/10/18
#opendata #codefor #SPARQL 

オープンデータという公共物、間違いを見つけたら、どんどん指摘して、キレイにしていきましょう。 いざ使ってみると、いろんなデータ間違いに出会います。

オープンデータ間違いの種類
1. 誤字・誤記(URL間違い)
2. 表記ゆれ(半角全角、空白の有無、略称などで発生しやすい)
3. 種別違い(数値のところが文字になってるなど)
4. 値がおかしい(緯度と経度を入れ間違っているなど)
5. 古い(リンク切れ、見つけ次第、新しくするか、IoTやCMSで自動更新化を検討)

越前ナビ」を作った際、なぜか地図が表示されないと思ったら、緯度と経度が逆になっているデータが混ざってました(間違い種:4)。応急措置として、変なデータは緯度経度を入れ替える形で対応しておきました。

今回は、緯度経度の間違いに絞って、それらを可視化するアプリ「緯度経度チェッカー」を作成。

緯度経度が範囲外にあるデータを取得する、SPARQLクエリーはこちら

prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix xsd: <http://www.w3.org/2001/XMLSchema#> prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> select ?uri ?name ?lat ?lng ?graph { graph ?graph { ?uri rdfs:label ?name; geo:lat ?lat; geo:lng ?lng. filter( xsd:float(?lat) > 90 || xsd:float(?lng) < -180 || xsd:float(?lat) < -90 || xsd:float(?lng) > 180 ) }}

日本の端の一覧 - Wikipedia」のデータを使って、日本範囲外のデータを抽出して表示しています。

最北端 択捉島・カモイワッカ岬 45.557777,148.753888 最南端 沖ノ鳥島・北小島 20.425182,136.069771 最東端 南鳥島・坂本崎 24.286666,153.980555 最西端 与那国島・西崎 24.449444,122.933611

データがキレイになると、気持ちよくプログラミングできますね

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像