Membuat panah berdasarkan kecepatan GPS untuk menunjukkan perpindahan

8

Saya kesulitan membuat simbologi di ArcGIS yang dapat menunjukkan panah kecepatan stasiun GPS. Saya memiliki file titik dengan informasi lokasi, kecepatan dan arah setiap stasiun GPS. Saya ingin membuat peta yang mirip dengan gambar yang saya lampirkan. Ukuran panah tetap sama tetapi panjangnya berubah berdasarkan kecepatan. Lihat di bawah.

masukkan deskripsi gambar di sini

Naluriku yang pertama adalah menggunakan simbol-simbol bertingkat namun itu hanya menskalakan panah dan tidak merentangkannya.

dmariamp
sumber

Jawaban:

12

Saya pikir taruhan terbaik Anda adalah menyajikan data dengan garis.

  • Buat ukuran buffer di sekitar titik
  • Konversikan menjadi garis

Terapkan ekspresi kalkulator bidang (Python) berikut pada bidang Bentuk:

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! )

Pastikan bantalan Anda dinyatakan dalam derajat, berlawanan arah jarum jam dari Timur

TABEL POIN INPUT:

masukkan deskripsi gambar di sini

KELUARAN:

masukkan deskripsi gambar di sini

Anda mungkin ingin bermain dengan faktor skala. Catatan itu diuji pada shapefile, jika tidak, mulailah mengedit sesi pada baris sebelum menjalankan ekspresi.

PEMBARUAN: Januari 2020

Beberapa orang melaporkan KESALAHAN 000539 ketika menggunakan ekspresi yang disarankan. Alasan utama mereka adalah buffer besar di sekitar titik awal, menghasilkan buffer overlaps. Jika Anda menggunakan alat ArcGIS bawaan untuk mengonversi buffer ke garis, itu mungkin menghasilkan garis yang terbuat dari 2 simpul:

masukkan deskripsi gambar di sini

Kemungkinan solusinya adalah membuat buffer lebih kecil.

FelixIP
sumber
Jawaban yang bagus Garis yang pasti adalah cara untuk pergi ke sini.
Fezter
1
Ya, saya lakukan, jika tidak, mengapa poin 2 di posting? Pendekatan lain adalah menghitung koordinat ujung menggunakan rumus yang sama dalam tabel poligon dan menggunakan xy to line tool.
FelixIP
1
Baca komentar di atas. Jika ini tidak berhasil, konversikan ke skrip yang benar. Kalkulator Arcgis, dapat diprediksi, untuk sedikitnya.
FelixIP
1
@ JGIS lihat jawaban yang diperbarui.
FelixIP
1
Saya melihat 2 kemungkinan alasan: a) PC Anda tidak tahu apa itu sinus, tidak mungkin b) Anda tidak membaca posting saya dan menyatakan sudut dalam hal lain, tetapi derajat. Sangat mungkin.
FelixIP
2

FelixIP telah memberikan solusi yang cukup elegan. Alternatif yang lebih sederhana adalah:

  1. Setel Simbologi untuk layer titik Anda menjadi "Simbol Lulus", dengan Nilai ditetapkan ke bidang VELOCITY Anda.
  2. Klik tombol Templat untuk memilih simbol yang cocok untuk menggambarkan bantalan dan kecepatan - Saya memilih panah dari font ESRI Utara sebagai contoh.
  3. Tetapkan rentang Ukuran Simbol ke beberapa nilai yang akan berfungsi untuk peta Anda (Anda dapat menyaring nilai-nilai ini nanti).
  4. Klik tombol Advanced dan pilih opsi "Rotation". Di jendela Rotate, pilih bidang Bearing dari kotak drop-down, dan pilih gaya rotasi yang sesuai dengan data Anda.

(1)

Langkah 1

(2)

Langkah 2

(4)

Langkah 3

(Contoh hasil)

Langkah 4

Adam
sumber
Saya seharusnya menunjukkan bahwa simbol-simbol ini akan dipusatkan di tempat titik tersebut berada. Ini dapat diubah sehingga titik awal panah terletak di titik GPS dengan mengubah offset Y dari simbol penunjuk di langkah 2 sehingga pangkal panah sejajar dengan sumbu X dari pratinjau. Jika perlu, Anda juga bisa menambahkan layer titik ke simbol untuk menunjukkan titik GPS.
Adam
1
Terima kasih atas saran Anda. Namun saya sedang mencari solusi di mana panjang panah akan berubah berdasarkan kecepatan, bukan hanya skala ukuran panah.
dmariamp