Tengo una capa puramente estética que tiene símbolos de flecha. Algunos no aparecen correctamente porque la línea es demasiado pequeña. He seleccionado unos 50 registros en los que necesito extender esta línea en un número determinado (por ejemplo, 2 metros). La herramienta de extensión de línea solo extiende líneas a una intersección específica, por lo que esta herramienta no es lo que estoy buscando.
He intentado editar el campo de longitud de forma pero no me lo permite. ¿Hay una manera simple de hacerlo a través de la calculadora de campo o dentro de la barra de herramientas del editor?
arcgis-desktop
arcgis-10.1
line
extend
GISKid
fuente
fuente
Respuestas:
Bueno, creo que lo he conseguido por líneas de cualquier conteo de vértices. No he intentado líneas multiparte ya que nunca lo he jugado en arcpy. La codificación se hizo un poco más difícil ya que no hay acceso de escritura a la propiedad lastPoint para los objetos Geometry. En lugar de usar la pendiente (que era mi pensamiento inicial), usé el código de esta pregunta SO . No depende de la trigonometría, por lo que debería ser un poco más eficiente. El siguiente código funciona moviendo el punto final de una línea a una nueva coordenada que se encuentra a lo largo de la prolongación de una línea desde los últimos dos vértices. Lo probé en un archivo shape.
Establecí la simbología en flecha al final para las categorías basadas en OID para que sea más fácil ver la separación entre características. El etiquetado se configuró para contar vértices.
fuente
¿Qué pasa si hace una selección de las líneas que desea extender?
Guarda esas líneas en la cantidad de extensión deseada.
Convierta eso en una línea fc.
Luego extienda a la intersección.
Es posible que tenga que romper y eliminar el otro extremo del búfer para evitar superponer la línea en el medio. (No he visto una captura de pantalla de lo que tienes o quieres hacer)
O creo que hay una herramienta en ettools (estoy revisando para ver la funcionalidad y si es gratis)
No encontré nada útil en et tools que hice encuentre este hilo para algún código vb (antiguo). y una solicitud de algo de pitón. puede seguirlo y consultar el sitio web ideas.arcgis.com .
fuente
Aquí hay un método que funciona con polilíneas de varias partes compuestas de cualquier número de puntos de nodo. Utiliza el código abierto GIS Whitebox GAT ( http://www.uoguelph.ca/~hydrogeo/Whitebox/ ). Simplemente descargue Whitebox, abra el Scripter (icono de script en la barra de herramientas), cambie el lenguaje de scripting a Groovy, pegue el siguiente código y guárdelo como 'ExtendVectorLines.groovy'. Puede ejecutarlo desde el Scripter o, la próxima vez que inicie Whitebox, aparecerá como una herramienta de complemento dentro de la caja de herramientas de Vector Tools. Toma un archivo de forma y una distancia extendida como entradas. Incluiré la herramienta en el próximo lanzamiento público de Whitebox GAT.
fuente