Tự động tách dòng ở khoảng cách cụ thể bằng ArcGIS Desktop?


8

Tôi có một bộ polylines mà tôi cần phải phân chia ở các khoảng cách khác nhau từ điểm bắt đầu của chúng.

Nói chung, tôi đang tìm kiếm một cái gì đó tương tự như chức năng SPLIT trong công cụ chỉnh sửa. Ở đó có thể chỉ định một độ dài dòng nhất định trong đó phân chia nên được áp dụng.

Ví dụ: Tôi có một dòng A có chiều dài 3200m, tôi cần chia thành hai hình học riêng biệt, một từ 0 đến 1700m và một từ 1700m đến 3200m.

Điều này có thể được thực hiện trong ArcGIS Desktop không?

Tôi đang sử dụng ArcGIS Desktop 9.3.1. trên WinXP với Python 2.7.2.

Câu trả lời:


4

Bạn có thể sử dụng ETGeowizards (Polyline-> Split Polyline). Nếu bạn cần đưa điều này vào mô hình tập lệnh hoặc xử lý địa lý, ETGeowizards có thể được kéo vào ModelBuilder.

Trong PostGis, bạn có thể sử dụng ST_Line_Sub chuỗi


Hạn chế duy nhất sẽ là giấy phép. Bạn không thể sử dụng ET GeoWizzard trong trình tạo mô hình mà không có giấy phép. Theo cách thủ công, bạn có thể sử dụng ET cho featureclass chứa ít hơn 100 tính năng.
Tomek

Quá tệ: Tôi không thể cài đặt ETGeowiz tại văn phòng của mình. PostGIS cũng không có tùy chọn nào cho tôi ... Tôi nghĩ về phân khúc động sẽ cho tôi điểm cho sự phân chia. Nhưng sau đó tôi bị mắc kẹt với những gì tôi vừa đăng xuống trang này: Tôi chưa có quyền truy cập vào đường phân chia tại công cụ điểm.
LarsVegas

4

Có một công cụ quản lý dữ liệu có tên là Split Line At Point thực hiện chính xác điều này nhưng nó yêu cầu ArcGIS Desktop 10.0 (hoặc mới hơn) và giấy phép cấp ArcInfo (sau này gọi là Nâng cao):

import arcpy
from arcpy import env

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

1
Dòng tại công cụ điểm là những gì tôi đang tìm kiếm. Thật không may, nó không tồn tại với ArcGis 9.3.1. Công cụ đường thẳng trên đỉnh không giúp được gì nhiều vì tôi kết thúc với hàng nghìn lần chia tách mà tôi không cần.
LarsVegas

3

Tôi đã sử dụng lớp ArcObjects này để phân chia các tính năng dòng trước ở khoảng cách cụ thể.

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


1
Đây là một tiện ích rất thú vị! Cảm ơn vì đã chia sẻ thông tin. Bạn đã bao giờ sử dụng nó từ trong một kịch bản? Tôi cần áp dụng các phân tách ở các khoảng cách khác nhau đến hơn 100 dòng. Vì vậy, những gì tôi cần ở đây là gọi "Tỷ lệ" -tool với một loạt các khoảng cách. Điều đó có thể không? Cảm ơn bạn đời!
LarsVegas

2
Vì bạn đang sử dụng 9.3.1, bạn có thể tạo macro VBA hoặc dll Visual Studio BaseCommand. edndoc.esri.com/arcobjects/9.2/NET/ . Sau đó, bạn có thể lặp qua lớp của mình, chọn từng tính năng và chia tách tính năng có thể bằng giá trị trường tính năng (chia theo giá trị khoảng cách).
nghệ thuật21

1
Cảm ơn, tôi sẽ xem xét nó. Nghe có vẻ như rất nhiều công việc, đặc biệt bởi vì đây là terra incognita đối với tôi. Có thể dễ dàng hơn để tìm ai đó có ArcGIS 10 được cài đặt và để anh ấy / cô ấy chạy SplitLineAtPoint_management-tool.
LarsVegas
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.