Memisahkan garis secara otomatis pada jarak tertentu menggunakan ArcGIS Desktop?


8

Saya memiliki satu set polyline yang perlu saya pisahkan pada jarak yang bervariasi dari titik awalnya.

Secara umum, saya mencari sesuatu yang mirip dengan fungsi SPLIT dalam alat editor. Ada kemungkinan untuk menentukan panjang garis tertentu di mana perpecahan harus diterapkan.

Sebagai contoh: Saya memiliki garis A dengan panjang 3200m, yang perlu saya bagi menjadi dua geometri yang terpisah, satu dari 0 hingga 1700m, dan satu dari 1700m hingga 3200m.

Apakah ini dapat dilakukan di ArcGIS Desktop?

Saya menggunakan ArcGIS Desktop 9.3.1. pada WinXP dengan Python 2.7.2.

Jawaban:


4

Anda dapat menggunakan ETGeowizards (Polyline-> Split Polyline). Jika Anda perlu memasukkan ini dalam skrip atau model geoproses, ETGeowizards dapat ditarik ke ModelBuilder.

Di PostGis Anda dapat menggunakan ST_Line_Substring


Satu-satunya batasan adalah lisensi. Anda tidak dapat menggunakan ET GeoWizzard dalam pembuat model tanpa lisensi. Secara manual, Anda dapat menggunakan ET untuk kelas featureseclass yang berisi kurang dari 100.
Tomek

Sayang sekali: Saya tidak bisa menginstal ETGeowiz di kantor saya. PostGIS juga tidak ada pilihan bagi saya ... Saya memikirkan segmentasi dinamis yang akan memberi saya poin untuk perpecahan. Tapi kemudian saya terjebak dengan apa yang baru saja saya posting di halaman ini: Saya tidak punya akses ke garis split pada alat titik.
LarsVegas

4

Ada alat Manajemen Data yang disebut Split Line At Point yang melakukan hal ini tetapi membutuhkan ArcGIS Desktop 10.0 (atau lebih baru), dan lisensi tingkat ArcInfo (kemudian disebut Tingkat Lanjut):

import arcpy
from arcpy import env

env.workspace="C:/data"
arcpy.SplitLineAtPoint_management("streets.shp","events.shp","splitline_out.shp","20 Meters")

1
Alat baris pada titik adalah apa yang saya cari. Sayangnya belum ada dengan ArcGis 9.3.1. Garis pada alat simpul tidak banyak membantu karena saya berakhir dengan seperseribu pemisahan yang tidak saya butuhkan.
LarsVegas

3

Saya telah menggunakan kelas ArcObjects ini untuk memisahkan fitur garis sebelumnya pada jarak tertentu.

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


1
Ini adalah add-on yang sangat menarik! Terima kasih telah berbagi informasi. Apakah Anda pernah menggunakannya dari dalam naskah? Saya perlu menerapkan split pada jarak yang bervariasi ke lebih dari 100 baris. Jadi yang saya butuhkan di sini adalah memanggil "Proportion" -tool dengan array jarak. Apakah itu mungkin? Terima kasih sobat!
LarsVegas

2
Karena Anda menggunakan 9.3.1, Anda bisa membuat makro VBA atau Visual Studio BaseCommand dll. edndoc.esri.com/arcobjects/9.2/NET/… . Kemudian Anda bisa beralih melalui layer Anda, memilih setiap fitur, dan membagi fitur mungkin dengan nilai bidang fitur (dibagi pada nilai jarak).
artwork21

1
Terima kasih, saya akan memeriksanya. Kedengarannya seperti banyak pekerjaan, terutama karena ini adalah terra incognita untuk saya. Mungkin lebih mudah menemukan seseorang dengan ArcGIS 10 terinstal dan biarkan dia menjalankan SplitLineAtPoint_management-tool.
LarsVegas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.