ArcPy का उपयोग करके टेम्पलेट फीचर क्लास से फिशनेट बनाना?


9

मैं उपकरण का उपयोग नहीं कर सकता चापलूसी। Fishnet_management क्योंकि एक "आकार" के साथ पैरामीटर "templateExtent" को परिभाषित करने के लिए यह स्वचालित रूप से "मूलकॉर्डिनेट" और "yAxisCoordinate" मापदंडों को नहीं भर रहा है।

import arcpy
from arcpy import env
env.overwriteOutput = True
env.workspace = r"D:\Users\julia\erste_aufg"

#Process: Create Fishnet
outFeatureClass = r"D:\Users\julia\erste_aufg\at001l_wien\at001l_wien\wien.shp"
cellSizeWidth = '200'
cellSizeHeight = '200'
templateExtent = r"D:\Users\julia\erste_aufg\at001l_wien\at001l_wien\at001l_wien.shp"

arcpy.CreateFishnet_management(outFeatureClass, "", "", cellSizeWidth, cellSizeHeight, '0', '0', "", "NO_LABELS", templateExtent, "POLYGON")

यहां छवि विवरण दर्ज करें

यह ModelBulider में काम कर रहा है, इसलिए ModelBulider की पृष्ठभूमि में कुछ चल रहा है कि जब यह एक "टेम्प्लेक्स्टेंट" हो, तो यह "ओरिजिऑकॉर्डिनेट" और "yAxisCoordinate" पैरामीटर बना सकता है। मैं सिर्फ पैरामीटर "templateExtent" होने से ArcPy में इस टूल को कैसे चला सकता हूं?

मुझे वास्तव में खुशी होगी अगर किसी के पास कोई समाधान है क्योंकि मुझे एक स्क्रिप्टटूल में फिशनेट की आवश्यकता है और एक के बिना नहीं जा सकता क्योंकि अंत में एक लूप है, इसलिए सीमा के मान हमेशा अलग होते हैं। पूरी स्क्रिप्ट का पहला भाग


क्या किसी को पता है कि हम उपरोक्त समाधान के हिस्से में 10 क्यों जोड़ते हैं? arcpy.CreateFishnet_management (fc [: - 4] + "_ c200.shp", str (desc.extent.lowerLeft), str (desc.extent.XMin) + "+ str (desc.extent.YMax + 10)," 200 "," 200 "," 0 "," 0 ", str (desc.extent.upperRight)," NO_LABELS "," # ","
POLYGON

यह प्रश्न का उत्तर प्रदान नहीं करता है। एक बार आपके पास पर्याप्त प्रतिष्ठा होने पर आप किसी भी पोस्ट पर टिप्पणी करने में सक्षम होंगे ; इसके बजाय, ऐसे उत्तर प्रदान करें जिन्हें पूछने वाले से स्पष्टीकरण की आवश्यकता न हो । - समीक्षा से
दान C

जवाबों:


14

यहाँ एक उदाहरण है। आपको किसी वर्णन ऑब्जेक्ट से बाउंडिंग बॉक्स को निकालने की आवश्यकता है।

desc = arcpy.Describe(fc)
arcpy.CreateFishnet_management(fc[:-4]+"_c200.shp",str(desc.extent.lowerLeft),str(desc.extent.XMin) + " " + str(desc.extent.YMax + 10),"200","200","0","0",str(desc.extent.upperRight),"NO_LABELS","#","POLYGON")

@@ radouxju, क्या का उद्देश्य है + 10में str(desc.extent.YMax + 10)?
माकपा

अच्छा प्रश्न। वास्तव में इस मामले में आवश्यक नहीं है। मुझे एक ऊर्ध्वाधर अक्ष बनाने के लिए यमन पर एक मनमाना मूल्य जोड़ने की आदत है, लेकिन यहां मैंने यमक्स का उपयोग किया है, इसलिए यह ओवरकिल है।
राडोक्सजू

4

यहाँ एक वैकल्पिक दृष्टिकोण है कि मैं एक फीचर वर्ग के भीतर प्रत्येक सुविधा के विस्तार के भीतर कई फिशनेट्स बनाने के लिए इस्तेमाल किया। Search_extents चर उस विशेषता वर्ग के पथ को परिभाषित करता है जिसे मैं बनाना चाहता था प्रत्येक फिशनेट के विस्तार को परिभाषित करता है। फिशनेट का कोई चक्कर नहीं था।

search_extents = "path to extents" 
rows = arcpy.SearchCursor(search_extents)
shapeName = arcpy.Describe(search_extents).shapeFieldName
for row in rows:
    print("Starting Extent" + row.getValue("Extent_Num"))
    feat = row.getValue(shapeName)
    extent = feat.extent
    arcpy.CreateFishnet_management(arcpy.env.workspace + "/extents/extentgrid" + row.getValue("Extent_Num"),str(extent.lowerLeft), str(extent.upperLeft),"0","0","200","200",str(extent.upperRight),"NO_LABELS","#","POLYGON")
    print("Finishing Extent" + row.getValue("Extent_Num"))

1

यहाँ कोड है कि मैं अंत में सफलतापूर्वक काम कर रहा हूँ (ऊपर दिए गए उदाहरणों की मदद से) यहाँ वर्णित समस्या को हल करने के लिए:

    env.workspace = "C:/Holly/Work/Projects/NavigationStudy2019/Data"

    # Fetch each feature from the cursor and examine the extent properties
    for row in arcpy.da.SearchCursor(feature_class, ['SHAPE@', 'id']):
        extent = row[0].extent
        print('Extent of home range {}:'.format(row[1]))
        print('XMin: {}, YMin: {}'.format(extent.XMin, extent.YMin))
        print('XMax: {}, YMax: {}'.format(extent.XMax, extent.YMax))
        arcpy.CreateFishnet_management("fishnet_temp.shp",
                                       str(extent.XMin) + " " + str(extent.YMax),
                                       str(extent.XMin) + " " + str(extent.YMax + 10),
                                       "100",
                                       "100",
                                       "",
                                       "",
                                       "",
                                       "LABELS",
                                       feature_class,
                                       "POLYGON")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.