আরকিপি ব্যবহার করে টেমপ্লেট বৈশিষ্ট্য শ্রেণি থেকে ফিশনেট তৈরি করছেন?


9

আমি আরকিপি টুলটি ব্যবহার করতে পারছি না C

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

এখানে চিত্র বর্ণনা লিখুন

এটি মডেলবুলাইডারে কাজ করছে, সুতরাং মডেলবুলাইডারের পটভূমিতে এমন কিছু চলছে যা এটিতে "টেম্পলেটএক্সেন্ট" থাকা অবস্থায় "অরিজিনকর্ডিনেট" এবং "yAxisCoordinate" প্যারামিটার তৈরি করতে পারে। "টেমপ্লেট এক্সট্যান্ট" মাত্রার প্যারামিটার রেখে আমি কীভাবে এই সরঞ্জামটি আরপপিতে চালাচ্ছি?

আমি যদি কারও সমাধান পেয়ে থাকি তবে আমি সত্যিই খুশি হব কারণ আমার কাছে স্ক্রিপ্টোলটিতে ফিশনেট দরকার এবং এটি ছাড়া যেতে পারব না কারণ শেষ পর্যন্ত একটি লুপ রয়েছে তাই ব্যাপ্তির মান সর্বদা আলাদা থাকে। পুরো স্ক্রিপ্টের প্রথম অংশ


কেউ কি জানেন যে কেন আমরা উপরের সমাধানের অংশে একটি 10 ​​যুক্ত করি? আরকিপি.ক্রিয়েটফিশনেট_ম্যানেজমেন্ট (এফসি [: - 4] + "_ সিসিএস.এসপি", আরআর (desc.extent.lowerLeft), str (desc.extent.XMin) + "" + str (desc.extent.YMax + 10), " 200 "," 200 "," 0 "," 0 ", টিআর (desc.extent.upperRight)," NO_LABELS "," # "," পলইগন ")
user5956986

উত্তর:


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)?
maycca

ভাল প্রশ্ন. আসলে এই ক্ষেত্রে প্রয়োজন হয় না। আমি উল্লম্ব অক্ষ তৈরির জন্য ইয়ামিনে একটি স্বেচ্ছাচারী মান যুক্ত করার অভ্যাস পেয়েছি, তবে এখানে আমি ইয়ম্যাক্স ব্যবহার করেছি, সুতরাং এটি ওভারকিল।
Radouxju

4

এখানে একটি বিকল্প পদ্ধতি যা আমি বৈশিষ্ট্য শ্রেণীর মধ্যে প্রতিটি বৈশিষ্ট্যের সীমাতে একাধিক ফিশনেট তৈরি করতে ব্যবহার করি। সার্চ_এক্সটেন্টস ভেরিয়েবলটি আমি তৈরি করতে চেয়েছি এমন প্রতিটি ফিশনেটের এক্সটেন্টগুলি সংজ্ঞায়িত করে সেই বৈশিষ্ট্য শ্রেণীর পাথ নির্ধারণ করে। ফিশনেটের কোনও ঘূর্ণন ছিল না।

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")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.