Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルの目的は、LuckyTemplates で距離と方位を計算する方法、およびそれらを地理空間分析に効率的に使用する方法について説明することです。
距離の計算方法はウェブ上でたくさん見つかります。このデモンストレーションでは、サプライ チェーン ネットワーク プロジェクトの 1 つで構築する必要があったソリューションの簡略化された例を使用します。
配達拠点からサービス拠点までの直線距離の計算も示します。
ここでは、 DAX メジャーを使用して距離を選択するスライサーがあります。これにより、選択した距離内の顧客、フロー、重量、収益、およびその他の値を動的に分析できます。
ハーバーサイン公式としても知られる大圏距離の計算は、このチュートリアルの中核的な尺度です。このテクニックをマスターすれば、必要な距離と方位の計算に取り組むことができます。
私はほとんどの計算を Power Query で行うことを好みますが、選択可能な距離に基づいてデータを動的に分析する必要がある場合は、DAX メジャーを使用する必要があります。
利用可能な場合は、実際の距離が優先オプションになる可能性があります。ただし、直線距離で十分なため、多くの場合はこれは必要ありません。
Google または Bing API を使用して、Power Query で実際の距離と直線距離の両方の距離を追加できます。地理空間ツールボックスにさらに多くのツールを含めることをお勧めします。ただし、LuckyTemplates への API の適用については、このチュートリアルでは説明しません。
目次
シナリオを理解する
私は、最寄りの企業間の宅配ロッカーをサービス エンジニアの自宅住所に割り当てる手伝いを依頼されました。
サービス エンジニアは、時間の経過とともに変更される可能性がある事前に定義された作業エリアで働き、自宅からその仕事を始めました。
夜間、緊急のスペアパーツが宅配ロッカーに補充されました。翌朝、エンジニアは作業エリアに向かう途中で小包ロッカーからスペアパーツを受け取りました。
通常、この種の分析にはGIS (地理情報システム) ソフトウェアを使用します。ここでは、LuckyTemplates を使用して動的割り当てモデルを取得してみます。また、直線距離と方位の計算の両方を使用しました。
GISでは 、方位角はナビゲーションや方向に使用されます。この例では、距離自体では完全な解決策が提供されない ため、方向 ( Orientation )に変換される方位を追加しました。
最寄りの宅配ロッカーは、作業エリアとは反対方向に位置している場合があります。なので、方向性も表示したいと思いました。
これにより、ロッカー割り当ての選択を、作業エリアに対応する地理的見出しに基づいて制限することができます。
例として、作業エリアは自宅の北にあります。したがって、優先宅配ロッカーの場所は同じ方向にある必要があります。
距離と方位データセットの分析
この単純化された例では、データセットはオランダの住所と無料の宅配ロッカーの場所で構成されています。
これには、緯度と経度(行き先と出発地)、拠点、名前、部品値、および需要の列が含まれます。
最初のテーブルの隣には、Excel での計算列と距離計算があります。まず、ラジアンを計算しました。
次に、ラジアンとハーバーサインの公式を使用して、マイルとキロメートルの両方の実際の距離の計算を作成しました。
距離と方位の計算: デモ データの作成
方位の計算では、最初は度単位の 10 進数が得られます。したがって、これをより実用的なものに変換する必要があります。
1 ~ 360 の度数を含むテーブル列を作成しました。コンパスに従って方向を示す列も追加しました。
さらに、LuckyTemplates で方向を時計回りに並べ替えるためのSORT列を追加しました。
その後、sourceNLデータセットと方向テーブルを Power Query に読み込みました。
sourceNLテーブルを見てみましょう。
列の追加
まず、インデックス列を追加しました。エディターで変換を行うときは、参照または並べ替えのためにインデックス列を追加します。
次に、緯度と経度を 4 桁に四捨五入しました。これは、より大きなデータセットでは重要です。こうすることで、 11 メートルの精度が得られますが、それでも十分です。
この例では、マップを表示するために各ステップを別の計算列に追加しました。Excel で行ったのと同じように、緯度と経度の値のラジアンを計算しました。
次に、Haversine の公式を適用して、マイルとキロメートルの両方の距離を計算しました。
方位と方向
ベアリングの計算は、Web から取得した別の式です。このシナリオの目的に合わせて少し調整しただけです。
最初は、この計算はラジアン単位で行われます。まったく無駄です。したがって、変換する必要があります。
これはベアリングの前段階です。これは、計算の次のステップでラジアンを変換するためです。
次のステップでは、負の数値を変更し、この計算を適用して修正しました。
その後、Bearing を四捨五入して整数を取得しました。
Bearing (rad)、Bearing pre、およびBearing列を削除しました。次に、Naar boven afronden 列の名前をBearing Roundupに変更しました。
これで、このテーブルのBearing Roundup列をOrientationテーブルのBEARING列とマージできるようになりました。
そうすることで方向性が見えてくるのです。
これで、次のモデルに使用する方位 ( Bearing Roundup ) 列と方向 ( Orientation_Direction ) 列ができました。
Power Query での結果は次のとおりです。
距離と方位を計算するための R スクリプト
この例では、 R スクリプトを使用したソリューションを使用します。これは、マイルとキロメートルで計算された距離を含むデータセットです。
私はこのR スクリプトを実行していますが、これは数式よりもはるかに短く、クリーンです。
R スクリプトを実行すると、テーブルが 3 つになりました。
これが出力です。こちらも丸めておきました。
ご覧のとおり、R スクリプトの計算と Excel の計算の結果は似ています。
マップビジュアルの追加
最後に、最終結果に視覚的な表示を追加します。
これを行うために、 LuckyTemplates レポートの手順を繰り返しました。テーブルに 3 つの場所をロードしました。また、Orientationテーブルとデータセット ( selectionNL )をSort列とともにロードしました。次に、Orientationの列を結合しました。
これで最終モデルが完成します。
地理空間分析 – LuckyTemplates データ視覚化に関する新しいコース
LuckyTemplates – ツールチップの動的マップ 空間
分析のための LuckyTemplates 形状マップ視覚化
結論
このレポートでは、お客様から見た方向を示すことにしました。好みに応じて、これを逆にすることも、レポートに両方を表示することもできます。必要なのは、計算において出発地と到着地の緯度と経度を交換することだけです。
このチュートリアルが、距離と方位の計算全般についての理解を深めることに貢献できれば幸いです。
その他の例や関連コンテンツについては、以下のリンクをご覧ください。
乾杯!
ポール
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて