Arcpy kullanarak bir vektör özelliği mevcut bir raster veri kümesinin ölçüsüne göre nasıl kırpılır


9

Ben (kontur aracından) bindirmeli (ekli bakınız) ile bir kırpılmış raster veri kümesi var. Çok basit görünen raster veri kümesinin ölçüsüne kadar çoklu çizgileri kırpmaya çalışıyorum, ancak birden çok şey denedim ve işe yaramayacak gibi görünüyor. Sonunda bunu arcpy kullanarak kodlamanız gerekecek, ancak şimdilik, hangi aracın bunu başaracağına dair doğru yönde bir dürtü bana yardımcı olacağını düşünüyorum.

Teşekkürler.

PS ArcInfo 10.0 kullanıyorum

clipPolylinesToRasterExtent

Yanıtlar:


12

Veri kümesi kapsamını , coğrafi işleme araçlarında geometrileri kullanma örneğinde olduğu gibi, klip aracıyla bir çokgen geometrisi olarak kullanabilirsiniz .

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")

Teşekkür ederim!! Bu gönderiyi görmeden önce, en azından elle Arc içinde yapabildim, ama yolum biraz kıvrılmış gibi görünüyor. Sahte bir şekil dosyası oluşturdum ve raster verilerinin sınırlarını belirleyen editör araçlarıyla bir çokgen oluşturdum. Daha sonra klips aracını, bu kukla şekil dosyasını da onları klipslemesi gereken şekilde kullanarak çoklu çizgiler üzerinde çalıştırdım. Bir hata aldım, ama sonra poligon özelliğini kullandım ve bunun sonucunu, kırpılacak olan hatların şekil dosyası olarak kullandım ve işe yaradı! Arcpy'ye ihtiyacım olacak, bunun için teşekkürler !! :-)
niklas24 25:02

2

Bunu yapmanın basit bir yolu var.

Önce raster görüntüsünün boyutunu elde edin.

onu çevresel kapsam özelliği olarak ayarla

Ardından, klip analizi yerine kopyalama özelliğini kullanın, örneğin

arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)
...some code here to ...
arcpy.CopyFeatures_management(shapefile,outFeatureClass)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.