সমস্ত স্তরের সাথে যোগ দিয়ে একটি স্তরতে তালিকাভুক্ত করতে এবং তাদের গন্তব্য এবং উত্স টেবিলের নাম এবং প্রাথমিক এবং বিদেশী কীগুলি তালিকাভুক্ত করতে এখানে এই উদাহরণ হিসাবে ভিত্তি করে একটি আর্কওবজেক্ট পদ্ধতি রয়েছে :
ILayer
এক বা একাধিক যোগদান করে এমন একটি রেফারেন্স পান
- কাস্ট
ILayer
করার জন্যIDisplayTable
IDisplayTable.DisplayTable
সম্পত্তি কাস্টIRelQueryTable
- যদিও বর্তমান সারণীটি একটি
IRelQueryTable
:
- পরিদর্শন করুন
RelQueryTable
এর DestinationTable
এবং SourceTable
বৈশিষ্ট্য
- সম্পত্তির সম্পত্তি
OriginPrimaryKey
এবং OriginForeignKey
বৈশিষ্ট্যগুলি পরীক্ষা করুন IRelQueryTable.RelationshipClass
।
- বর্তমান বর্তমান টেবিল সেট
RelQueryTable
এর SourceTable
সম্পত্তি
এই পাইথন স্ক্রিপ্টটি ( কমপিটস এবং এই সহায়ক মডিউলটি ব্যবহার করে ) সর্বশেষ থেকে প্রাথমিকতম পর্যন্ত সমস্তগুলিতে যোগদান করবে এবং গন্তব্য এবং উত্স সারণীর নাম, মূল প্রাথমিক এবং প্রতিটি যোগদানের জন্য বিদেশী কী প্রিন্ট করবে:
from ESRICOMHelpers import * # helper module from https://gis.stackexchange.com/a/5082/753
esriArcMapUI = GetESRIModule("esriArcMapUI")
esriCarto = GetESRIModule("esriCarto")
esriGeoDatabase = GetESRIModule("esriGeoDatabase")
def listJoins(table):
while CType(table, esriGeoDatabase.IRelQueryTable):
relQueryTable = CType(table, esriGeoDatabase.IRelQueryTable)
destTable = relQueryTable.DestinationTable
sourceTable = relQueryTable.SourceTable
destDataset = CType(destTable, esriGeoDatabase.IDataset)
sourceDataset = CType(sourceTable, esriGeoDatabase.IDataset)
relClass = relQueryTable.RelationshipClass
print destDataset.Name, sourceDataset.Name, relClass.OriginPrimaryKey, relClass.OriginForeignKey
table = sourceTable
if __name__ == "__main__":
#app = GetCurrentApp() # Use if run in-process
app = GetApp("ArcMap") # Use if run in a standalone script
mxd = CType(app.Document, esriArcMapUI.IMxDocument)
# Gets the first layer in the active data frame
map = mxd.FocusMap
lyr = map.Layer[0]
# Need to get the "display table" to access the joins
displayTable = CType(lyr, esriCarto.IDisplayTable).DisplayTable
# List the layer's joined tables
listJoins(displayTable)
উত্স উদাহরণ, তিনটি যোগ দিয়ে একটি উত্স স্তর দেওয়া:
join_table_3 মাস্টার_এফসি_জাইন_সারণী__জয়িন_সেবিকা_2 JOIN_ID_3 মাস্টার_এফসি.এমএসটিআইডিআইডি
join_table_2 মাস্টার_এফসি_জাইন_সারণযোগ্য JOIN_ID_2 মাস্টার_এফসি। MASTER_ID
join_table_1 মাস্টার_এফসি JOIN_ID_1 MASTER_ID
আরও তথ্যের জন্য, আমি পাইথন থেকে আর্কওবজেক্টগুলি কীভাবে অ্যাক্সেস করব?