আর্কম্যাপ পাইথনের সাথে অ্যাট্রিবিউট দ্বারা নির্বাচন করুন


9

আমি নীচে গ্রিডকে ছেদ করে এমন "প্রকল্প" স্তরটি নির্বাচন করতে (হাইলাইট করতে) এবং তারপরে নির্বাচিত "গ্রিড" থেকে একটি রেকর্ড টানতে চাই। আমার স্তরটি সংরক্ষণ করার দরকার নেই।

দ্রষ্টব্য: পাইথন কনসোল উইন্ডোতে আর্কম্যাপের মধ্যে থেকে স্ক্রিপ্টটি চালানো।

import arcpy

# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("project","project_lyr")

# Then add a selection to the layer based on location to features in another feature class 
arcpy.SelectLayerByLocation_management("project_lyr","INTERSECT","Grid")

এই কোডটি চালিত হয় এবং কোনও ত্রুটি দেওয়া হয় না, তবুও এটি কোনও বৈশিষ্ট্য নির্বাচন করে (হাইলাইট) করে না। কোন আইডিয়া কেন? এছাড়াও সত্যিই ধীর চালায়।

ফলাফল

মূলত আমি এটি করার চেষ্টা করছি:

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

এটি প্রায় তাত্ক্ষণিকভাবে দ্রুত চলে, তবে আমি পাইথন ব্যবহার করে একই কাজ করতে চাই। নির্বাচিত বৈশিষ্ট্যের টেবিল থেকে আমার কেবল একটি মান প্রয়োজন, আমার স্তরের একটি অনুলিপি প্রয়োজন নেই।

সমাধানটির অংশটি হ'ল মেমোরি ওয়ার্কস্পেসটি ব্যবহার করা

ইন-মেমরি ওয়ার্কস্পেসে ডেটা লেখা প্রায়ই অন্যান্য ফর্ম্যাটে লেখার চেয়ে উল্লেখযোগ্যভাবে দ্রুত হয় ...

মেমরি ওয়ার্কস্পেস কীভাবে বাস্তবায়ন করা যায় তা নিশ্চিত নয়


আপনি কি এই স্ক্রিপ্টটি আর্কম্যাপের মধ্যে (অর্থাত পাইথন কনসোলে) থেকে চালাচ্ছেন? অথবা আর্কম্যাপের বাইরে (যেমন আইডিএল বা অন্য পাইথন সম্পাদকের মধ্যে)? একমাত্র উপায় আর্কম্যাপটি "কোনও বৈশিষ্ট্য নির্বাচন (হাইলাইট)" করবে তা আর্কম্যাপের অন্তর্গত। আমার সন্দেহ হয় আপনি স্ক্রিপ্টটি আর্কম্যাপের বাইরে থেকে চালাচ্ছেন, কারণ import arcpyআদেশটি চালাতে কিছুটা সময় নেয়।
dmahr

আমি পাইথন কনসোল উইন্ডোতে আরক্যাপের মধ্যে থেকে স্ক্রিপ্টটি চালাচ্ছি।
ত্রিস্তান ফরোয়ার্ড

আপনি যদি এটি আরক্যাপের মধ্যে থেকে চালাচ্ছেন তবে আপনার arcpy.MakeFeatureLayer()রেখার দরকার নেই , কারণ projectইতিমধ্যে একটি স্তর। শুধু কর arcpy.SelectLayerByLocation_management("project","INTERSECT","Grid")
dmahr

দুর্দান্ত প্রশ্ন ফর্ম্যাট!
ব্র্যাড নেসোম

ধন্যবাদ @ ডমাহার, এন্ট্রিবিউটের মাধ্যমে বিল্ট-ইন সিলেক্ট করার পরেও ধীর গতিতে চলে।
ত্রিস্তান ফরোয়ার্ড

উত্তর:


2

ভাল প্রশ্ন!

Dmahr ঠিক আছে, কেবল বৈশিষ্ট্য স্তর তৈরির পরিবর্তে কেবল স্তরটি নির্বাচন করা দ্রুত। আমি বিকল্পগুলি সত্ত্বেও বাকী ভেরিয়েবলগুলি যুক্ত করব।

arcpy.SelectLayerByLocation_management ("project_lyr", "INTERSECT", "Grid", "#", "NEW_SELECTION")

আমি আর একটি জিনিস খুঁজে পেলাম, তা হল অর্কম্যাপের অজগর উইন্ডোতে চলমান জিনিসগুলি সর্বদা ধীর। আমি দেখতে পেয়েছি যে আপনি যদি একটি .py ফাইলে কোডটি লিখে থাকেন তবে এটি সরঞ্জাম বাক্সে স্ক্রিপ্ট হিসাবে যুক্ত করুন এবং তারপরে এটি চালান, প্রসেসিং দ্রুততর হবে।

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