GPS速度に基づいて矢印を作成して変位を表示する


8

GPSステーションの速度の矢印を表示できるシンボルをArcGISで作成できません。各GPSステーションの位置情報、速度、方向を含むポイントファイルがあります。添付した画像に似た地図を作成したい。矢印のサイズは同じですが、速度に基づいて長さが変わります。下記参照。

ここに画像の説明を入力してください

私の最初の本能は、段階的なシンボルを使うことでした。

回答:


12

私はあなたの最善の策はデータを線で表示することだと思います。

  • ポイントの周りに任意のサイズのバッファーを作成する
  • それらを線に変換する

Shapeフィールドに次のフィールド計算式(Python)を適用します。

def plineM (B,V,SCALE,shp):
 b=float(B);v=float(V)
 part=shp.getPart(0)
 buf=arcpy.Polygon(part)
 pC=buf.centroid
 X=pC.X+v*SCALE*math.cos(b/180*3.141593)
 Y=pC.Y+v*SCALE*math.sin(b/180*3.141593)
 newP=arcpy.Point(X,Y)
 pLine=arcpy.Polyline(arcpy.Array([pC,newP]))
 return pLine

----------------------------

plineM( !BEARING!, !Velocity!,0.5, !Shape! )

方位が東から反時計回りに度で表されていることを確認します

入力ポイントの表:

ここに画像の説明を入力してください

出力:

ここに画像の説明を入力してください

あなたはスケールファクターで遊んでみたいかもしれません。正しくない場合は、式を実行する前に行で編集セッションを開始してください。

更新:2020年1月

提案された表現を使用すると、カップルの人がエラー000539を報告しました。Veyの可能性が高い理由は、元のポイントの周囲に大きなバッファーがあり、その結果、バッファーがオーバーラップすることです。組み込みのArcGISツールを使用してバッファーをラインに変換している場合、ラインが2つの頂点で構成される場合があります。

ここに画像の説明を入力してください

考えられる回避策は、小さいバッファーを作成することです。


すばらしい答えです。間違いなく線はここに行く方法です。
Fezter

1
はい、そうでした。そうでなければ、なぜ投稿のポイント2ですか。別のアプローチは、ポリゴンテーブルの同じ数式を使用して終了座標を計算し、xyツールを使用してラインを作成することです。
FelixIP

1
上記のコメントを読んでください。これが機能しない場合は、実際のスクリプトに変換します。Arcgis計算機は、控えめに言っても、予測できない場合があります。
FelixIP

1
@JGISは更新された回答を参照してください。
FelixIP

1
考えられる理由は2つあります。a)お使いのPCがサインが何であるかを認識していない可能性があります。可能性が高い。
FelixIP

2

FelixIPは非常に洗練されたソリューションを提供しています。より単純な代替案は次のとおりです。

  1. ポイントレイヤーのシンボルを「グラデーションシンボル」に設定し、値をVELOCITYフィールドに設定します。
  2. [テンプレート]ボタンをクリックして、方位と速度を表すのに適した記号を選択します-この例では、ESRI Northフォントから矢印を選択しました。
  3. シンボルサイズの範囲を、マップで機能するいくつかの値に設定します(これらの値は後で調整できます)。
  4. [詳細]ボタンをクリックして、[回転]オプションを選択します。[回転]ウィンドウで、ドロップダウンボックスから[方位]フィールドを選択し、データに合わせて回転スタイルを選択します。

(1)

ステップ1

(2)

ステップ2

(4)

ステップ3

(結果例)

ステップ4


これらのシンボルは、ポイントが配置されている場所の中央に配置されることを指摘しておきます。これは、矢印の基点がプレビューのX軸と同じになるように手順2でポインターシンボルのYオフセットを変更することにより、矢印の始点がGPSポイントに位置するように変更できます。必要に応じて、ポイントレイヤーをシンボルに追加して、GPSポイントを表示することもできます。
アダム

1
あなたの提案をありがとう。ただし、矢印のサイズを調整するだけでなく、速度に基づいて矢印の長さが変化するソリューションを探していました。
dmariamp
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.