J'ai des coordonnées de paires de points (points de début et de fin) que je dois transformer en lignes. Jusqu'à présent, j'utilisais un appendice des deux coordonnées dans a pippo.Point()
, a pippo.CalculateGeometry()
pour définir la géométrie de chaque piont, et pippo.append(defined geometry)
pour identifier la paire de points, puis PointsToLine pour obtenir ma ligne. C'est assez cher à faire pour des centaines de lignes.
Existe-t-il un moyen plus court de procéder?
Par exemple, placez le point de départ et le point d'arrivée de chaque ligne dans différents champs d'une même table et importez directement les lignes sans passer pour la géométrie des points.
J'ai créé un script python la semaine dernière (sans utiliser ArcPy cependant), qui prend des points qui créent la géométrie des lignes de bus (un point shp) en fonction d'un champ numérique séquentiel ("SEQ"). Vous pouvez facilement le modifier pour prendre les coordonnées d'un champ de la même entité (en utilisant la valeur du champ au lieu de la géométrie).
Chaque paire de points créera une seule ligne. Il peut y avoir une façon plus élégante de le faire, mais il a créé 3900 lignes en environ 15 secondes, donc cela fonctionne pour moi ...
la source
vous pouvez utiliser ces deux outils pour créer une couche d'événements XY et des points à aligner , en voyant les paramètres nécessaires en points à aligner (champ de ligne, trier les points) et mettre à jour les données de la table d'entrée, la tâche pourrait être plus simple
la source
ce n'est qu'une mise à jour de la réponse de @ ChadCooper, car les curseurs "da" remplacent désormais avantageusement les curseurs précédents:
la source