आर्कपी का उपयोग करके एक मौजूदा रास्टर डेटासेट की सीमा तक एक वेक्टर सुविधा को कैसे क्लिप किया जाए


9

मेरे पास पॉलीइन्स (समोच्च उपकरण से) ओवरलेड (संलग्न देखें) के साथ एक क्लिपर रास्टर डेटासेट है। मैं पॉलिसियों को रास्टर डेटासेट की सीमा तक क्लिप करने की कोशिश कर रहा हूं, जो काफी सरल लगता है, लेकिन मैंने कई चीजों की कोशिश की है और इसे काम करने के लिए नहीं मिल सकता है। मुझे अंततः आर्कपी का उपयोग करके इसे कोड करने की आवश्यकता होगी, लेकिन मुझे लगता है कि अभी के लिए, बस सही दिशा में एक कुहनी से हल करना है कि यह किस उपकरण को पूरा करेगा जो मुझे अभी के लिए मदद करेगा।

धन्यवाद।

PS मैं ArcInfo 10.0 का उपयोग कर रहा हूं

clipPolylinesToRasterExtent

जवाबों:


12

आप क्लिप टूल के साथ बहुभुज ज्यामिति के रूप में डेटासेट का उपयोग कर सकते हैं, जैसा कि जियोप्रोसेसिंग टूल उदाहरण में ज्यामिति का उपयोग कर रहा है

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

धन्यवाद!! इस पोस्ट को देखने से पहले, मैं आर्क के भीतर कम से कम मैन्युअल रूप से करने में सक्षम था, लेकिन यह निश्चित रूप से लगता है कि मेरा तरीका थोड़ा जटिल है। मैंने एक डमी शेपफाइल बनाया और फिर एडिटर टूल्स के साथ एक बहुभुज का निर्माण किया, जिसने रास्टर डेटा की सीमा को रेखांकित किया। फिर मैंने इस डमी शेपफाइल का उपयोग करते हुए पॉलीइन्स पर क्लिप टूल चलाया क्योंकि यह उन्हें भी क्लिप करना चाहिए। मुझे एक त्रुटि मिली, लेकिन फिर मैंने बहुभुज को फीचर का उपयोग किया और इसके परिणाम का उपयोग पॉलीइन्स के लिए आकृति के रूप में किया गया ताकि इसे क्लिप किया जा सके और यह काम किया !! मुझे इसके लिए धन्यवाद की आवश्यकता होगी !! :-)
निकल्स

2

ऐसा करने का एक सरल तरीका है।

पहले रास्टर छवि की सीमा प्राप्त करें।

इसे पर्यावरण सीमा संपत्ति के रूप में सेट करें

उदाहरण के लिए, क्लिप विश्लेषण के बजाय कॉपी सुविधा का उपयोग करें

arcpy.env.extent = arcpy.Extent(-107.0, 38.0, -104.0, 40.0)
...some code here to ...
arcpy.CopyFeatures_management(shapefile,outFeatureClass)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.