Lebih

Tentukan apakah tabel terdaftar di geodatabase dengan ArcObjects


Di ArcCatalog kita bisa mendaftarkan tabel di GeoDatabase menggunakan menu konteks tabel. Sekarang saya mencoba mencari cara dengan ArcObjects, untuk mendeteksi apakah ITable sudah terdaftar, apakah ini mungkin?

Saya menyadari bahwa tabel terdaftar terdaftar diGDB_ITEMStabel sistem, tetapi beberapa koneksi SDE tidak memiliki akses baca ke tabel ini, atau hanya dengan kualifikasi yang berbeda (tidak diketahui). Jadi membaca tabel sistem secara langsung bukanlah pilihan dalam kasus ini.


Akhirnya, dengan sedikit keberuntungan, saya menemukan jawabannya sendiri. Ada antarmuka IFeatureWorkspaceManage yang didukung oleh ruang kerja fitur, dan di sana kami dapat meminta informasi ini.

Kumpulan data IDataset =… ; IFeatureWorkspaceManage workspaceManage = dataset.Workspace sebagai IFeatureWorkspaceManage; bool isRegistered = salah; if (workspaceManage != null) isRegistered = workspaceManage.IsRegisteredAsObjectClass(dataset.Name);

Untuk mendaftarkan tabel yang tidak terdaftar kita dapat menggunakan:

IClassSchemaEdit.RegisterAsObjectClass()


Tonton videonya: GeodatabaseBasicsPart1 (Oktober 2021).