¿División de líneas automáticamente a distancias específicas con ArcGIS Desktop?

8

Tengo un conjunto de polilíneas que necesito dividir a diferentes distancias de sus puntos de partida.

En general, estoy buscando algo similar a la función SPLIT dentro de la herramienta de edición. Allí es posible especificar una cierta longitud de línea donde se debe aplicar la división.

Por ejemplo: tengo una línea A de 3200m de longitud, que necesito dividir en dos geometrías separadas, una desde 0 hasta 1700m, y otra desde 1700m hasta 3200m.

¿Se puede hacer esto en ArcGIS Desktop?

Estoy usando ArcGIS Desktop 9.3.1. en WinXP con Python 2.7.2.

LarsVegas
fuente

Respuestas:

4

Puede usar ETGeowizards (Polyline-> Split Polyline). Si necesita incluir esto en una secuencia de comandos o modelo de geoprocesamiento, ETGeowizards se puede incluir en ModelBuilder.

En PostGis puedes usar ST_Line_Substring

MappaGnosis
fuente
La única restricción sería la licencia. No puede usar ET GeoWizzard en el generador de modelos sin licencia. Manualmente, puede usar ET para la clase de entidad que contiene menos de 100 entidades.
Tomek
Lástima: no puedo instalar ETGeowiz en mi oficina. PostGIS tampoco es una opción para mí ... Pensé en la segmentación dinámica que me dará los puntos para la división. Pero luego estoy atascado con lo que acabo de publicar en esta página: no tengo acceso a la línea dividida en la herramienta de puntos.
LarsVegas
4

Hay una herramienta de gestión de datos llamada Split Line At Point que hace exactamente esto, pero requiere ArcGIS Desktop 10.0 (o posterior), y una licencia de nivel ArcInfo (más tarde llamada Advanced):

import arcpy
from arcpy import env

env.workspace="C:/data"
arcpy.SplitLineAtPoint_management("streets.shp","events.shp","splitline_out.shp","20 Meters")
Aragón
fuente
1
La herramienta de línea en el punto es lo que estoy buscando. Desafortunadamente, todavía no existe con ArcGis 9.3.1. La herramienta de línea en vértices no ayuda mucho porque termino con milésimas de divisiones que no necesito.
LarsVegas
3

He usado esta clase de ArcObjects para dividir entidades de línea antes a distancias específicas.

http://edndoc.esri.com/arcobjects/8.3/Samples/Editing/Edit%20Commands/Line%20Edit%20Toolbar/clsDivideLineFeatures.htm

artwork21
fuente
1
¡Este es un complemento muy interesante! Gracias por compartir la información. ¿Lo has usado alguna vez desde un script? Necesito aplicar divisiones a diferentes distancias a más de 100 líneas. Entonces, lo que necesito aquí es llamar a la herramienta "Proporción" con una variedad de distancias. ¿Es eso posible? ¡Gracias amigo!
LarsVegas
2
Como está utilizando 9.3.1, puede crear una macro VBA o una DLL de Visual Studio BaseCommand. edndoc.esri.com/arcobjects/9.2/NET/… . Luego, podría iterar a través de su capa, seleccionando cada entidad y dividiendo la entidad tal vez por el valor del campo de entidad (dividido en el valor de distancia).
artwork21
1
Gracias, lo investigaré. Sin embargo, parece mucho trabajo, especialmente porque esto es una incógnita para mí. Puede ser más fácil encontrar a alguien con ArcGIS 10 instalado y dejar que ejecute la SplitLineAtPoint_managementherramienta.
LarsVegas