শেফফাইল থেকে আরকিপায় স্তরটিতে সংজ্ঞা কোয়েরি সেট করছেন?


11

আমি আরকিপি ব্যবহার করে একটি স্তর সংজ্ঞা কোয়েরি সেট করতে বিকল্পগুলি নির্ধারণ করার চেষ্টা করছি।

আমি জানি যে arcpy.mapping.ListLayers () ব্যবহার করার সময় এটি সম্ভব।

যাইহোক, এই দৃশ্যে আমি শেফফাইলে লোড করছি এবং আরকিপি ব্যবহার করছি Arcআরকিপাইতে মেকফিজার লায়ার_ম্যানেজমেন্ট ()।

এই জিওপ্রসেসরটি ব্যবহার করে আমি যে স্তরটি তৈরি করেছি তাতে আমি সংজ্ঞা কোয়েরি সেট করতে চাই।

এটা কি সম্ভব?

উত্তর:


15

নীচের কোডটি একটি শেফফিল থেকে টেস্ট_এলির নামক একটি স্তর ফাইল তৈরি করবে যা এতে "টেস্টফিল্ড" = 'এ' এর একটি সংজ্ঞায়িত কোয়েরি রয়েছে।

import arcpy

arcpy.MakeFeatureLayer_management(r"C:\temp\testLines.shp","test_lyr")
lyr = arcpy.mapping.Layer("test_lyr")
lyr.name = "test"
lyr.definitionQuery = '"testField" = ' + "'A'"
lyr.saveACopy(r"C:\temp\test_A.lyr")

del lyr

যদি প্রয়োজন হয় তবে আপনি এই স্তর ফাইলটি বা স্তর স্তর (লাইর) এর আগে স্তর ফাইল হিসাবে সংরক্ষণ করার আগে আপনার মানচিত্রে আরকিপি.ম্যাপিংয়ের মাধ্যমে যুক্ত করতে পারেন dএডলায়ার।

MakeFeatureLayer- এ কোনও ক্লোইজ একটি সংজ্ঞাবদ্ধ কোয়েরি হিসাবে পাস হয়েছে কিনা তা দেখার জন্য, যা আমি মনে করি নিঃসংশ্লিষ্ট আচরণ, আমি @ জন এর উত্তর যাচাই করতে নীচে একটি দ্বিতীয় পরীক্ষা করেছি, এবং সে বেশ সঠিক is

arcpy.MakeFeatureLayer_management(r"C:\temp\testLines.shp","test_lyr2",'"testField" = ' + "'A'")
lyr2 = arcpy.mapping.Layer("test_lyr2")
lyr2.name = "test2"
lyr2.saveACopy(r"C:\temp\test_2.lyr")

del lyr2

ArcGIS প্রো এবং তার লাইব্রেরির জন্য আপডেট করতে , arcpy.mapping.layer()দিয়ে প্রতিস্থাপিত করা হয়েছেarcpy.mp.LayerFile()
Adin

5

হ্যাঁ, এটি অবশ্যই আপনার পক্ষে সম্ভব হবে কারণ thatচ্ছিক "যেখানে_ক্লেজ" প্যারামিটারটি ছিল - বিশদ এবং উদাহরণগুলির জন্য এর ডকুমেন্টেশন দেখুন , তবে মূলত আপনাকে কেবল সংজ্ঞা কোয়েরিটি যেখানে_ক্লেজ প্যারাম হিসাবে অন্তর্ভুক্ত করতে হবে এবং এটি কাজ করা উচিত। কেবলমাত্র লক্ষণীয় বিষয়, আপনি যদি এমন একটি স্তর ব্যবহার করছেন যাতে অবজেক্টআইডি / এফআইডি ক্ষেত্র নেই, তবে আর্কজিআইএস এর বিপরীতে এসকিউএল এক্সপ্রেশন চালানোর সমস্যা রয়েছে তবে কোনও নিয়মিত আর্কজিআইএস স্তর হবে।


4

আপনি যদি MakeFeatureLayer জিওপ্রসেসিং সরঞ্জামটি ব্যবহার করে আর্কম্যাপে স্তরগুলি লোড করে চলেছেন তবে আপনি আরকিপি.ম্যাপিং ক্লাস স্তরগুলি - ডিফিনিশনকিউরি ব্যবহার করে বিদ্যমান আরকম্যাপ স্তরগুলিতে ডিফিনিশনকিউরি সেট করতে পারেন ।

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