本文へスキップ
OpenQRS
ツール
現在の言語: 日本語
100%プライベート

位置情報 QRコード作成

100%プライベート、ローカル処理 — データがブラウザの外に出ることはありません。これらのQRコードは恒久的で、期限切れになることはありません。

位置情報の設定

geo:はオープンな標準で、Androidが標準で処理します。相手の端末がまちまちなら、地図リンクのほうが安全です。

-90から90までの十進度です。赤道より南はマイナスになります。

緯度を、-90から90までの十進度で入力してください。

-180から180までの十進度です。グリニッジより西はマイナスになります。

?q=緯度,経度(ラベル) として付きます。geo:スキームに対するAndroidの拡張で、ほかのプラットフォームは無視します。

デザイン

モジュールの形
プリセット
コーナーの枠
中央にロゴを追加
画像を選択、またはここにドロップPNG, JPEG, WebPまたはGIF、1000 KBまで

画像はこのページ内で読み込まれ、data: URLとしてコードに埋め込まれます。アップロードはされず、ダウンロードするファイルの中に留まります。

その他のデザイン設定

コードの暗いほうの半分です。背景より明度を十分低く保ってください。

モジュール同士の隙間だけでなく、クワイエットゾーンも塗ります。背景を透過にするとファイルから省かれるので、この色では何も描画されません。

モジュールと背景のコントラストは11.5:1です。

プリセット

PNGとWebPはアルファチャンネルを保持し、SVGは背景の矩形をそのまま省きます。コードを置いた面が、コントラストの明るいほうの半分になります。

グラデーション

グラデーションは暗いモジュールだけを塗ります。明るいほうの端がスキャナーの実際に得るコントラストを決めるので、両端とも暗いままにする必要があります。

2色目で、グラデーションを選んでいる間だけ使われます。1色目と並べてコントラストが測定されます。

45°

左から右への向きを起点とした時計回りの角度です。放射グラデーションは中心から外へ広がるため、角度が効くのは線形のときだけです。

モジュールの形

丸い形はセルを覆う面積が小さくなります。デコーダーが標本を取る中心は覆われたままですが、密度の高いコードを小さく印刷する場合は四角のほうが安定して読み取れます。

コーナーの枠

3つの位置検出パターンの外枠です。

コーナーの中心

各位置検出パターンの中にある目にあたる部分です。

4モジュール

コードの周囲の余白で、モジュール単位で測ります。規格上の最小値は4です。

復元レベルが高いほど多くの損傷に耐えられますが容量を消費するため、同じ内容でもシンボルが密になります。

中央にロゴがあり、レベルをHに固定しています。幅の上限はシンボルに応じて変わり、最小のコードで14%、密なコードで30%です。

ライブプレビューと書き出し

書き出し

書き出し

ラスター、画面向け

フォームを入力するとダウンロードが有効になります。

書き出しサイズとエンコードされたテキスト
ペイロード
まだ何もエンコードされていません
シンボル
まだ生成されていません
復元レベル
Q

入力待ち

書き出しサイズ

64〜4096ピクセルの範囲。1024 pxで書き出します。

エンコードされたテキスト

ポスターや配達用の入口、登山道の標識に地点を載せます。座標はRFC 5870のgeo: URIになり、貼り付けた地図リンクは入力されたとおりにエンコードされます。

スキャンしたときの動作

座標モードではAndroid端末がgeo: URIを地図アプリに渡してピンを落とし、地図リンクモードではどの端末もブラウザか対応する地図アプリでリンクを開きます。

geo: URIとは何か、そしてどこで動くのか

RFC 5870はgeo:スキームを geo:緯度,経度 と定義しています。座標の組だけで、それ以上のものはありません。短く、どの地図事業者にも紐づかず、サーバーに問い合わせて解決することもないので、地点を書き留める方法としては誠実なやり方です。

対応状況は一様ではなく、その違いは印刷するものにとって重要です。Androidは2009年からこのスキームを登録していて、利用者が入れている地図アプリに渡します。Appleは登録したことがありません。素のiPhoneではgeo: URIをどの標準アプリも引き受けないため、カメラは生のテキストを表示するか、何も提示しないことがあります。iOS向けのサードパーティ製スキャナーアプリのいくつかは自前で処理し、Appleマップを開きます。

ピンのラベルが使っているのは、RFC 5870にあるものではなくAndroid独自のスキーム拡張です。Androidは ?q=緯度,経度(ラベル) を読んでマーカーの横にその文字を表示し、RFCだけに従うプラットフォームはクエリを丸ごと無視して、それでも正しい座標に着地します。

  • 座標だけ: geo:52.51628,13.37771
  • Androidのラベル付き: geo:52.51628,13.37771?q=52.51628,13.37771(通用口)

地図リンクを選んだほうがよい場合

その掲示を、通りかかった人なら誰でも読むという場合は、geo:よりも通常のhttpsリンクのほうが動きが予測できます。どのスマートフォンにもブラウザがありますし、主要な地図アプリはいずれも自社のWebアドレスを自分のものとして扱うので、多くの場合リンクはそのままアプリを開きます。

引き換えになるのは、地図リンクが事業者を名指しする点です。読み取った人はその会社のサーバーにリクエストを送ることになり、どの事業者を選ぶかが印刷物に焼き付きます。geo: URIは誰の名前も出さず、利用者がアプリを選ぶまで端末の中に留まります。

  • Googleマップ: https://www.google.com/maps?q=52.51628,13.37771
  • Appleマップ: https://maps.apple.com/?ll=52.51628,13.37771
  • OpenStreetMap: https://www.openstreetmap.org/?mlat=52.51628&mlon=13.37771

数字を正しく入れる

どちらの欄も、度分秒ではなく十進度を受け取ります。52°30'58.6"N としてコピーした値は、ここで意味を持つ前に変換しておく必要があります。そのまま貼り付けてもベルリン付近の地点にはならず、入力エラーになります。

精度は意識して決める価値があります。緯度1度はおよそ111 kmなので、小数第4位でおよそ11 m、第5位でおよそ1 mの範囲に絞り込めます。特定の入口を指すには十分です。経度の1度は極に近づくほど狭くなるので、同じ小数の桁数でも、赤道から離れるほど精度が上がります。小数第6位を超える桁はペイロードを長くするだけで、有用な精度は増えません。民生用のGPSがそこまで正確ではないからです。

ピンがずれる原因は、精度よりも符号の取り違えのほうがはるかに多くあります。緯度は赤道より南が負、経度はグリニッジより西が負で、マイナス記号が1つ落ちるだけで、何の警告もないまま反対の半球にピンが立ちます。

よくある質問

iPhoneで地図が開かず、テキストが表示されます。なぜですか?

iOSがgeo:スキームを登録していないためで、URIを引き受けるものがなく、スキャナーは表示にフォールバックします。地図リンクモードに切り替えて、httpsの地図URLを貼り付けてください。どのiPhoneでも開きます。Androidの利用者は、どちらでも影響を受けません。

座標の代わりに住所を入れられますか?

座標モードではできません。住所を地点に変えるにはジオコーディング、つまり事業者への問い合わせが必要ですが、このページはネットワークへのリクエストを一切行いません。地図アプリで住所を調べ、そこで得られたリンクをコピーして、地図リンクモードでエンコードしてください。

ラベルはピンの位置を変えますか?

変えません。位置を決めるのはパスの中の座標で、ラベルはAndroidのクエリ拡張が運ぶ表示用の文字です。仮にその場所を特定しているのがラベルだけだったとしても、クエリを無視するスマートフォンは、間違った場所ではなく、正しい場所に説明なしで着地します。

電波が届かない場所でもコードは動きますか?

読み取りは動きます。パターンの解読は完全にオフラインなので、スマートフォンはURIを読んで地図を開くかどうかを尋ねます。その地図が実際に描画されるかどうかは、地図アプリがその地域のオフライン地図を持っているかどうか次第で、QRコードがそれを供給することはできません。

静的QRコードの仕組み

このサイトのコードはすべて静的です。ペイロードは白黒のモジュールそのものに書き込まれています。読み取り時に何かを参照することはなく、当サイトのサーバーが関与することもなく、印刷されたコードをサブスクリプションが支えているわけでもありません。同じ性質が限界でもあります。一度印刷すると、中身は変更できません。

印刷したコードが読めるかどうかを決めるのは3つです。ペイロードが何バイトになったか、どの復元レベルが損傷を吸収するか、そして紙の上で1モジュールがどれだけの幅になるか。以下のガイドは、そのそれぞれを数字とともに扱います。