আরকজিআইএস জিওপ্রসেসিং ফলাফল উইন্ডোতে ব্যবহারকারীকে উত্থাপিত ত্রুটি বার্তা প্রদর্শন করা হচ্ছে?


13

একটি কাস্টম ব্যতিক্রম থেকে উত্থাপিত মুদ্রণ বিবৃতি জিওপ্রসেসিং ফলাফল উইন্ডোতে প্রদর্শিত হতে পারে?

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

class BadInputError(Exception):
    pass

# Import arcpy module
import arcpy, sys, string
from arcpy import env

try:
    def checkInput(inp):
        mNCount = len(inp)
        trigger = 0
        while trigger == 0:
            if  mNCount == 4:
                trigger = 1
            elif mNCount > 4:
                inp = ''
                trigger = -1
                raise BadInputError
            elif mNCount == 3:
                inp = '0' + inp
                trigger = 1
            elif mNCount == 2:
                inp = '00' + inp
                trigger = 1
            elif mNCount == 1:
                inp = '000' + inp
                trigger = 1
        return inp


    # Script arguments
    MapNumber = arcpy.GetParameterAsText(0)
    MapNumber = checkInput(MapNumber)
    ParcelNumber = arcpy.GetParameterAsText(1)
    ParcelNumber = checkInput(ParcelNumber)

    Expression = (""" "MAP" = '%s' AND "PARCEL" = '%s'""") %(MapNumber,ParcelNumber)

    # Local variables:
    GISData_GISDATA_CAD_PARCEL2009_WHOLE = "Database Connections\\GISUser.sde\\GISData.GISDATA.CAD_PARCEL2009_WHOLE"
    Output_Layer_Name = Expression
    Output_Layer = "ParcelSelection"

    # Process: Select Layer By Attribute
    arcpy.SelectLayerByAttribute_management("2009 Parcel Points", "NEW_SELECTION", Expression)

    # Zoom to Selected Features
    mxd = arcpy.mapping.MapDocument('CURRENT') 
    df = arcpy.mapping.ListDataFrames(mxd, "Layers") [0] 
    df.zoomToSelectedFeatures()
    df.scale = 8000
    arcpy.RefreshActiveView()

except BadInputError:
    print "Too many characters.  Run again"

except Exception, e:
    # If an error occurred, print line number and error message  
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

উত্তর:


13

আমি মনে করি আপনি আরকিপি খুঁজছেন .এডমেসেজ

বার্তা লেখার জন্য চারটি আরকিপি ফাংশন নিম্নরূপ:

  • অ্যাডমেসেজ ("বার্তা") - সাধারণ তথ্যমূলক বার্তাগুলির জন্য (তীব্রতা = 0)।
  • অ্যাডওয়ার্নিং ("বার্তা") - সতর্কতার জন্য (তীব্রতা = 1)।
  • অ্যাডেরর ("বার্তা") - ত্রুটির জন্য (তীব্রতা = 2)।
  • অ্যাডআইডিমেজেজ (মেসেজটাইপ, ম্যাসেজআইডি, অ্যাডআরগমেন্ট 1, অ্যাডআরগমেন্ট 2) - উভয় ত্রুটি এবং সতর্কতার জন্য ব্যবহৃত হয়েছে (বার্তা টাইপ যুক্তি তীব্রতা নির্ধারণ করে)।

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