ফিচার লাইয়ার থেকে সমস্ত বৈশিষ্ট্য মুছে ফেলার সঠিক উপায় কী


10

আমার একটি আছে featureLayerএবং আমি এটি মেরে অন্য একটি তৈরি করতে চাই না। আমি বর্তমান ফিচার লাইয়ার থেকে সমস্ত বৈশিষ্ট্য মুছতে চাই। আমি আবিষ্কার করেছি যে আমি applyEditsপদ্ধতিটি ব্যবহার করতে পারি তবে এটি ব্যবহার করার জন্য আমার সমস্ত বৈশিষ্ট্য মুছে ফেলতে হবে। আমি এগুলি আলাদাভাবে সঞ্চয় করতে চাই না। আর্কজিআইএস জাভাস্ক্রিপ্ট এপিআই ব্যবহার করার সময় আপনি কি আমার ফিচার লাইয়ার খালি করার আরও ভাল উপায়টি জানেন?

উত্তর:


3

কার্কের পরামর্শ অনুসারে ফিচারলায়ার.সিলিটফিটচার্স () ব্যবহার করুন, এমন একটি ধারা যেখানে আপনার সমস্ত বৈশিষ্ট্য ফিরিয়ে দেবে। আপনার সমস্ত বৈশিষ্ট্য একবার হয়ে গেলে, এগুলি মুছে ফেলা হিসাবে সম্পাদনা () এ প্রয়োগ করুন।


এটি ক্লায়েন্টকে অনেকগুলি বৈশিষ্ট্য ফিরিয়ে দেবে না? এটি যদি বড় ডেটাसेट হয় তবে এটি সত্যই ধীর হতে পারে।
কर्क কুইকেনডাল

2
একমাত্র সমস্যা হ'ল আমি যেখানে সারণিটি সঠিকভাবে নির্দিষ্ট করতে পারছি না - আমি "1 = 1", "OBJECTID> 0" ইত্যাদির চেষ্টা করেছি every তবে প্রতিবারই আমার একটি ত্রুটি আছে "ফিচারলায়ার :: নির্বাচন বৈশিষ্ট্যগুলি - ক্যোয়ারিতে একটি বা একাধিক অসমর্থিত প্যারামিটার রয়েছে "। কোড ভের ক্যোয়ারী = নতুন esri.tasks.Query (); ক্যোয়ারী.কোথের = "1 = 1"; ফিচারলায়ার.সিলিট ফিচারস (ক্যোয়ারী, ...);
কিরিল লিকভ

সম্ভবত, যদি ফিচারলেয়ার কোনও বৈশিষ্ট্য পরিষেবার সাথে সংযুক্ত না থাকে তবে এটি যেখানে ক্লজগুলি সমর্থন করে না। আপনি কি মনে করেন?
কিরিল লিকভ

"যদি ফিচারলেয়ার কোনও বৈশিষ্ট্য পরিষেবার সাথে সংযুক্ত না থাকে তবে এটি যেখানে ক্লজগুলি সমর্থন করে না" - এটি সঠিক, তবে যদি এটি সম্পাদনাও সমর্থন করে না। এপিআই রেফারেন্স থেকে: "যদি অন্তর্নিহিত স্তরটি ... কোনও বৈশিষ্ট্য পরিষেবা থেকে হয় তবে এর বৈশিষ্ট্যগুলি সম্পাদনা করা যেতে পারে", এতে বোঝা যাচ্ছে যে আপনার ফিচার লাইয়ার একটি বৈশিষ্ট্য পরিষেবাতে সংযুক্ত রয়েছে
স্টিফেন লিড

"এটি সম্পাদনাও সমর্থন করে না" - আমি পরিষেবার সাথে সংযুক্ত না থাকলেও সম্পাদনাটিকে সমর্থন করি। হ্যাওওয়ার, আমাকে কিছুটা কাজ করতে হবে।
কিরিল লিকভ

4

"1 = 1" ধারা বা অনুরূপ কিছু দিয়ে একটি আরএসটি মুছুন বৈশিষ্ট্য কল করার চেষ্টা করুন ।


1
হাই, ফিচারগুলি কল মুছে ফেলার কোনও সিনট্যাক্স আছে? আমি যা করার চেষ্টা করছি আপনি কি আমাকে উদাহরণ দিতে পারবেন
জানলিচ

1

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

function removeAllLayerFeatures(map, layer) {
    require(['esri/tasks/query', 'esri/layers/FeatureLayer'], function (Query, FeatureLayer) {
        var query = new Query();
        query.geometry = map.extent;
        layer.selectFeatures(query, FeatureLayer.SELECTION_NEW, function (results) {
            for (var key in results) {
                layer.remove(results[key]);
            }
        });
    });
}


-2

সমস্ত বৈশিষ্ট্য ("*") নির্বাচন করে একটি আপডেট কার্সার ব্যবহার করুন ।

আইফিচার.ডিলিট () ব্যবহার করুন এবং হয়ে গেলে সঞ্চয় করুন।


এই প্রশ্নটি আর্কওবজেক্টস নয়, একটি জাভাস্ক্রিপ্ট সমাধান চাইছে।
ডেরেক সুইংলে

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