8 votos

¿Dividir las líneas automáticamente a distancias específicas utilizando ArcGIS Desktop?

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 determinada 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 de 0 a 1700m, y otra de 1700m a 3200m.

¿Se puede hacer esto en ArcGIS Desktop?

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

4voto

texai Puntos 178

Existe una herramienta de gestión de datos llamada Línea de división en el punto 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")

1 votos

La herramienta de línea en el punto es lo que estoy buscando. Desafortunadamente no existe con ArcGis 9.3.1 todavía. La herramienta de línea en los vértices no ayuda mucho porque termino con milésimas de divisiones que no necesito.

4voto

Nick Puntos 3115

Puede utilizar ETGeowizards (Polilínea->Dividir polilínea). Si necesitas incluir esto en un script o en un modelo de geoprocesamiento, ETGeowizards puede ser arrastrado a ModelBuilder.

En PostGis puede utilizar ST_Line_Substring

0 votos

La única restricción sería la licencia. Usted no puede utilizar ET GeoWizzard en el constructor de modelos sin licencia. Manualmente se puede utilizar ET para featureclass que contiene menos de 100 características.

0 votos

Lástima: no puedo instalar ETGeowiz en mi oficina. PostGIS tampoco es una opción para mí... He pensado en la segmentación dinámica que me dará los puntos para la división. Pero entonces me quedo con lo que acabo de publicar en esta página: No tengo acceso a la herramienta de dividir la línea en el punto.

3voto

Hameno Puntos 129

He utilizado esta clase ArcObjects para dividir las características de la línea antes en distancias específicas.

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

1 votos

Es un complemento muy interesante. Gracias por compartir la información. ¿Lo has usado alguna vez desde dentro de un script? Necesito aplicar splits a distintas distancias a más de 100 líneas. Así que lo que necesito es llamar a la herramienta "Proportion" con un array de distancias. ¿Es posible? Gracias amigo.

2 votos

Dado que está utilizando la versión 9.3.1, podría crear una macro VBA o una dll de Visual Studio BaseCommand. edndoc.esri.com/arcobjects/9.2/NET/ . Entonces podría iterar a través de su capa, seleccionando cada característica, y dividiendo la característica tal vez por el valor del campo de la característica (dividir en el valor de la distancia).

1 votos

Gracias, lo investigaré. Aunque parece mucho trabajo, sobre todo porque esto es terra incognita para mí. Podría ser más fácil de encontrar a alguien con ArcGIS 10 instalado y dejar que él / ella ejecutar el SplitLineAtPoint_management -herramienta.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X