Tạo mũi tên dựa trên vận tốc GPS để hiển thị dịch chuyển


8

Tôi gặp sự cố khi tạo hệ thống ký hiệu trong ArcGIS có thể hiển thị mũi tên vận tốc của các trạm GPS. Tôi có một tệp điểm với thông tin vị trí, vận tốc và hướng của từng trạm GPS. Tôi muốn tạo một bản đồ tương tự như hình ảnh mà tôi đã đính kèm. Kích thước của các mũi tên giữ nguyên nhưng chiều dài thay đổi dựa trên vận tốc. Xem bên dưới.

nhập mô tả hình ảnh ở đây

Bản năng đầu tiên của tôi là sử dụng các biểu tượng tốt nghiệp tuy nhiên chỉ cần vảy mũi tên và không kéo dài chúng.

Câu trả lời:


12

Tôi nghĩ rằng đặt cược tốt nhất của bạn là trình bày dữ liệu theo dòng.

  • Tạo bất kỳ bộ đệm kích thước xung quanh các điểm
  • Chuyển đổi chúng thành dòng

Áp dụng biểu thức máy tính trường sau (Python) trên trường Shape:

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

Đảm bảo vòng bi của bạn được biểu thị theo độ, ngược chiều kim đồng hồ từ Đông

BẢNG ĐIỂM ĐẦU TƯ BẢNG:

nhập mô tả hình ảnh ở đây

ĐẦU RA:

nhập mô tả hình ảnh ở đây

Bạn có thể muốn chơi với yếu tố quy mô. Lưu ý rằng nó đã được thử nghiệm trên shapefile, nếu đó không phải là trường hợp bắt đầu phiên chỉnh sửa trên các dòng trước khi chạy biểu thức.

CẬP NHẬT: Tháng 1 năm 2020

Một vài người đã báo cáo ERROR 000539 khi sử dụng biểu thức được đề xuất. Vey có khả năng lý do là bộ đệm lớn xung quanh điểm ban đầu, dẫn đến chồng chéo bộ đệm. Nếu bạn đang sử dụng công cụ ArcGIS tích hợp để chuyển đổi bộ đệm thành các dòng, nó có thể dẫn đến các dòng được tạo bởi 2 đỉnh:

nhập mô tả hình ảnh ở đây

Cách giải quyết có thể là làm cho bộ đệm nhỏ hơn.


Câu trả lời chính xác. Chắc chắn các dòng là cách để đi đến đây.
Fezter

1
Có, tôi đã làm, nếu không tại sao điểm 2 trong bài? Một cách tiếp cận khác là tính tọa độ cuối bằng cách sử dụng cùng các công thức trong bảng đa giác và sử dụng công cụ xy to line.
FelixIP

1
Đọc ý kiến ​​trên. Nếu điều này không làm việc, chuyển đổi thành một kịch bản thực sự. Máy tính Arcgis, có thể không thể đoán trước, để nói rằng ít nhất.
FelixIP

1
@JGIS xem câu trả lời cập nhật.
FelixIP

1
Tôi thấy 2 lý do có thể xảy ra: a) PC của bạn không biết sin là gì, không chắc b) bạn đã không đọc bài viết của tôi và bày tỏ các góc độ trong một cái gì đó khác, nhưng độ. Rất có triễn vọng.
FelixIP

2

FelixIP đã cung cấp một giải pháp khá thanh lịch. Một thay thế đơn giản hơn sẽ là:

  1. Đặt Symbology cho lớp điểm của bạn thành "Biểu tượng tốt nghiệp", với Giá trị được đặt thành trường VELOCITY của bạn.
  2. Nhấp vào nút Mẫu để chọn một biểu tượng phù hợp để mô tả vòng bi và vận tốc - Tôi đã chọn một mũi tên từ phông chữ ESRI North làm ví dụ.
  3. Đặt phạm vi Kích thước Biểu tượng thành một số giá trị sẽ hoạt động cho bản đồ của bạn (bạn có thể tinh chỉnh các giá trị này sau).
  4. Nhấp vào nút Nâng cao và chọn tùy chọn "Xoay". Trong cửa sổ Xoay, chọn trường Vòng bi từ hộp thả xuống và chọn kiểu xoay cho phù hợp với dữ liệu của bạn.

(1)

Bước 1

(2)

Bước 2

(4)

Bước 3

(Kết quả ví dụ)

Bước 4


Tôi nên chỉ ra rằng những biểu tượng này sẽ được tập trung vào vị trí của điểm. Điều này có thể được thay đổi sao cho điểm bắt đầu của mũi tên nằm ở điểm GPS bằng cách thay đổi độ lệch Y của biểu tượng con trỏ ở bước 2 sao cho đế của mũi tên nằm ngang với trục X của bản xem trước. Nếu cần, bạn cũng có thể thêm một lớp điểm vào biểu tượng để hiển thị điểm GPS.
Adam

1
Cảm ơn đề nghị của bạn. Tuy nhiên, tôi đang tìm kiếm một giải pháp trong đó chiều dài của mũi tên sẽ thay đổi dựa trên vận tốc, không chỉ là quy mô kích thước của mũi tên.
dmariamp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.