FrogApps 技術ブログ始めました! RailsやiOS、HTML5の情報を発信中!! → http://qiita.com/teams/frogapps ここ数年、位置情報を使ったアプリ・サービスが増えましたが、GPSから取得出来る緯度経度だけではデータとして使いにくい事があります。 GoogleのGeocodingサービスなどで、緯度経度から住所への変換ができますが、件数や速度の問題があります。 そこで、国土交通省のデータを元に、緯度経度から住所への変換を行ってみましょう。 国土数値情報ダウンロードサービス http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html から全都道府県を選択。最新の情報を全都道府県分選択します。 PostGISのセットアップ http://trac.osgeo.org/postgis/wiki/
1. 導入 GeoJSON は様々な地理的データ構造をエンコードするためのフォーマットです。 GeoJSON オブジェクトはジオメトリ、フィーチャー、もしくはフィーチャーのコレクションを表現します。 GeoJSON は Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, そして GeometryCollection というジオメトリタイプをサポートします。 GeoJSON のフィーチャーはジオメトリオブジェクトと追加属性、 それからフィーチャーのリストを表現するフィーチャーコレクションを含みます。 完全な GeoJSON のデータ構造はいつも (JSONの用語でいう) オブジェクトです。 GeoJSON では、オブジェクトは名前と値の組 (メンバーとも呼びます) の集合で構成されます。 メンバーの名前
経度・緯度は配列またはハッシュとして保存します。今回はlocというフィールドに配列として保存します。yamanotesenというコレクションにinsertするクエリは、以下のようになります。 > db.yamanotesen.insert({ name:"五反田",loc: [ 139.723822, 35.625974 ] }); > db.yamanotesen.insert({ name:"恵比寿",loc: [ 139.710070, 35.646685 ] }); > db.yamanotesen.insert({ name:"新宿",loc: [ 139.700464, 35.689729 ] }); > db.yamanotesen.insert({ name:"新大久保",loc: [ 139.700261, 35.700875 ] }); > db.yamanotesen
MongoDB使ってますかー?便利ですよー? 最近、位置情報を処理するのにこのMongoDBを使っています。何故Mongoかと言うと 「この位置から500m以内の施設情報をヨコセ」 といった検索が超簡単にできるから。 論より証拠。 MongoDBには[緯度、経度]といった配列を含むデータをつっこんでおきます。こんな感じ。 [js] db.test.save({‘id’:’hoge’, ‘place’:’新宿駅’, ‘loc’:[35.690921, 139.700258]}); db.test.save({‘id’:’hoge’, ‘place’:’スタジオアルタ’, ‘loc’:[35.69271580036533, 139.70121502876282]}); db.test.save({‘id’:’test’, ‘place’:’東京都庁’, ‘loc’:[35.6894743099
MySQL 5.6登場!!新機能速攻レビュー - 漢(オトコ)のコンピュータ道 を見ていたら、MySQL5.6の新機能の1つとして、こんな紹介が。 OpenGIS ジオメトリデータの比較において、これまではMBR(minimum bounding rectangle ≒ 近似的な長方形)に基づいた比較しか出来なかったのだが、ジオメトリの正確な形に基づいた比較ができるバージョンの関数が追加された。例えばMBRバージョンのContains()に対して、ST_Contains()というように、ST_というプレフィックスのついたものが正確な比較をするバージョンとなる。 つまり、(私が使ったことがない)postGISをわざわざ使わなくても、使い慣れたMySQLだけで「この部分の記録を探したい!」という要求に簡単に答えられそうです。さっそく機能を作ってみました。 実際は4/22から検討開始して、今日や
(2011/04/15 追記) 広義の HTML5、狭義の HTML5 について追記しました もりやまです。 最近比較的余裕があるので色々調べたりしているのですが、今回はブラウザの位置情報取得機能(Geolocation API)について調べてみました。 携帯端末では昔から結構使われていましたが、今回調べてみたところ、ほとんどのモダンブラウザが対応していることがわかりました。 というわけで、ここにまとめてみます。 Geolocation API とは ホストデバイスに関連する地理的な位置情報へのスクリプトによるアクセスを提供する API です。 ザックリ言ってしまうと、ブラウザ上で動く JavaScript から現在の位置情報を取得するためのAPI の仕様、ということです。 W3C で策定中の規格で、現在は最終草案(Last Call Working Draft)の段階です。 よく「HTM
はじめに iPhoneなどのスマートフォンではGPSによる位置情報を使ったアプリケーションがよく使われています。その一方でGPS機能のないPCでも、最近のWebブラウザだとHTML5のGeoLocationのAPIで簡単に利用することが出来ます。 非常に便利な一方でこれが意図せぬ現在地情報の流出になるリスクもあります。携帯機器を移動先で使うのであれば然程神経質にならなくても良いかもしれませんが、PCなど固定の場所で使うものの場合はあまり宜しくない場合もあるでしょう。 今回は、Firefoxを使っている際、GeoLocationのAPIを利用可能としつつも現在位置を詐称する方法を紹介します。 Geolocatorアドオンの導入 FirefoxでGeolocater :: Add-ons for Firefoxページを開きます。
私が身銭を削って対応したiPhone版から遅れる事1年、ケータイ国盗り合戦がようやく昨年の12/21にAndroidに対応した。 私もちょうどIS03に機種変した後だったので、乗り換えを試してみたが、1/5までどうやっても乗り換え作業に失敗したため、機種変更ロジックすらまともに作れてないダメアプリとしてつぶやいてしまった。 が、これに関してはどうも私が中にいた時代に、自分のアカウントにごみデータを突っ込んでいたために、私だけうまく変更できなかっただけのようだった。 具体的には、ガラケーのRFC違反メアドの処理関連ロジックをテストするため、自分のメアドにわざとダブルクオーテーションを仕込んで、うまくメールが送れるか否かのテストをしたまま、放置していたのだった。 メアドが本人確認のキーになるので、そりゃキーにごみデータが含まれていれば処理も失敗するわなと。 これに関しては、自分のミス
2011年02月09日 何度も言うけど、位置詐称対策「技術」なんて本来の意味の技術じゃなくて大道芸だよ これ、何度も言ってるけど、位置詐称対策「技術」なんて本来の意味の技術じゃなくて大道芸です。 でも大道芸であるがゆえに、「技術」を「スポーツ」に例えるなら、スポーツならその競技に特化した身体能力だけ鍛えてればすむところを、「心理学」や「話術」も駆使しないといけないような、総合的な能力が要求されます。 身体的能力=物理的能力だけじゃ絶対に無理な、トリックを使って空中に浮いて見せる、みたいなのもこなさないといけないわけです。 先のエントリにブクマコメントがつきましたが、 weboo gis 残念ながら無駄な努力と言わざるを得ない そうなんですよね。 純粋な技術者視点だとそうとしか言いようがないんですよ。 私も、iPhone版をどうやって実現するか考えていて、JavaScriptの知識あ
2010年4月のサービスリリースから約5ヶ月、はてなの位置情報サービス「はてなココ」のユーザ数は現在34,000人。7月中旬にリリースされたiPhone版も好評な注目の「はてなココ」について、代表の近藤さんにお話を伺ってきました。サービスの特徴や、人気サービスを生み出す「はてな」のこだわりなど、たっぷりお伝えします。 はてな流、新サービスのつくり方 新しいサービスのリリースについて、「打率三割だけど失敗も数」と話す近藤さん。そんな彼が率いる「はてな」では、まず1週間ほどかけてプロトタイプを作るそう。仕様書を書いてその通りに作るのではなく、まず作って社員に実際に使ってもらう。ユーザを観察することでアイディアや偶然の発見があったり、そもそも一定量のユーザが楽しめるサービスかどうかを早くに見極めることが可能になる。これはイケる!と判断されたサービスだけが、その後2ヶ月ほどかけて一般ユーザへのリリ
GPS座標を短い文字列で扱えるGeoHashが面白い Tweet 2010/1/29 金曜日 matsui Posted in 記事紹介・リンク | 4 Comments » 位置情報を短い文字列で扱うことのできるGeoHashというのが面白いのでご紹介します。 ケータイのGPSなどから取得する座標は通常「緯度・経度」という形で扱われます。 「+141.22.35.364, +43.3.14.112」みたいな感じですね。 ところがGeoHashでは、この座標は文字列で表され「xpssbxt2gpf」となります。 面白いことにこの文字列は、座標のように「点」を表しているのではなく「範囲(グリッド)」を表しています。 そして、この文字列は長ければ長いほど詳細な情報を持ちます。 つまり文字列を短くすると、より広い範囲を表すことになります。 例えば上の文字列から3文字削った「xpssbxt2」は、
OHTSUKA Ko-hei @kokogiko @niryuu 後者の前提で一般的な話をすると、結局ケータイでの位置取得はGET/POSTでの経緯度通知にすぎないので、ユーザが嘘情報を流し込むと詐称されてしまいます。なので、確実に自分達のリンクから来たと検証する手段か、GET/POSTの送付先を知られないための隠蔽手段が必要。 2010-06-09 23:49:30 OHTSUKA Ko-hei @kokogiko 前者の場合、Cookieに1回限りの使い捨てセッション埋め込んだり、Refererをチェックしたりで防げます。最近はCookieやRefererに対応したケータイが主流になってきたので、古い(と言っても意外と最近までですが)DoCoMoケータイを無視するならこれが一番簡単かと。 2010-06-09 23:52:27
GlashVistaグラッシュビスタ|解約や返金・返品保証は電話やメールで可能?最安値で購入する方法も!
Firefox3.5から「位置情報通知機能」が使えるようになりました。これはIPアドレスや無線LANアクセスポイントの情報を利用して、GPSなしにクライアントの位置情報を取得するものです。 早速サンプルを作って試してみました。位置情報を取得してGoogle Maps APIで地図にその位置を表示します。ちなみにサンプルは iPhone の Safari でも動作します。 位置情報通知機能の仕組み この機能は Google Location Service を利用しているそうです。サイト側がユーザの位置情報を取得するには、JavaScriptで次のような処理を実装する必要があります。 navigator.geolocation.getCurrentPosition(function(position) { // コールバック処理 }); » Using geolocation – MDC ペ
GeoHash(http://en.wikipedia.org/wiki/Geohash)は、緯度経度を文字列のハッシュで表現する仕様です。 GeoHashにより表現された緯度経度の情報は、一つの文字列で緯度と経度という2次元の情報に加えて精度も表すことができるという特徴を持っています。 例えば、どうでしょうバカの聖地である北海道札幌市の平岸高台公園は、北緯43.025東経141.377ですが、これをGeoHashで表現すると、"xpssc0"となります。 この"xpssc0"というGeoHash表現は、「北緯43.0224609375から43.0279541015625の間で、東経141.3720703125から141.383056640625の矩形範囲」であり、座標はこの矩形範囲の中心点になります。 @masuidrive blogさんの緯度経度を文字列で表すGeoHash - @ma
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く