गणना फ़ील्ड का उपयोग करके विशेषता फ़ील्ड में फ़ाइल का नाम जोड़ना?


10

क्या किसी को पता है कि फ़ाइल की विशेषता तालिका में आकृति फ़ील्ड में फ़ील्ड में नाम कैसे जोड़ा जाए?

मुझे एक विवरण मिला है:

'आपको एक्सप्रेशन में इनलाइन वैरिएबल का उपयोग करना होगा जैसे एक्सप्रेस में% नाम% ताकि फाइल का नाम जो भी हो, स्ट्रिंग को dbase फ़ाइल के नाम के आधार पर डाला जाएगा!'

मैंने% Name% के साथ गणना करने की कोशिश की है, लेकिन मुझे संदेश मिला:

Executing: CalculateField "2011-11-6 15_41_point" DBFName %Name% PYTHON #
Start Time: Thu Dec 08 23:34:23 2011
WARNING 000405: No records within table
Succeeded at Thu Dec 08 23:34:24 2011 (Elapsed Time: 1.00 seconds)

मेरी गलती कहाँ है?

जवाबों:


12

यह अजगर कोड सभी फीचरक्लासेस (डेटास में उन लोगों को छोड़कर) के लिए FILENAME फ़ील्ड जोड़ता है और फीचरक्लास नाम से पॉप्युलेट करता है।

# Import standard library modules
import arcpy, os, sys
from arcpy import env

# Allow for file overwrite
arcpy.env.overwriteOutput = True

# Set the workspace directory 
env.workspace = r"P:\geodatabase.gdb\filename" 

# Get the list of the featureclasses to process
fc_tables = arcpy.ListFeatureClasses()

# Loop through each file and perform the processing
for fc in fc_tables:
    print str("processing " + fc)

    # Define field name and expression
    field = "FILENAME"
    expression = str(fc) #populates field   

    # Create a new field with a new name
    arcpy.AddField_management(fc,field,"TEXT")

    # Calculate field here
    arcpy.CalculateField_management(fc, field, '"'+expression+'"', "PYTHON")

10.2 संस्करण में काम करता है। लेकिन 10.2.2 संस्करण में काम नहीं करता है।
नैट ब्रैडशॉ

अगर मैं आर्क मैप के अजगर कंसोल (10.6) में कोड टाइप करता हूं तो कुछ नहीं होता है। ऐसा लगता है कि इस संस्करण (?) के साथ काम नहीं करना है
डेविड

6

आर्किस्क्रिप्स वेबसाइट पर एक स्क्रिप्ट है जो आपको ऐसा करने में सहायता करनी चाहिए

http://arcscripts.esri.com/details.asp?dbid=14534

सारांश "FILENAME" नामक फ़ील्ड बनाने के लिए एक साधारण स्क्रिप्ट और विशेषता तालिका में प्रत्येक प्रविष्टि के लिए आकृति का फ़ाइल नाम संलग्न करना। एक निर्दिष्ट निर्देशिका के भीतर अधिक से अधिक आकृति के साथ प्रयोग करें। जब अलग शेपफाइल एंट्रीज को चुनना और मूल शेपफाइल नाम के ब्रेडक्रंब ट्रेल को बनाए रखने के लिए एक अलग फाइल में संयोजन करना उपयोगी होता है।

एक निर्देशिका के भीतर फ़ाइल चलाएं जिसमें सभी आकार-प्रकार के संशोधन की आवश्यकता हो

मुझे उम्मीद है कि यह आपके बाद क्या है


जानकारी के लिए: Arcgis 10.X के लिए काम नहीं करता है (Pygon कोड सिंटैक्स Arcgis 9.x के बाद बदल गया है)।
गिसनसाइड


1

यदि संस्करण असंगतता या ज्ञान की कमी (जैसे यह मेरे लिए है) के कारण उपरोक्त सभी आपके लिए काम नहीं करता है, तो इस वर्कअराउंड का प्रयास करें:

  • सीएडी रूपांतरण उपकरण के लिए निर्यात का उपयोग करें और अपने सभी फीचर वर्गों को अपने जीओडीएटाबेस से एक डीडब्ल्यूजी फ़ाइल में निर्यात करें
  • सीएडी फ़ाइल के लिए लेयर फ़ील्ड को पॉप्युलेट करने के लिए फीचर क्लास के नाम का उपयोग किया जाएगा
  • अपनी सुविधाओं को वापस GDB में निर्यात करने के लिए कैओड टू जियोडैटेबेस रूपांतरण टूल का उपयोग करें
  • अब आपके पास प्रत्येक एकल सुविधा के लिए आपकी तालिका में परत नाम फ़ील्ड होंगे
  • GDB से अपनी फीचर कक्षाओं को एक एकल आकार आकृति में मिलाने के लिए मर्ज टूल का उपयोग करें, जिसमें आइटमों की पहचान करने के लिए मूल विशेषता वर्ग नाम के साथ परत विशेषता फ़ील्ड होगी।

0

मुझे यह लिंक यूएस फिश एंड वाइल्डलाइफ सर्विस आर्कजीआईएस टूल से मिला, जो आपको वही दिख रहा है जो आप चाहते हैं। इसने एक जादू की तरह काम किया!


यह एक में वर्णित एक ही उपकरण है कि पहले इस सवाल का जवाब
PolyGeo

यूएस फिश एंड वाइल्डलाइफ सर्विस का टूल केवल तभी काम करता है जब फील्ड का नाम "NAME" हो। % फ़ील्ड नाम% के साथ परिकलित फ़ील्ड टूल 'फ़ील्ड नाम' को अपडेट करके इसे लचीला बनाया जा सकता है
एलिजा कोल्लानूर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.