Mit ArcGIS Desktop Linien automatisch in bestimmten Abständen teilen?

8

Ich habe eine Reihe von Polylinien, die ich in unterschiedlichen Abständen von ihren Startpunkten teilen muss.

Im Allgemeinen suche ich nach etwas ähnlichem wie der SPLIT-Funktion im Editor-Tool. Dort kann eine bestimmte Zeilenlänge angegeben werden, auf die die Aufteilung angewendet werden soll.

Zum Beispiel: Ich habe eine Linie A mit einer Länge von 3200 m, die ich in zwei separate Geometrien aufteilen muss, eine von 0 bis 1700 m und eine von 1700 m bis 3200 m.

Kann dies in ArcGIS Desktop durchgeführt werden?

Ich verwende ArcGIS Desktop 9.3.1. unter WinXP mit Python 2.7.2.

LarsVegas
quelle

Antworten:

4

Sie können ETGeowizards verwenden (Polylinie-> Polylinie teilen). Wenn Sie dies in ein Skript oder ein Geoverarbeitungsmodell aufnehmen müssen, können ETGeowizards in ModelBuilder gezogen werden.

In PostGis können Sie ST_Line_Substring verwenden

MappaGnosis
quelle
Die einzige Einschränkung wäre die Lizenz. Sie können ET GeoWizzard im Model Builder nicht ohne Lizenz verwenden. Manuell können Sie ET für Feature-Classes verwenden, die weniger als 100 Features enthalten.
Tomek
Schade: Ich kann ETGeowiz nicht in meinem Büro installieren. PostGIS auch für mich keine Option ... Ich habe über eine dynamische Segmentierung nachgedacht, die mir die Punkte für die Aufteilung gibt. Aber dann bleibe ich bei dem, was ich gerade auf dieser Seite gepostet habe: Ich habe keinen Zugriff auf das Trennlinien-Werkzeug am Punkt.
LarsVegas
4

Es gibt ein Datenverwaltungstool namens " Split Line At Point" , das genau dies tut, jedoch ArcGIS Desktop 10.0 (oder höher) und eine ArcInfo-Lizenz (später "Advanced") erforderlich erfordert:

import arcpy
from arcpy import env

env.workspace="C:/data"
arcpy.SplitLineAtPoint_management("streets.shp","events.shp","splitline_out.shp","20 Meters")
Aragon
quelle
1
Das Linien-zu-Punkt-Werkzeug ist das, wonach ich suche. Leider existiert es mit ArcGis 9.3.1 noch nicht. Das Werkzeug "Linie an Eckpunkten" hilft nicht viel, da ich am Ende Tausendstel von Teilungen habe, die ich nicht brauche.
LarsVegas
3

Ich habe diese ArcObjects-Klasse verwendet, um Linien-Features zuvor in bestimmten Abständen zu teilen.

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

Artwork21
quelle
1
Dies ist ein sehr interessantes Add-On! Vielen Dank für die Weitergabe der Informationen. Haben Sie es jemals in einem Skript verwendet? Ich muss Splits in unterschiedlichen Abständen auf mehr als 100 Zeilen anwenden. Was ich hier also brauche, ist das "Proportion" -Tool mit einer Reihe von Entfernungen zu nennen. Ist das möglich? Danke Kumpel!
LarsVegas
2
Da Sie 9.3.1 verwenden, können Sie entweder ein VBA-Makro oder eine Visual Studio BaseCommand-DLL erstellen. edndoc.esri.com/arcobjects/9.2/NET/… . Anschließend können Sie Ihre Ebene durchlaufen, jedes Feature auswählen und das Feature möglicherweise durch den Feature-Feldwert (auf Entfernungswert aufgeteilt) teilen.
Artwork21
1
Danke, ich werde mich darum kümmern. Klingt nach viel Arbeit, vor allem, weil das für mich Terra Incognita ist. Es könnte einfacher sein, jemanden mit installiertem ArcGIS 10 zu finden und ihn das SplitLineAtPoint_managementTool ausführen zu lassen.
LarsVegas