Cách cắt một tính năng vectơ đến mức của bộ dữ liệu raster hiện có bằng cách sử dụng arcpy


9

Tôi có một bộ dữ liệu raster clipped với polylines (từ công cụ đường viền) được phủ lên (xem đính kèm). Tôi đang cố gắng cắt các polylines đến mức dữ liệu raster, có vẻ đơn giản, nhưng tôi đã thử nhiều thứ và dường như không thể làm cho nó hoạt động được. Cuối cùng tôi sẽ cần phải viết mã này bằng arcpy nhưng tôi nghĩ bây giờ, chỉ cần một cú huých đúng hướng là công cụ nào sẽ thực hiện điều này sẽ giúp tôi ngay bây giờ.

Cảm ơn.

PS Tôi đang sử dụng ArcInfo 10.0

clipPolylinesToRasterExtent

Câu trả lời:


12

Bạn có thể sử dụng phạm vi tập dữ liệu dưới dạng hình học đa giác với công cụ clip, như trong ví dụ Sử dụng hình học trong công cụ xử lý địa lý .

import arcpy

pnt_array = arcpy.Array()
extent = arcpy.Raster(in_raster).extent
pnt_array.add(extent.lowerLeft)
pnt_array.add(extent.lowerRight)
pnt_array.add(extent.upperRight)
pnt_array.add(extent.upperLeft)

poly = arcpy.Polygon(pnt_array)

arcpy.Clip_analysis(in_lines, poly, "out_dataset")

Cảm ơn bạn!! Trước khi tôi thấy bài đăng này, tôi ít nhất có thể tự làm nó trong Arc, nhưng có vẻ như cách của tôi hơi phức tạp. Tôi đã tạo một shapefile giả và sau đó xây dựng một đa giác với các công cụ soạn thảo phác thảo ranh giới của dữ liệu raster. Sau đó, tôi chạy công cụ clip trên các polylines bằng cách sử dụng shapefile giả này như những gì nó cũng nên cắt chúng. Tôi đã gặp một lỗi, nhưng sau đó tôi đã sử dụng tính năng cho đa giác và sử dụng kết quả của điều này như là shapefile cho các polylines được cắt và nó hoạt động !! Tôi sẽ cần Arcpy vì vậy cảm ơn vì điều đó !! :-)
niklas24

2

Có một cách đơn giản để làm điều này.

Đầu tiên có được phạm vi của hình ảnh raster.

đặt nó làm tài sản phạm vi môi trường

Sau đó, sử dụng tính năng sao chép thay vì phân tích clip, ví dụ

arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)
...some code here to ...
arcpy.CopyFeatures_management(shapefile,outFeatureClass)
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.