টিওসি তে কোনও স্তর বৈশিষ্ট্য গণনা দেখানোর কোনও উপায় আছে কি?


10

আমি আর্কজিআইএস ১০ ব্যবহার করছি আর্কম্যাপের সামগ্রীর সারণীতে (টিওসি), "স্তর নাম" প্রতিটি স্তরের মোট বৈশিষ্ট্যের সংখ্যার একটি গণনা স্বয়ংক্রিয়ভাবে দেখানোর উপায় আছে কি?

আমি ভাবছিলাম টিওসি এর মতো কিছু দেখবে:

  • রাস্তা (27)
  • স্ট্রিমস (১০০)
  • পার্সেল (12)

আমি অনন্য মান রেন্ডারগুলির জন্য এই বিকল্পটি পেয়েছি , কিন্তু:

  1. আমি কোনও আরকোবজেক্টস ছেলে নই, এবং
  2. আমি কেবল একক মান রেন্ডারারের সাথে কাজ করতে চাই ।

"নির্বাচনের মাধ্যমে তালিকা" ট্যাব ধরণের এই ক্ষমতা রয়েছে তবে কেবলমাত্র যখন নির্বাচিত বৈশিষ্ট্য রয়েছে।


আপনি কি নিজের মানচিত্রে একক স্তরের জন্য এটি করতে চাইছেন (যেটির নাম আপনার আছে), বা এটি আপনার মানচিত্রে সমস্ত স্তরকে ডিফল্টরূপে প্রয়োগ করেছেন?
শেন্ডারসন

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

2
আপনি সম্ভবত একটি পাইথন অ্যাডিন দিয়ে এটি করতে পারেন যা কোনও সম্পাদনা সেশন শুরু / শেষের জন্য শোনে।
পল

1
আমি মনে করি এটি আর্কজিআইএস 10.1 এবং 10.2 (তবে 10.0 নয়) ব্যবহার করে পাইথন অ্যাড-ইন (এক্সটেনশন) ব্যবহার করে যা প্রতিটি স্তরের গেটকাউন্ট চালায় এবং প্রতিটি রিফ্রেশে সেই বন্ধনী সংখ্যা অন্তর্ভুক্ত করতে প্রতিটি স্তরের নাম বৈশিষ্ট্য আপডেট করে। আপনি যদি আর্কজিআইএস পেশাদারে এই বিকল্পটি ওওটিবি পেতে একটি আর্কজিআইএস আইডিয়াটি খুঁজে পান / জমা দেন তবে আমি এটির পক্ষে ভোট দেব।
পলিজিও

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

উত্তর:


7

@ পল এবং @ পলিজিওর পরামর্শ অনুসারে, আমি মনে করি এটিকে পাইথন অ্যাড-ইন করার চেষ্টা করা সবচেয়ে বেশি অর্থবোধ করে এবং আমি পরে এই ধারণাটি অনুসরণ করব।

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

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

নিবেশ বাক্স

import arcpy

LayerInput = arcpy.GetParameterAsText(0)

mxd = arcpy.mapping.MapDocument("CURRENT")
for lyr in arcpy.mapping.ListLayers(mxd):

    #Skip over group layers, as they have no values to count
    if lyr.isGroupLayer:
        continue

    #Determine basename of the layer, without the feature count
    name = str(lyr.name)

    #Determine if the layer is in the user-defined list
    if name not in LayerInput:
        continue

    #Determine if the layer name already includes a COUNT
    if "[" in name and "]" in name:
        lpos = name.find("[")
        basename = name[:lpos-1]
    else:
        basename = name
    print "    Updating feature count in TOC name for layer: " + str(basename)
    arcpy.AddMessage("    Updating feature count in TOC name for layer: " + str(basename) )

    # In 10.1, you may be able to use arcpy.da.SearchCursor to increase the speed.
    #http://gis.stackexchange.com/questions/30140/fastest-way-to-count-the-number-of-features-in-a-feature-class
    #fcount = 0
    #cursor = arcpy.SearchCursor(lyr)
    #for row in cursor:
    #    fcount += 1
    #del cursor

    #Get the feature count
    fcount = int(arcpy.GetCount_management(lyr).getOutput(0))

    #Update the lyr.name property
    lyr.name = basename + " [n=" + str(fcount) + "]"
    del fcount

arcpy.RefreshTOC()

#Garbage collection
del mxd

গেটকাউন্ট একটি কার্সারের চেয়ে দ্রুত হবে। কি বিপরীত উপসংহার আঁকা আপনি?
blah238

ছোট আকারের ফাইলগুলির আমার প্রাথমিক পরীক্ষাটি দেখিয়েছিল যে এটি দ্রুত ছিল। তবে বৃহত্তর আরডিবিএমএস স্তরগুলির পরীক্ষার পরে, আপনি সঠিক, গেটকাউন্ট দ্রুত ছিল। আমি উপরের কোড আপডেট করেছি।
রায়ানকডাল্টন

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