মডেলবিল্ডারে ফিচার স্তরগুলি ব্যবহার করা কেন গুরুত্বপূর্ণ?


9

আমি মডেলবিল্ডারের সাথে জিওপ্রসেস তৈরির বিষয়টি বোঝার চেষ্টা করছি, তবে মডেলবিল্ডারের সাথে জিওপ্রসেস তৈরি করার সময় বৈশিষ্ট্য শ্রেণীর পরিবর্তে বৈশিষ্ট্য স্তরগুলি কেন ব্যবহার করা গুরুত্বপূর্ণ তা আমি জানি না। কেউ দয়া করে কেন ব্যাখ্যা করতে পারেন?


উত্তর:


4

মডেলগুলির আকার এবং জটিলতার উপর নির্ভর করে অনেকগুলি উপ-প্রক্রিয়া আউটপুট স্তর থাকতে পারে। আপনার হার্ড ডিস্কে লিখিত ফাইলগুলি মুছে ফেলার জন্য কিছু সরঞ্জাম আপনাকে বৈশিষ্ট্য স্তরগুলি ব্যবহার করে (যেমন আইট্রেট বৈশিষ্ট্য নির্বাচন বা বৈশিষ্ট্য অনুসারে নির্বাচন করুন )। বৈশিষ্ট্য স্তরগুলি অস্থায়ী এবং আপনার মডেল শেষ হওয়ার পরেও চলবে না।

বৈশিষ্ট্য স্তর তৈরি করুন দেখুন


9

ফিচার ক্লাসগুলির বিপরীতে আপনি মডেলবিল্ডারে ফিচার স্তরগুলি কেন উল্লেখ করতে চান তার কয়েকটি কারণ রয়েছে। প্রথমে এটি পার্থক্য বুঝতে সহায়তা করে।

  • "ফিচার ক্লাস" সম্পূর্ণরূপে কাঁচা ডেটার উল্লেখ হিসাবে। এফসি হ'ল এটির একটি সাধারণ উদাহরণ যেখানে ডিস্কে একটি শেফফাইল।
  • "বৈশিষ্ট্য স্তরগুলি" ডেটা বিমূর্তকরণের উল্লেখ, যেখানে আপনি কাঁচা ডেটাসেটের (এক সম্পূর্ণ ডেটাসেটের বিপরীতে) বৈশিষ্ট্যগুলির এক বা একাধিক বৈশিষ্ট্যের সাথে ইন্টারঅ্যাক্ট করতে পারেন। আপনি আর্কম্যাপে ডেটা লোড করার পরে স্তরগুলি হ'ল আপনি কার্যকরভাবে ইন্টারঅ্যাক্ট করছেন।

সুতরাং সেই পটভূমিটি দেওয়া, আপনি কাঁচা ডেটা এবং অন্যান্য জিওপ্রসেসিং সরঞ্জামগুলির মধ্যবর্তী স্থানে "বৈশিষ্ট্য স্তর তৈরি করুন" সরঞ্জামটি ব্যবহার করতে চান এমন কয়েকটি কারণ এখানে।

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

  3. মডেলবিল্ডার প্রক্রিয়া চলার সাথে সাথে স্তরগুলি ব্যবহার করা আপনার ডেটা সাবসেট করা সহজ করে। বলুন যে আপনি একটি পদ্ধতির সাথে "এ" বৈশিষ্ট্যযুক্ত সমস্ত ডেটা প্রক্রিয়া করতে চেয়েছিলেন তবে অন্য পদ্ধতিতে "বি" গুণযুক্ত সমস্ত ডেটা। আপনি একবার আপনার কাঁচা তথ্য উল্লেখ করতে পারেন, তারপরে বৈশিষ্ট্য স্তরগুলি ব্যবহার করে ডেটাটিকে দুটি "শাখায়" বিভক্ত করুন এবং প্রতিটি সেটকে স্বাধীনভাবে প্রক্রিয়া করতে পারেন, তবে একক উত্সের ডেটাসেটকে প্রভাবিত / আপডেট করে।

  4. আপনি "ইন_মেমোরি" বৈশিষ্ট্য স্তরগুলি তৈরি করতে পারেন যা সত্যিকারের অস্থায়ী ডেটা প্রসেসিং "বিন" হয় এবং যা প্রতিটি ক্রিয়াকলাপের পরে ডিস্কে লেখার চেয়ে ডেটা আরও দ্রুত প্রক্রিয়া করতে পারে। এটি আপনার প্রসেসিং সম্পূর্ণ হওয়ার পরে আপনাকে কী পরিমাণ জাঙ্ক পরিষ্কার করতে হবে তাও সীমিত করে।

আপনাকে অনেক ধন্যবাদ রায়ান। আপনার উত্তর খুব সম্পূর্ণ এবং পরিষ্কার।
দিয়েগো পার্দো

7

আপনার মডেলগুলিতে অস্থায়ী স্তরগুলি অন্তর্ভুক্ত করা প্রক্রিয়াজাতকরণের সময়ও হ্রাস করে। একটি প্রসেসিং দৃষ্টিকোণ থেকে, ডিস্কে লেখার তুলনায় এটি মেমরির তুলনায় অনেক বেশি দক্ষ রচনা। একইভাবে, আপনি ইন- মেমরি ওয়ার্কস্পেসে অস্থায়ী ডেটা লিখতে পারেন , এটি আরও গণনামূলকভাবে দক্ষ।

আর্কজিআইএস-এ অনেকগুলি অপারেশনের জন্য ইনপুট হিসাবে অস্থায়ী স্তর প্রয়োজন require উদাহরণস্বরূপ, স্তর দ্বারা স্তর নির্বাচন করুন (ডেটা ম্যানেজমেন্ট) একটি খুব শক্তিশালী এবং সহজ সরঞ্জাম যা আপনাকে এমন একটি স্তর বৈশিষ্ট্য নির্বাচন করতে দেয় যা অন্য একটি নির্বাচিত বৈশিষ্ট্যের সাথে স্থানিক সম্পর্ক ভাগ করে দেয়। আপনি জটিল সম্পর্ক যেমন "HAVE_THEIR_CENTER_IN" বা "BOUNDARY_TOUCHES" ইত্যাদি নির্দিষ্ট করতে পারেন etc.

সম্পাদনা:

কৌতূহলের বাইরে এবং বৈশিষ্ট্য স্তর এবং ইন-মেমরি ওয়ার্কস্পেস ব্যবহার করে পার্থক্যগুলি প্রক্রিয়াকরণের বিষয়ে বিস্তারিত জানার জন্য নিম্নলিখিত গতি পরীক্ষাটি বিবেচনা করুন যেখানে 39,000 পয়েন্টগুলি 100 মিটার বাফার করেছে:

import arcpy, time
from arcpy import env

# Set overwrite
arcpy.env.overwriteOutput = 1

# Parameters
input_features = r'C:\temp\39000points.shp'
output_features = r'C:\temp\temp.shp'

###########################
# Method 1 Buffer a feature class and write to disk
StartTime = time.clock()
arcpy.Buffer_analysis(input_features,output_features, "100 Feet")
EndTime = time.clock()
print "Method 1 finished in %s seconds" % (EndTime - StartTime)
time.sleep(5)

############################
# Method 2 Buffer a feature class and write in_memory
StartTime = time.clock()
arcpy.Buffer_analysis(input_features, "in_memory/temp", "100 Feet")
EndTime = time.clock()
print "Method 2 finished in %s seconds" % (EndTime - StartTime)
time.sleep(5)

############################
# Method 3 Make a feature layer, buffer then write to in_memory
StartTime = time.clock()
arcpy.MakeFeatureLayer_management(input_features, "out_layer")
arcpy.Buffer_analysis("out_layer", "in_memory/temp", "100 Feet")
EndTime = time.clock()
print "Method 3 finished in %s seconds" % (EndTime - StartTime)
time.sleep(5)

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


আমরা দেখতে পাচ্ছি যে পদ্ধতিগুলি 2 এবং 3 সমান এবং পদ্ধতির তুলনায় প্রায় 3x দ্রুত 1. এটি বড় কর্মপ্রবাহের মধ্যবর্তী পদক্ষেপ হিসাবে বৈশিষ্ট্য স্তরগুলি ব্যবহার করার শক্তি দেখায়।


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

কেবল আমার পূর্ববর্তী মন্তব্যে যোগ করার জন্য, আমি এই সাইটে কোথাও পড়েছি যে in-memoryওয়ার্কস্পেসটি মূলত একটি ফাইল জিওডাটাবেস যা মেমরিতে বসে, যদি আপনি সেভাবে এটি ভাবতে চান।
blah238

কোনও ফাইল জিওডাটাবেস এর মতো তবে আকার_এক্ষেত্র গণনা করা হয় না যখন ইন-মেমরি - এটি পরে লিঙ্ক সরবরাহ করবে।
পলিজিও

আপনার আপডেট হওয়া দ্বিতীয় উদাহরণে, আপনি কোনও বৈশিষ্ট্য স্তর নয়, মেমোরিতে একটি বৈশিষ্ট্য শ্রেণি তৈরি করছেন।
blah238

2
এটি আসতে কিছুক্ষণ হয়েছে তবে এখানে লিঙ্কটি আমি 6+ মাস আগে প্রতিশ্রুতি দিয়েছিলাম।
পলিজিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.