Création de flèches basées sur les vitesses GPS pour montrer le déplacement

8

J'ai du mal à créer une symbologie dans ArcGIS qui peut afficher les flèches de vitesse des stations GPS. J'ai un fichier de points avec les informations de localisation, la vitesse et la direction de chaque station GPS. Je veux créer une carte similaire à l'image que j'ai jointe. La taille des flèches reste la même mais la longueur change en fonction de la vitesse. Voir ci-dessous.

entrez la description de l'image ici

Mon premier instinct a été d'utiliser des symboles gradués mais qui ne font qu'échelle les flèches et ne les étirent pas.

dmariamp
la source

Réponses:

12

Je pense que votre meilleur pari est de présenter les données par lignes.

  • Créez n'importe quel tampon de taille autour des points
  • Convertissez-les en lignes

Appliquer l'expression de calculatrice de champ suivante (Python) au champ 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! )

S'assurer que vos relèvements sont exprimés en degrés, dans le sens antihoraire de l'Est

TABLEAU DES POINTS D'ENTRÉE:

entrez la description de l'image ici

PRODUCTION:

entrez la description de l'image ici

Vous voudrez peut-être jouer avec le facteur d'échelle. Notez qu'il est testé sur le fichier de formes, si ce n'est pas le cas, commencez à éditer la session sur les lignes avant d'exécuter l'expression.

MISE À JOUR: janvier 2020

Quelques personnes ont signalé l'erreur 000539 lors de l'utilisation de l'expression suggérée. La raison probable est un grand tampon autour du point d'origine, entraînant des chevauchements de tampon. Si vous utilisez l'outil ArcGIS intégré pour convertir des tampons en lignes, cela peut entraîner des lignes composées de 2 sommets:

entrez la description de l'image ici

Une solution de contournement possible consiste à créer des tampons plus petits.

FelixIP
la source
Très bonne réponse. Les lignes sont certainement le chemin à parcourir ici.
Fezter
1
Oui, je l'ai fait, sinon pourquoi le point 2 dans le message? Une autre approche consiste à calculer les coordonnées de fin en utilisant les mêmes formules dans la table des polygones et à utiliser l'outil xy pour aligner.
FelixIP
1
Lisez les commentaires ci-dessus. Si cela ne fonctionne pas, convertissez-le en un vrai script. La calculatrice Arcgis, peut être imprévisible, pour dire le moins.
FelixIP
1
@JGIS voir la réponse mise à jour.
FelixIP
1
Je vois 2 raisons possibles: a) votre PC ne sait pas ce qu'est le sinus, peu probable b) vous n'avez pas lu mon article et exprimé des angles dans autre chose, mais en degrés. Hautement probable.
FelixIP
2

FelixIP a fourni une solution assez élégante. Une alternative plus simple serait:

  1. Réglez la symbologie de votre couche de points sur "Symboles gradués", avec la valeur définie sur votre champ VELOCITY.
  2. Cliquez sur le bouton Modèle pour sélectionner un symbole qui conviendrait pour représenter les relèvements et les vitesses - j'ai choisi une flèche dans la police ESRI North pour l'exemple.
  3. Définissez la plage de taille de symbole sur certaines valeurs qui fonctionneront pour votre carte (vous pouvez affiner ces valeurs plus tard).
  4. Cliquez sur le bouton Avancé et sélectionnez l'option "Rotation". Dans la fenêtre Rotation, sélectionnez le champ Relèvement dans la liste déroulante et choisissez le style de rotation adapté à vos données.

(1)

Étape 1

(2)

Étape 2

(4)

Étape 3

(Exemple de résultat)

Étape 4

Adam
la source
J'aurais dû souligner que ces symboles seront centrés sur l'emplacement du point. Cela peut être modifié de sorte que le point de départ de la flèche soit situé au point GPS en modifiant le décalage Y du symbole du pointeur à l'étape 2 afin que la base de la flèche soit au niveau de l'axe X de l'aperçu. Si nécessaire, vous pouvez également ajouter une couche de points au symbole pour afficher le point GPS.
Adam
1
Merci pour votre suggestion. Cependant, je cherchais une solution où la longueur de la flèche changerait en fonction de la vitesse, pas seulement de l'échelle de la taille de la flèche.
dmariamp