D&I Blog

このブログでは、今までに培ってきた技術的なことや、得意としている地図のことなどについて、幅広く取り扱っていこうと考えています。積極的に新しいことにチャレンジしたいメンバーもいるので、そのようなトピックも扱っていきたいと思います。

D&I BLOG

To mind the creative destruction

SSHを用いた接続設定の方法

説明に用いる環境

自分の端末(Mac)から開発用で新たに設置した端末へ、SSHを用いて接続します。 f:id:d-and-i:20160723213723p:plain

では、SSHの設定を行っていきましょう。

Mac側の設定に必要な手順

  1. ~/.sshに移動します。
  2. 公開鍵と暗号鍵を作成します。
  3. 秘密鍵パーミッションを変更します。
  4. configファイルを作成します。

具体的な手順

~/.sshに移動します。

// ~/.sshが存在するか確認
$ ls -la ~/.ssh

// ~/.sshが存在しなかった場合に新たに作成
$ mkdir ~/.ssh

// ~/.sshへ移動
$ cd ~/.ssh

公開鍵と暗号鍵を作成します。

// 例として公開鍵と暗号鍵の名前を rsa にしています。
// また、パスフレーズはここでは無しにしているので、何も入力せずに
// Enterを入力しています。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/XXXXXXXX/.ssh/id_rsa): rsa 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
+---[RSA 2048]----+
|   + . o+o.      |
|  = * =.+...     |
|.o.*.* = .  .    |
|o+o++ +    .     |
| o*... .S .      |
| E.=o..  o .     |
|. oo++  . .      |
| . o*.o          |
|  .+o. .         |
+----[SHA256]-----+

すると、~/.sshディレクトリには rsa (=秘密鍵)rsa.pub (=公開鍵) が作成されます。

秘密鍵パーミッションを変更します。

$ cd ~/.ssh
$ chmod 0600 rsa

configファイルを作成します。

$ cd ~/.ssh
$ touch config

なお、今回の環境においては、configファイルには以下の設定を行っておきます。

Host linux
  HostName 192.168.1.5 
  User develop
  Port 22
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile ~/.ssh/rsa
  IdentitiesOnly yes
  LogLevel FATAL

ここまでの設定状況をおさらい

f:id:d-and-i:20160723220321p:plain

Linux側の手順

  1. Macで作成した公開鍵を配置する。
  2. 公開鍵のパーミッションを変更する。

具体的な手順

Macで作成した rsa.pub(=公開鍵)を配置する。

配置先ディレクトリ:~.ssh
配置先ファイル名 :authorized_keys ※名前が変わっていることに注意

なお、rsa.pub(=公開鍵)をLinux側へコピーする手段としては、最初は共有フォルダやクラウド経由などで、コピーした方がてっとり早いかと思います。

公開鍵のパーミッションを変更する。

$ cd ~/.ssh
$ chmod 0600 authorized_keys

ここまでの設定状況のおさらい

f:id:d-and-i:20160723220942p:plain

動作確認方法

以下のコマンドが正しく通ることが確認できれば、設定完了です。

$ ssh linux

Safariによるレスポンシブデザインの確認方法

まずは準備から

  1. Safariを起動します。
  2. Safari」->「環境設定」->「詳細」タブを選択します。
  3. 「メニューバーに"開発"メニューを表示」というチェックボックスにチェックを入れます。 f:id:d-and-i:20160718133922p:plain

実際に確認してみましょう。

  1. レスポンシブデザインを確認するためのサイトに移動します。
  2. Safariのメニューバーより、「開発」->「レスポンシブ・デザイン・モードにする」を選択します。

すると画面の見た目が変わり、iPhoneiPadの製品が画面上部に表示され、それらを選択することにより画面の表示範囲が変更されるので簡単にデザインの確認が行えるようになります。 なお、Safariの開発機能の中には、IEChromeFirefoxなどのエミュレート機能も備わっていますので、活躍の場は広がりそうです。 f:id:d-and-i:20160718140737p:plain

最後に

私、今までPC向けのブラウザ、iPhoneiPadAndroidなどの各デバイスのサイズに応じたサイトの確認は、Firefoxのアドオンツールを使用していました。 しかし、今回紹介したSafariの開発ツールを使えば、Apple製品での確認がスムーズに行えることになりますので、これからも使う機会が増えていきそうと感じました。

GPSから自分の位置を取得する仕組み

今回は、GPSからの位置を取得する仕組みについて扱っていきたいと思います。

みなさんが手にしているスマートフォンなどは、今ではGPSの受信機が備わっているものが大半です。 このGPS受信機ですが、実際には地球上の周りをぐるぐる回っている衛星からの電波をキャッチすることで、位置を割り出しています。

この衛星から送られてくる電波には 発信時間 を含んで送信されており、スマートフォンなどのGPS受信機側での 受信時間 の差分時間から、 電波の速さ を元に 衛星からの距離 を算出しています。

この距離が分かると、 自分の位置が衛星からの距離内にいる ことが分かります。ただし衛星一つを受信するだけでは、その衛星が示す距離の範囲は広いため、自分の位置を特定するには至りません。

分かりやすく例えるならば電車内のつり革をイメージしてください。

電車の急発進や急停車・横揺れなどをした時には、つり革一つだと固定されていないため、体が前後左右に移動してしまい、自分の位置を固定(=特定)することが難しいですね。

では、もう少し自分の位置を特定する範囲を絞るためにはどうしたら良いのでしょうか?

それは、もう一つ衛星の電波をキャッチすることです。 こうすることによって、二つの衛星の電波が重なるところに、自分の位置が置かれているいうことが分かります。

先ほどの電車のつり革の例を再び挙げると、つり革を2つ掴むことで、体が左右に揺れることはなくなり、自分の位置を前後だけに固定することができるのです。

さらに、自分の位置を特定する範囲を絞るためにどうしたら良いのでしょうか? 感のいい方なら、すでに察しているかとは思います。 そうです。もう一つ衛星をつかめば良いのです。

一般的には、3つの衛星からの電波をキャッチすれば、おおよその自分の位置をつかむことができると言われています。しかし、より数多くの衛星電波を受信できると、自分の位置を特定できる精度は高くなります。

今回取り上げた、「GPSから自分の位置を取得する仕組み」は、スマートフォンの他にカーナビなどでも利用されています。

ただ、このカーナビについて次のような疑問が湧いてきました。

  • なぜGPS衛星の電波が届かないトンネルでも、カーナビは正しく自分の位置を示しているのでしょうか?
  • なぜカーナビはいつも道路上に自分の位置を示すことができているのでしょうか?

このあたりの疑問について、次回以降2回にわたって掘り下げていきたいと思います。

住所を入力して、その位置を表示する仕組みの裏側

これまで過去3回「住所」について触れてきました。

世の中にある地図サービスには、この「住所」を入力することで該当位置がすぐに表示されるので、場所を探したいときは非常に便利な機能です。

普段何気なく使っているこの機能ですが、どういう風に実現しているのでしょうか?

今回の記事では、裏側の仕組みについて探ってみたいとおもいます。

私たちが普段目にしている地図には、実は 緯度経度 と呼ばれる 位置座標 というものがあります。 緯度経度 については、みなさん小・中学生の時に習ったと思いますが、今一度簡単に復習してみると以下のようなイメージとなります。

  世の中にある地図サービスでは、

  • 都道府県ごと
  • 市区町村ごと
  • 大字ごと
  • 字丁目ごと
  • 街区ごと

に対して、 緯度経度 を付与しています。

そうすることで、

  1. 入力した住所と、予め用意されている住所とを比較
  2. 比較した結果から緯度経度を導きだし
  3. 導き出した結果から地図上でその場所を表示

する仕組みが実現できているのです。

最近においてはスマートフォンなどに搭載されているGPSから自分の位置を取得し、地図上の該当位置を表示することも当たり前になってきました。

次回は、GPSから自分の位置(緯度経度)を取得する仕組みについて探っていきたいと思います。

京都の通り名

今回は、京都(主に京都市内)で用いられている 通り名 という住所について紹介していきたいと思います。

早速ですが、以下の住所を見てください。

京都市中京区寺町通御池上る上本能寺前町488番地

この住所、実は 京都市役所 を指し示しています。

次に、以前紹介した地図サービスである いつもナビ の住所検索機能を用いて、上述住所を探し・該当位置を確認してみてください。

どうですか?無事に住所を探し出し、該当位置を確認できましたか????

おそらく、下図のように、 京都市中京区 までは探し出せるも、その後の住所は探し出せなかったのではないでしょうか。

これは、京都市内の特徴として、碁盤の目のように南北と東西の通りからなっているということに由来します。

それぞれの通りが交わる交差点を基準にして、該当場所がある方角を「上る」「下る」「東入る」「西入る」で示し、近くの目標物を住所に組み入れ、最後に番地をつけています。 ※送り仮名は、カタカナ もしくは 省略されることもある。

つまり、京都市役所(京都市中京区寺町通御池上る上本能寺前町488番地)の例では、

  • 寺町通御池通 の交差点を基準として
  • 北側に向かい( 上る )
  • 本能寺前( 上本能寺 )にある
  • 488番地

を示していることがわかります。

京都市内においては、通り名を覚えてしまうことができれば、京都市内においては場所をすぐに特定できるメリットがあります。しかし、たくさんある通り名を覚えるのは中々大変ですね。実際に京都市内に住んでいる方も同じなのですが、そういうときのために「京都の通り名の唄」というものがあるようです。

京都に行かれる際は、覚えておくといいことがあるかもです。

 
今回の記事は、塚田が担当しました。

住居番号の振り方

今回は、地図を検索する際にもよく利用する、建物の住所を示す「住居番号」の振り方について、紹介していきたいと思います。

「住居番号」は 建物 に対して割り振られていると書いてきました。しかし、 建物 に対して一意に割り振られていません。

例えば建物が2件あり、この建物の間にはこれまで畑があったのですが、この畑に家が建つことになりました。新たに建った家の「住居番号」は、果たして何番になるのでしょうか。

この場合、各自治体が定める基準に依りますが、多くの場合は「1」もしくは「2」となります。

では、なぜ「1」もしくは「2」となるのでしょうか。

ここで、大阪市の例を基にして解説してみます。

大阪市では、以下の基準に従って住居番号が付けられています。(大阪市住居表示実施基準より抜粋)

  1. 大阪城に近い街区の角を起点として原則として右廻りに街区の境界線をあらかじめ本市で定める一定の間隔(以下「フロンテージ」という。)に区切り、住居番号の基礎となるべき番号(以下「基礎番号」という。)を当該間隔に順次つけるものとする。

  2. 住居番号は、次の各号に該当する基礎番号をもって当該建物等の住居番号とする。

    • 建物等の主要な出入口が街区の境界となる道路に接している場合は、当該出入口が街区の境界線と接するところにつけられている基礎番号。
    • 建物等の主要な出入口が街区の境界となる道路から離れている場合は、当該建物等から道路への主要な通路が街区の境界線と接するところにつけられている基礎番号。
  3. フロンテージは、10メートルとする。

  4. 街区の一辺にフロンテージに5メートル未満の端数は生じたときは、その部分は、原則として、直前のフロンテージに加えて定める。

言葉だけでは、いまひとつ理解するのに時間がかかるので、これらを図で表してみます。

つまり、建物の出入り口がどの基礎番号に面するかによって、「住居表示」が割り当てられるということになります。

最初の問いに戻ります。 大阪市の基準に照らし合わせると、 「建物の出入口が面している基礎番号が住居番号となる」 というのが回答になりますね。

大阪で言えば、街区の起点を 大阪城 としているところがとてもユニークと感じました。

次回は、今回取り上げたテーマ「住所」に関連して、 京都の通り名 ついて取り上げていきたいと思います。

住所について考えてみる

前回の記事では、住所というのは 建物一軒一軒に対して与えられているものというように紹介しました。

今回からは、住所はどのようにして与えられているか?について焦点をあてていきたいと思います。

まず住所というのは、大きく分けて「地番」と「住居表示」というように2種類の表現があります。

その昔、住所といえば「地番」の方を指していました。これは 土地 に割り振られた住所を示すものです。

この割り振られた住所を持つ 土地 については、土地を持っていた地主さん等が、土地の貸借や売買などを行うにつれて、切り分けたり(分筆)一緒にしたり(合筆)することで、どんどんと地番が割り振られていきました。

この時、地番が割り振られる過程において、特に明確なルールがないことがほとんどであったために、その土地がどこにあるのかが、少しづつわからなくなってきました。

その土地がどこにあるのかわからなくなってきてしまうと、郵便物が届かなかったり・飛び地においては行政区をまたがってしまうなどの不便なことが発生するため、「住居表示に関する法律」が昭和32年に制定されました。

この「住居表示に関する法律」は、これまでの 土地 に対する「地番」ではなく、 建物 に対する「住居番号」で表すというものでした。つまり「住居表示」という言葉が、ここで初めて出てきました。

ここで「地番」と「住居表示」の表現方法の違いについて整理すると以下のようになります。

ただ、「住居表示に関する法律」が制定されたものの、実際に「住居表示」へと表記を変えかどうかは、各自治体に依るので、現在においても「地番」で表現している地区、「住居表示」で表現している地区が混在しています。

次回は、建物に対する「住居番号」の振り方について、例を交えながら紹介していきたいと思います。

今回の記事は、塚田が担当しました。