মডেলবিল্ডার ব্যবহার করে বৈশিষ্ট্য শ্রেণীর আউটপুট ফাইলের নামগুলি ইটারেটিং করা?


11

আমি মডেল বিল্ডারে একাধিক ফিচার ক্লাস (বহুভুজ) পুনরাবৃত্তি করার চেষ্টা করছি যা বহুভুজের একটি সিরিজকে রাস্টারগুলিতে রূপান্তর করতে পারে, তবে আউটপুট ফাইলের নাম নিয়ে আমার সমস্যা হচ্ছে।

মডেল বিল্ডার উইন্ডোতে "পুনরাবৃত্তি বৈশিষ্ট্য শ্রেণি" সরঞ্জামটি সন্নিবেশ করার পরে এবং আমার জিডিবি'র সাথে সমস্ত বহুভুজকে ইনপুট হিসাবে সংরক্ষণ করার পরে আউটপুট বৈশিষ্ট্য (সবুজ বুদ্বুদ) স্বয়ংক্রিয়ভাবে আমার প্রথম বহুভুজের নাম হয়ে যায়। ফলস্বরূপ আমি যে মডেলটি চালানোর চেষ্টা করেছি সেটি তালিকার পরবর্তী বহুভুতে যাওয়ার পরিবর্তে সেই নামক বহুভুজটির পুনরাবৃত্তি বলে মনে হচ্ছে। আউটপুট রাস্টারগুলি তৈরি করা হয়, তবে পরবর্তী বহুভুজের সাথে মেলে এমন একটি নতুন নামের সাথে একটি নতুন রাস্টার তৈরি করার পরিবর্তে সেই ফাইলের নামটি ওভাররাইট করুন।

আমি কি ভুল করছি?

উত্তর:


10

এখানে মডেলটি রয়েছে, এটি হারুনের বর্ণিত হিসাবে ইনলাইন প্রতিস্থাপন ব্যবহার করে। পলিগন টু রাস্টার টুলের আউটপুটটি হ'ল .. \ fGBD_Scratch.gdb s রাস_ % মান% । মানটি পুনরাবৃত্তকারী থেকে আসছে যা এই ক্ষেত্রে অনন্য সারিগুলি হস্তান্তর করার জন্য এফআইডি সেট করা হয়েছিল। সুতরাং প্রথম রাস্টার ডেটাসেটটি হবে রাসস_1, তারপরে রাস_2 ইত্যাদি etc.

মডেল


আপনি কি আউটপুটে ?োকানো নামের দু'পাশে কেবল "%" যুক্ত করবেন? উদাহরণস্বরূপ% নাম% _ ক্লিপ?
ম্যাকডোনওয়া

হ্যাঁ, সুতরাং আপনার উদাহরণে 'নাম' আপনার মডেলের একটি পরিবর্তনশীল, সাধারণত কোনও পুনরাবৃত্তকারী থেকে আসে।
হর্নবিড্ড

1
হ্যাঁ, তবে আপনার নামটি% চিহ্ন দিয়ে শুরু করা উচিত নয় ... এটি বিপরীত ক্রমে ব্যবহার করুন, অর্থাৎ ক্লিপ_% নাম%
maycca

10

মডেল বিল্ডারে নামকরণের সাথে মোকাবিলা করার বিভিন্ন উপায় রয়েছে। আর্কজিআইএস এর উপর একটি সহায়তা বিভাগ রয়েছে: ইনলাইন ভেরিয়েবল সাবস্টিটিউশন ব্যবহারের একটি দ্রুত সফর

এক বাক্পটুতাপূর্ণ উপায় দ্রুত একটি পুনরুক্তিকারীর থেকে অনন্য নাম তৈরি করতে কল করে হয় %i%বা %n%সিস্টেম ভেরিয়েবল, নিম্নলিখিত আকারে যা আউটপুট ফাইল: file1, file2, file3, file4 ... %i%, বর্তমান তালিকায় অবস্থান সিস্টেম ভেরিয়েবল রেফারেন্স যখন %n%সিস্টেম ভেরিয়েবল বর্তমান মডেল পুনরাবৃত্তি উল্লেখ। আপনি এটি ব্যবহার করছেন এমন কোনও সরঞ্জামের আউটপুট প্যারামিটারে এটি ব্যবহারে আনতে পারেন। উদাহরণ স্বরূপ:

আউটপুট ফিচার ক্লাস

C:\temp\out%i%.shp

1

দেখে মনে হচ্ছে আপনি কয়েকটি নেস্টেড লুপগুলি করতে চান, একটি কর্মক্ষেত্রে বৈশিষ্ট্যযুক্ত ক্লাসের জন্য এবং প্রতিটি বৈশিষ্ট্য শ্রেণীর বৈশিষ্ট্যগুলির জন্য একটি। মডেলবিল্ডারের সাথে এটি করা বেদনাদায়ক (তবে সম্ভব )।

আপনি যদি পাইথনের হাতটি নোংরা করতে চান (যা আমি অবশ্যই এই জাতীয় সামগ্রীর জন্য সুপারিশ করি), আপনি এখানে শুরু করার উদাহরণ এখানে:

import arcpy, os

# Your source file geodatabase
input_workspace = r"c:\GISData\input.gdb"

# Your output raster folder
output_workspace = r"c:\GISData\rasters"

# The file extension for the output rasters -- when not saving to a geodatabase, specify .tif for a TIFF file format, .img for an ERDAS IMAGINE file format, or no extension for a GRID raster format.
output_ext = ".img"

# The field used to assign values to the output raster -- hopefully this is the same for all of your feature classes
value_field = "VALUE"

# Note: Instead of hardcoding the above values, you could also use arcpy.GetParameterAsText to allow the user to specify them via script tool parameters

# Set current workspace to the source file geodatabase
arcpy.env.workspace = input_workspace

# Loop over the feature classes
for fc in arcpy.ListFeatureClasses():

  # Get the name of the ObjectID field so we can use it to name the output rasters
  oid_field = arcpy.Describe(fc).OIDFieldName

  # Loop over the features in the current feature class
  for row in arcpy.SearchCursor(fc):

    # Figure out what to name the output raster. In this case we should get something like "c:\GISData\rasters\myFeatureClass_1.img"
    out_raster = os.path.join(output_workspace, "{0}_{1}{2}".format(os.path.basename(fc), row.getValue(oid_field), output_ext))

    # Convert to raster
    arcpy.PolygonToRaster_conversion(row, value_field, out_raster)

অনির্ধারিত, তবে আশা করি আপনি ধারণাটি পাবেন। আইএমও, পাইথন স্ক্রিপ্টগুলি মডেলবিল্ডার মডেলের তুলনায় কাজ করা সবচেয়ে তুচ্ছ কাজ ছাড়া অনেক বেশি সহজ।

পাইথন / আর্কপাই লার্নিং রিসোর্সের জন্য এই প্রশ্নটি ছাড়া আর তাকানোর দরকার নেই: আরকিপি শেখার জন্য কিছু সংস্থান কী কী?


মডেল বিল্ডারে নেস্টেড লুপগুলি দুঃখজনক। সম্ভব হলে এড়িয়ে চলুন।
মোक्स
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.