blog.ishinao.net

156月/06

違いが分からない

はてな認証APIで返されるJSON形式のデータをZend_Json(のSubversion上の最新版)でデコードしようとするとエラーが出る。調べた結果、Zend_Json_Decorder::_eatWhitespace

'/(\t|\b|\f|\n|\r| )*/s'

という正規表現を、

'/[\t\b\f\n\r ]*/s'

に変えると正しく動作する(前者だとホワイトスペース除去がうまく動作しないせいで、Illegal Tokenになる)んだけど、その理由がわからない。

このエントリーを含むはてなブックマークはてなブックマーク - 違いが分からない Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
156月/06

駅の位置情報 初版公開

ひとまず機械的に作ったものにちょっとだけ手を加えた(コンバート中に気づいた元データの間違いらしい部分を修正+所属路線不明の駅を手作業でいくつか登録)ものを公開。これでもそれなりに使い物にはなるけれども、まだ完全にはほど遠い。

まず、データコンバート中に気がついたんだけど、元データにわずかながらバグが混ざっている模様(一つは配布元に報告済み)。データの不整合を起こすようなデータならば、わかりやすいんだけど、もしもコンバート上は問題ないけれども、意味的には間違っているデータが混在していた場合、それらを修正する必要がある。あと、私がコンバート作業中に持ち込んでしまったバグも混ざっている可能性がある。

続いて、missing.txtに列挙してある、機械的なコンバートでは所属路線が一つも登録されなかった駅(700件弱)について、その所属路線を確定する(railway_stationに追加)する必要がある。ちなみに手作業でいくつかやってみたけれども、

  • 同名の駅が複数ある場合に、正しい情報を特定するのがちょっと難しい
  • 駅や路線の統廃合、改名などによって現状には即していない内容があり得る

という話があって、扱いは結構微妙。特に後者の場合、路線情報のレベルからデータの整合性を取り直す必要が出てくる可能性がある。が、ひとまず路線情報は現状のものを生きとして、それに駅情報を一通り合わせるところからはじめようかと思っている。

また、現状のデータでは一つの駅は一つの路線にしか所属していない。が、実際には複数路線が乗り入れている駅が多々ある。そのようなデータについて、路線−駅リンクテーブル(railway_station)に追加していく必要がある。

また、現在路線−駅リンクテーブルには元データに登録されていた順序で駅を登録していっているんで、それなりに路線上の駅順に近い並びで駅が登録されているけれども、上記のような作業を行っていくうちに並び順がどんどんおかしくなっていくはず。

路線−駅リンクテーブルには、路線単位での駅順序ソートキー(station_order)を用意しているんで、一通りデータがそろった段階で、そのソートキーを使って駅順序を正しく指定できるようにしてやる必要がある。

と、完成度を高めるにはまだ作業が必要な感じだけれども、ひとまずサンプルアプリで適当な場所に移動してから、[現在地の最寄り駅に移動]で最寄り駅に移動していると、何となく楽しいんで、試してみてくださいな。

このエントリーを含むはてなブックマークはてなブックマーク - 駅の位置情報 初版公開 Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments
156月/06

リニューアル後の検索周りのサンプル

ひとまずAmazon検索で実装してみたけど、

/search/[type]/[query]?[その他パラメータ]

というURI構成で表現しきれるだろうか?

あとAllowEncodedSlashes周りでちょっとはまった。っつーかAllowEncodedSlashes Onにしても%2Fを含むURLのrewriteが通らないんだけど、情報が古いんだろうか? まあコードレベルで対応できそうだからさして重要じゃないんだけど。

このエントリーを含むはてなブックマークはてなブックマーク - リニューアル後の検索周りのサンプル Share on Tumblr このエントリをつぶやくこのWebページのtweets
Filed under: 日記 No Comments