距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

このチュートリアルの目的は、LuckyTemplates で距離と方位を計算する方法、およびそれらを地理空間分析に効率的に使用する方法について説明することです。

距離の計算方法はウェブ上でたくさん見つかります。このデモンストレーションでは、サプライ チェーン ネットワーク プロジェクトの 1 つで構築する必要があったソリューションの簡略化された例を使用します。

距離と方位の計算: LuckyTemplates 地理空間分析

配達拠点からサービス拠点までの直線距離の計算も示します。

ここでは、 DAX メジャーを使用して距離を選択するスライサーがあります。これにより、選択した距離内の顧客、フロー、重量、収益、およびその他の値を動的に分析できます。

距離と方位の計算: LuckyTemplates 地理空間分析

ハーバーサイン公式としても知られる大圏距離の計算は、このチュートリアルの中核的な尺度です。このテクニックをマスターすれば、必要な距離と方位の計算に取り組むことができます。  

距離と方位の計算: LuckyTemplates 地理空間分析

私はほとんどの計算を Power Query で行うことを好みますが、選択可能な距離に基づいてデータを動的に分析する必要がある場合は、DAX メジャーを使用する必要があります。

利用可能な場合は、実際の距離が優先オプションになる可能性があります。ただし、直線距離で十分なため、多くの場合はこれは必要ありません。 

Google または Bing API を使用して、Power Query で実際の距離と直線距離の両方の距離を追加できます。地理空間ツールボックスにさらに多くのツールを含めることをお勧めします。ただし、LuckyTemplates への API の適用については、このチュートリアルでは説明しません。 

目次

シナリオを理解する

私は、最寄りの企業間の宅配ロッカーをサービス エンジニアの自宅住所に割り当てる手伝いを依頼されました。

サービス エンジニアは、時間の経過とともに変更される可能性がある事前に定義された作業エリアで働き、自宅からその仕事を始めました。

夜間、緊急のスペアパーツが宅配ロッカーに補充されました。翌朝、エンジニアは作業エリアに向かう途中で小包ロッカーからスペアパーツを受け取りました。 

通常、この種の分析にはGIS (地理情報システム) ソフトウェアを使用します。ここでは、LuckyTemplates を使用して動的割り当てモデルを取得してみます。また、直線距離と方位の計算の両方を使用しました。 

GISでは 、方位角はナビゲーションや方向に使用されます。この例では、距離自体では完全な解決策が提供されない ため、方向 ( Orientation )に変換される方位を追加しました。

距離と方位の計算: LuckyTemplates 地理空間分析

最寄りの宅配ロッカーは、作業エリアとは反対方向に位置している場合があります。なので、方向性も表示したいと思いました。

これにより、ロッカー割り当ての選択を、作業エリアに対応する地理的見出しに基づいて制限することができます。 

例として、作業エリアは自宅の北にあります。したがって、優先宅配ロッカーの場所は同じ方向にある必要があります。 

距離と方位データセットの分析

この単純化された例では、データセットはオランダの住所と無料の宅配ロッカーの場所で構成されています。

距離と方位の計算: LuckyTemplates 地理空間分析

これには、緯度経度(行き先と出発地)拠点名前部品値、および需要の列が含まれます。

距離と方位の計算: LuckyTemplates 地理空間分析

最初のテーブルの隣には、Excel での計算列と距離計算があります。まず、ラジアンを計算しました。

距離と方位の計算: LuckyTemplates 地理空間分析

次に、ラジアンとハーバーサインの公式を使用して、マイルとキロメートルの両方の実際の距離の計算を作成しました。 

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: デモ データの作成

方位の計算では、最初は度単位の 10 進数が得られます。したがって、これをより実用的なものに変換する必要があります。

1 ~ 360 の度数を含むテーブル列を作成しました。コンパスに従って方向を示す列も追加しました。

距離と方位の計算: LuckyTemplates 地理空間分析

さらに、LuckyTemplates で方向を時計回りに並べ替えるためのSORT列を追加しました。

距離と方位の計算: LuckyTemplates 地理空間分析

その後、sourceNLデータセットと方向テーブルを Power Query に読み込みました。

距離と方位の計算: LuckyTemplates 地理空間分析

sourceNLテーブルを見てみましょう。

列の追加

まず、インデックス列を追加しました。エディターで変換を行うときは、参照または並べ替えのためにインデックス列を追加します。

距離と方位の計算: LuckyTemplates 地理空間分析

次に、緯度と経度を 4 桁に四捨五入しました。これは、より大きなデータセットでは重要です。こうすることで、 11 メートルの精度が得られますが、それでも十分です。

距離と方位の計算: LuckyTemplates 地理空間分析

この例では、マップを表示するために各ステップを別の計算列に追加しました。Excel で行ったのと同じように、緯​​度と経度の値のラジアンを計算しました。

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

次に、Haversine の公式を適用して、マイルとキロメートルの両方の距離を計算しました。

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

方位と方向

ベアリングの計算は、Web から取得した別の式です。このシナリオの目的に合わせて少し調整しただけです。 

距離と方位の計算: LuckyTemplates 地理空間分析

最初は、この計算はラジアン単位で行われます。まったく無駄です。したがって、変換する必要があります。

これはベアリングの前段階です。これは、計算の次のステップでラジアンを変換するためです。  

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

次のステップでは、負の数値を変更し、この計算を適用して修正しました。

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

その後、Bearing を四捨五入して整数を取得しました。

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

Bearing (rad)Bearing pre、およびBearing列を削除しました。次に、Naar boven afronden 列の名前をBearing Roundupに変更しました。

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

これで、このテーブルのBearing Roundup列をOrientationテーブルのBEARING列とマージできるようになりました。

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位の計算: LuckyTemplates 地理空間分析

そうすることで方向性が見えてくるのです。

これで、次のモデルに使用する方位 ( Bearing Roundup ) 列と方向 ( Orientation_Direction ) 列ができました。

距離と方位の計算: LuckyTemplates 地理空間分析

Power Query での結果は次のとおりです。

距離と方位の計算: LuckyTemplates 地理空間分析

距離と方位を計算するための R スクリプト

この例では、 R スクリプトを使用したソリューションを使用します。これは、マイルとキロメートルで計算された距離を含むデータセットです。

距離と方位の計算: LuckyTemplates 地理空間分析

私はこのR スクリプトを実行していますが、これは数式よりもはるかに短く、クリーンです。

距離と方位の計算: LuckyTemplates 地理空間分析

R スクリプトを実行すると、テーブルが 3 つになりました。

距離と方位の計算: LuckyTemplates 地理空間分析

これが出力です。こちらも丸めておきました。

距離と方位の計算: LuckyTemplates 地理空間分析

ご覧のとおり、R スクリプトの計算と Excel の計算の結果は似ています。 

距離と方位の計算: LuckyTemplates 地理空間分析

マップビジュアルの追加

最後に、最終結果に視覚的な表示を追加します。

これを行うために、 LuckyTemplates レポートの手順を繰り返しました。テーブルに 3 つの場所をロードしました。また、Orientationテーブルとデータセット ( selectionNL )をSort列とともにロードしました。次に、Orientationの列を結合しました。

距離と方位の計算: LuckyTemplates 地理空間分析

これで最終モデルが完成します。

距離と方位の計算: LuckyTemplates 地理空間分析


地理空間分析 – LuckyTemplates データ視覚化に関する新しいコース
LuckyTemplates – ツールチップの動的マップ 空間
分析のための LuckyTemplates 形状マップ視覚化

結論

このレポートでは、お客様から見た方向を示すことにしました。好みに応じて、これを逆にすることも、レポートに両方を表示することもできます。必要なのは、計算において出発地と到着地の緯度と経度を交換することだけです。

このチュートリアルが、距離と方位の計算全般についての理解を深めることに貢献できれば幸いです。

その他の例や関連コンテンツについては、以下のリンクをご覧ください。

乾杯!

ポール


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。