Ich denke, Ihre beste Wahl ist es, Daten zeilenweise darzustellen.
- Erstellen Sie einen Puffer beliebiger Größe um Punkte
- Konvertieren Sie sie in Zeilen
Wenden Sie den folgenden Feldrechnerausdruck (Python) auf das Formfeld an:
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! )
Stellen Sie sicher, dass Ihre Peilung in Grad gegen den Uhrzeigersinn von Osten ausgedrückt ist
EINGABEPUNKTTABELLE:
AUSGABE:
Vielleicht möchten Sie mit dem Skalierungsfaktor spielen. Beachten Sie, dass es auf Shapefile getestet wird. Wenn dies nicht der Fall ist, beginnen Sie mit der Bearbeitung der Sitzung in Zeilen, bevor Sie expression ausführen.
UPDATE: Januar 2020
Einige Personen meldeten FEHLER 000539, wenn sie den vorgeschlagenen Ausdruck verwendeten. Ein sehr wahrscheinlicher Grund ist ein großer Puffer um den ursprünglichen Punkt, was zu Pufferüberlappungen führt. Wenn Sie das integrierte ArcGIS-Tool verwenden, um Puffer in Linien zu konvertieren, kann dies zu Linien führen, die aus zwei Scheitelpunkten bestehen:
Mögliche Problemumgehung besteht darin, kleinere Puffer zu erstellen.