MULTISOUP

MULTISOUP

MULTISOUP

マルティスープ
Staff Blog

Introduction example

2023.03.23

地図上の距離を計算してみよう!!

PostGISを使って、地図上の距離を計算してみよう‼

みなさん、こんにちは。
4月に入ると、入学したり、入社したり、新年度や新シーズンを迎えたりといった始まりの季節ですね。
何かを新しく始めたり、挑戦したりするには良いタイミングかもしれません。
もうすぐ4月になりますが、新しい季節へ向けた取り組みをしてみませんか?

 

まずは、位置情報に関して、簡単に取り組めるところを一つご紹介させていただきます。

今回は、PostGISにある「ST_DistanceSphere関数」を 利用して、地点間距離を計算してみようと思います。
※検証する場合は、postgresqlとPostGISが使える環境でお試しください。

 

 

ST_DistanceSphere関数

こちらの関数では、簡単に説明しますと、平面上の2点間距離を算出する関数となります。

 

②計算する座標を取得します。

当社付近の座標、下記のポイントを結んだ線(黄色の線)の距離を求めます。

  • ・point1(35.692510, 139.759723)
  • ・point2(35.692195, 139.7609188371456)
  • ・point3(35.69279756, 139.762)

 

staticmap4

 

③SQL

SELECT ST_DistanceSphere(point1, point2) + ST_DistanceSphere(point2, point3) As distance FROM ( SELECT ST_GeomFromText(‘POINT(139.759723 35.692510)’,4326) As point1, ST_GeomFromText(‘POINT(139.7609188371456 35.692195)’,4326) As point2, ST_GeomFromText(‘POINT(139.762 35.69279756)’,4326) As point3 ) locations

※実際使う際には、新しいテーブルを作成して、座標(lat, lng)データやジオメトリ型のカラムを用意して試してみましょう。

staticmap4

約232m程度になりますね。

 

 

 

このようにバックエンド側でも地点間距離を計算できますね。
地図上に表示したり、地点間距離を出したりするのは、クライアント側で対応することが多いと思いますが、 バックエンド側でも取り組めると、開発できる選択肢が広がりますね。

また、以前、ご紹介させていただいたVuejs紹介シリーズで 地図上に線を描画しながら試すとわかりやすいかと思いますので、試してみてくださいね。

他にもPostGIS関数には ジオメトリ型の面積の算出、 方位を求めたり、 エリア内に位置情報があるかどうかを判定できたりします。

 

いかがでしょうか?
ちょっとしたことでも位置情報を可視化したり、数値化したりできますね。
今までやってきたことや興味を持ったことについて、何か一つ新しい事へ向けてチャレンジしてみませんか?

 

 

バイ!

 

 

 

 

地図や位置情報を用いたシステムのご提案・開発ならマルティスープへ

マルティスープは、創業以来のGISとモバイル開発の実績と技術力で、営業支援システムやリサーチ・公共インフラ・工事・警備業界の現場を支援するシステム開発など、地図や位置情報を使った業務システムの導入のご提案や開発をいたします。

現場をつなぐコミュニケーションが屋内外業務のパフォーマンスを最大限に。マルティスープのiField(アイ・フィールド)®シリーズは、屋内外業務の現場の実力を減少させるコミュニケーション障壁を除き、使い慣れたスマートデバイスを使って 現場の実力をリアルに伝えるサービス。

位置・空間情報のエキスパート集団として一緒に働きませんか?

マルティスープは地図情報をはじめとする位置・空間情報技術のエキスパート集団です。当社で日々研究している地図や位置情報といった技術は、災害支援など貢献度の高いシステムとして使用されることもあれば、スマートフォンアプリのゲームとして使われることもあり、その利用用途・価値は、今後もますます広がっていっています。
私たちの企業理念は、「創る喜び、使う喜び」です。
今後の開発体制をより強化するために、新卒・中途問わず、当社の未来を共に創っていただける新メンバーを募集します!

【関連記事】こんな記事も読まれています

2016.08.25

Googleマップで過去の航空写真を見る

みなさん、こんにちは。

国土地理院が提供するタイル地図とGoogleマップの連携方法を説明します。

今回は、Googleマ・・・

続きを読む

2017.01.19

Distance Matrix API の使い方を考える

みなさん、こんにちは。

 

今回は、Distance Matrix API の使い方について説明いたします。

続きを読む

2018.06.28

新プランの Places API を調べてみました

みなさん、こんにちは。

新プラン Google Maps Platform の中で、 Places API の価格体系は、非常に細かく分類・・・

続きを読む

 - GIS