You are on page 1of 11

‫الفصل‬

‫‪5‬‬
‫السمة إدارة البيانات‬
‫وهناك نظام المعلومات الجغرافية( ويشمل كل البيانات الجغرافية والسمة‬
‫البيانات‪ .‬البيانات الجغرافية تتصل الهندسة من الميزات المكانية ‪ ،‬في حين أن السمة‬
‫بيانات وصف الخصائص من الميزات‪ .‬نموذج بيانات قاعدة البيانات الجغرافية يستخدم‬
‫الجداول لتخزين كل النوعين من البيانات في بيئة قاعدة بيانات علئقية‪ .‬طاولة مع‬
‫حقل الهندسة هي فئة الميزة ‪ ،‬جدول السمة ميزة ‪ ،‬أو مجرد الجغرافية‬
‫مجموعة البيانات‪ .‬جدول مع البيانات السمة ليست سوى مجموعة البيانات ‪.nongeographic‬‬
‫طاولة ‪ ،‬إما فئة ميزة أو جدول ‪ ، nongeographic‬وتتكون من الصفوف و‬
‫العمدة‪ .‬كل صف يمثل ميزة ‪ ،‬والعمود يمثل كل مميزة‪.‬‬
‫يسمى صف أيضا رقما قياسيا ‪ ،‬وعمود حقل‪ .‬تقاطع‬
‫العمود والصف ليبين قيمة صفة خاصة لخاصة‬
‫الميزة‪.‬‬
‫السمة إدارة البيانات تتم إما على الصعيد الميداني أو طاولة‬
‫المستوى‪ .‬على الصعيد الميداني ‪ ،‬تشمل المهام المشتركة المنبثقة المعلومات الميدانية ‪،‬‬
‫إضافة الحقول ‪ ،‬وحذف الحقول ‪ ،‬وحساب قيم الحقل‪ .‬هذه المهام تتطلب‬
‫العمل مع خصائص حقل ‪ ،‬مثل السم والنوع ‪ ،‬وطولها‪ .‬على طاولة‬
‫المستوى ‪ ،‬وعادة ما تشمل المهام المشتركة والمتعلقة بالنضمام الجداول في العلئقية‬
‫قاعدة بيانات البيئة‪ .‬وانضمام يجمع جدولين‪ .‬وتتصل يربط اثنين‬
‫الجداول ولكن يبقي جداول منفصلة‪ .‬كلتا العمليتين استخدام مفاتيح وعلقات ل‬
‫ربط جداول‪.‬‬
‫ويغطي هذا الفصل السمة إدارة البيانات‪ .‬القسم ‪ 5.1‬الستعراضات الدارية‬
‫السمة البيانات باستخدام ‪ .ArcGIS‬يناقش القسم ‪ 5.2‬كائنات ذات الصلة على الجداول والحقول ‪،‬‬
‫فصول العلقة و‪ .‬القسم ‪ 5.3‬يشمل وحدات الماكرو لدراج حقول والميدان‬
‫الخصائص‪ .‬قسم العروض ‪ 5.4‬ماكرو و ‪) Geoprocessing‬سباق الجائزة الكبرى(‬
‫الماكرو لضافة‬
‫وحذف الحقول‪ .‬قسم العروض ‪ 5.5‬وحدات الماكرو وماكرو سباق الجائزة الكبرى لحساب‬
‫حقل القيم‪ .‬يناقش القسم ‪ 5.6‬أربع وحدات الماكرو للنضمام والجداول المتعلقة و‬
‫سباق الجائزة الكبرى للماكرو المتعلقة جدول إلى طبقة‪ .‬بدء تشغيل كافة وحدات الماكرو مع قائمة رئيسية‬
‫واجهات والعضاء الرئيسيين )الخصائص والساليب( واستخدام و‬
‫البرمجة ‪ ARCOBJECTS‬مع ‪ : VBA‬نهج المهمة موجهة لل‬
‫‪ 5.1‬البيانات السمة إدارتها في ‪ARCGIS‬‬
‫ويمكن للمستخدم ‪ ArcGIS‬إضافة وحذف الحقول في إما ‪ ArcCatalog‬أو ‪ .ArcMap‬لضافة‬
‫حقل ‪ ،‬يجب أن نحدد أول خصائص الحقل‪ .‬اعتمادا على نوع الحقل ‪،‬‬
‫قد تشمل تعريف طول والدقة ‪ ،‬والحجم‪ .‬طول هو الحد القصى للطول ‪،‬‬
‫في بايت ‪ ،‬محفوظة للحقل‪ .‬الدقة هو رقم من الرقام محفوظة ل‬
‫الرقمية الميدان‪ .‬المقياس هو عدد الرقام العشرية محفوظة لحقل من مزدوج‬
‫نوع البيانات‪.‬‬
‫مجال الحاسبة ‪ ،‬وهي متاحة من خلل قائمة السياق حقل في ‪ ، ArcMap‬هو أداة‬
‫لحساب قيم الحقل‪ .‬لستخدام الحاسبة الميدانية ‪ ،‬ل بد لنا من إعداد الحساب‬
‫التعبير مع الحقول والوظائف الرياضية‪.‬‬
‫وينضم يتصل متاحة من خلل قائمة السياق أو خصائص‬
‫طبقة ميزة أو جدول في ‪ .ArcMap‬إضافة النضمام أو تتصل ‪ ،‬ل بد لنا من تحديد الجداول‬
‫للنضمام أو تتصل والحقول التي تتصل الصلة أو تقوم‪ .‬الحقول المستخدمة‬
‫في صلة أو تتصل تسمى مفاتيح‪ .‬المفتاح الساسي يمثل حقل قيمه‬
‫يمكن التعرف بشكل فريد سجل في الجدول‪ .‬نظيرتها في جدول آخر ل‬
‫الغرض من الربط هو المفتاح الخارجي‪ .‬ويمكن أن ينضم تتعلق فقط سيتم بناؤها في وقت واحد ‪،‬‬
‫ولكن القائمة ينضم ويتصل يمكن إزالتها بشكل فردي أو كمجموعة‪.‬‬
‫وهناك أربعة العلقات الممكنة ‪ ،‬كما دعا ‪ ، cardinalities‬في ربط اثنين‬
‫الجداول‪ .‬العلقة واحد الى واحد يعني أن واحدا وسجل واحد فقط في جدول‬
‫ويرتبط واحد و‪ .‬سجل واحد فقط في جدول آخر العلقة واحد لكثير‬
‫يعني أنه قد تكون ذات صلة واحد سجل في الجدول على العديد من السجلت في جدول آخر‪.‬‬
‫العلقة كثير إلى واحد الوسائل التي قد تكون ذات صلة العديد من السجلت في جدول ل‬
‫سجل واحد في جدول آخر‪ .‬والعلقة كثير إلى كثير يعني أن العديد من‬
‫قد تكون ذات صلة السجلت في الجدول إلى العديد من السجلت في جدول آخر‪.‬‬
‫ويوصى عادة ما ينضم للعلقات واحد الى واحد أو متعدد واحد‪.‬‬
‫وبالنظر إلى وجود علقة واحد الى واحد ‪ ،‬وانضم جدولين عن طريق السجل‪ .‬ونظرا ل ‪- manyto‬‬
‫علقة واحدة ‪ ،‬العديد من السجلت في الجدول الساسي لها نفس القيمة من‬
‫سجل في الجدول الخر‪ .‬ويتصل ‪ ،‬من ناحية أخرى ‪ ،‬تكون مناسبة للجميع أربعة‬
‫العلقات‪.‬‬
‫‪ ARCOBJECTS 5.2‬لدارة البيانات السمة‬
‫يغطي هذا المقطع الكائنات التي ترتبط الجدول والحقول ‪ ،‬الحقل ‪ ،‬والعلقة‬
‫الطبقات‪.‬‬
‫‪ 5.2.1‬جداول‬
‫الشكل ‪ 5.1‬يبين الهيكل الهرمي‬
‫طاولة‬
‫‪،‬‬
‫‪ObjectClass‬‬
‫و‬
‫‪FeatureClass‬‬
‫‪.‬‬
‫و‬
‫‪ObjectClass‬‬
‫هو نوع من‬
‫طاولة‬
‫الطبقة التي تمثل الكيانات الصفوف ‪ ،‬و‬
‫‪FeatureClass‬‬
‫هو نوع من‬
‫‪ObjectClass‬‬
‫الصفوف التي تمثل ملمح‪ .‬ميزة‬
‫كائن فئة والحقول الفتراضية اثنين ‪ :‬الشكل الحقل الذي يخزن هندسة الميزات ‪،‬‬
‫والستثمارات الخارجية المباشرة الحقل الذي يخزن ميزة معرفات‪.‬‬
‫وقد أظهرت الفصل ‪ 4‬كيفية الوصول إلى فئة من خلل ميزة مصدر البيانات الخاصة به‪.‬‬
‫وهناك طريقة أخرى للوصول إلى الطبقة ميزة البرنامج هو عبارة عن طبقة الميزة التي موجود بالفعل‬
‫إدارة البيانات ‪69‬‬
‫في مخطط نشطة‪ .‬على سبيل المثال ‪ ،‬يمكننا الوصول إلى طبقة باستخدام ميزة‬
‫طبقة )(‬

‫ممتلكات‬
‫إيمب‬
‫والوصول ثم طبقة طبقة باستخدام ميزة‬
‫‪FeatureClass‬‬
‫على الممتلكات‬
‫‪IFeatureLayer‬‬
‫)الشكل ‪.(5.2‬‬
‫وقد أظهرت أيضا الفصل ‪ 4‬كيفية الوصول إلى ملف قديمه أو ملف نصي من خلل‬
‫مصدر البيانات‪ .‬بديل للوصول إلى ملف البرنامج هو عبارة عن جدول مستقل هو‬
‫الموجودة بالفعل في مخطط نشطة‪ .‬و‬
‫‪StandaloneTable‬‬
‫ل يرتبط مع كائن‬
‫فئة ميزة ولكنه يستند إلى جدول ‪ .nongeographic‬الشكل ‪ 5.3‬يوضح كيفية الوصول‬
‫الجدول الساسي على جدول مستقل‪ .‬أول ‪ ،‬استخدم‬
‫‪IStandaloneTableCollection‬‬
‫واجهة التي تدعم كائن خريطة للوصول إلى جدول مستقل‪ .‬ثانيا ‪ ،‬استخدام‬
‫طاولة‬
‫على الممتلكات‬
‫‪IStandaloneTable‬‬
‫للوصول إلى طاولة المفاوضات‪ .‬من الناحية النظرية ‪ ،‬مستقل‬
‫الجدول مثل طبقة ميزة و‬
‫طاولة‬
‫ممتلكات جدول مستقل هو مثل‬
‫‪FeatureClass‬‬
‫ممتلكات تابعة لطبقة الميزة‪.‬‬
‫‪ 5.2.2‬الحقول والحقول‬
‫و‬
‫الحقول‬
‫الكائن هو عبارة عن مجموعة من المجالت مثل فئة أو ميزة ‪nongeographic‬‬
‫الجدول‪ .‬وفي كلتا الحالتين ‪ ،‬وحقول كائن مقترن كائن الجدول )الشكل ‪.(5.4‬‬
‫ويمكننا أن نضيف لذلك ‪ ،‬حذف ‪ ،‬أو العثور على حقل من خلل الحقول أو كائن الجدول‪ .‬و‬
‫‪AddField‬‬
‫و‬
‫‪DeleteField‬‬
‫وسائل متاحة على حد سواء‬
‫‪ITable‬‬
‫و‬
‫‪IFieldsEdit‬‬
‫و‬
‫و‬
‫‪FindField‬‬
‫طريقة متاحة على حد سواء‬
‫‪ITable‬‬
‫و‬
‫‪IFields‬‬
‫‪.‬‬
‫حقول كائن يتكون من واحد أو أكثر‬
‫حقل‬
‫الكائنات )الشكل ‪ .(5.4‬كل حقل و‬
‫فهرس أو موقف مرقمة‪ .‬كائن حقل تنفذ‬
‫‪IField‬‬
‫و‬
‫‪IFieldEdit‬‬
‫‪.‬‬
‫الشكل ‪5.1‬‬
‫‪FeatureClass‬‬
‫هو نوع من‬
‫‪، ObjectClass‬‬
‫و‬
‫‪ObjectClass‬‬
‫هو نوع من‬
‫الجدول‪.‬‬
‫الشكل ‪5.2‬‬
‫ويمكن الطلع على فئة ميزة منتدى المجالس الرومانسية‬
‫البرمجة ‪ ARCOBJECTS‬مع ‪ : VBA‬نهج المهمة موجهة لل‬
‫‪IField‬‬
‫يحتوي على خصائص الحقل للقراءة فقط مثل السم ‪ ،‬وطول ‪ ،‬والدقة ‪ ،‬واكتب‪.‬‬
‫‪IFieldEdit‬‬
‫ومن ناحية أخرى ‪ ،‬خصائص الحقل كتابة فقط وبالتالي فهو مفيد‬
‫لتحديد حقل جديد‪.‬‬
‫‪ ArcObjects‬لديه‬
‫آلة حاسبة‬
‫‪ coclass‬لحساب قيم الحقل‪.‬‬
‫‪ICalculator‬‬
‫وخصائص‬
‫المؤشر‬
‫‪،‬‬
‫التعبير‬
‫و‬
‫حقل‬
‫وكذلك‬
‫حساب‬
‫السلوب )الشكل ‪ .(5.5‬مؤشر هو كائن وصول إلى بيانات ‪ ،‬والذي يسمح ماكرو لخطوة‬
‫من خلل مجموعة من السجلت في الجدول‪ .‬و‬
‫حساب‬
‫السلوب يستخدم تعبيرا تعريف‬
‫من قبل المستخدم لحساب القيم من حقل محدد‪.‬‬
‫‪ 5.2.3‬العلقة فئات‬
‫في ‪ ، ArcObjects‬يعرف النضمام أو تتصل كطبقة علقة تربط بين اثنين من الجداول‪.‬‬
‫ويمكن تخزين أصناف العلقة في قاعدة البيانات الجغرافية ‪ ،‬أو كما في هذا الفصل ‪ ،‬الذي بني في‬
‫الشكل ‪5.3‬‬
‫ويمكن الطلع على الجدول من خلل جدول مستقل في مخطط نشطة‪.‬‬
‫الشكل ‪5.4‬‬
‫العلقة بين‬
‫طاولة‬
‫‪،‬‬
‫الحقول‬
‫و‬
‫حقل‬
‫الكائنات فضل عن خصائص‬
‫والساليب من هذه الكائنات‪.‬‬
‫خريطة‬
‫‪IStandaloneTable StandaloneTable‬‬
‫‪IStandaloneTableCollection‬‬
‫‪StandaloneTable‬‬
‫‪IStandaloneTableCollection‬‬
‫‪IStandaloneTable‬‬
‫طاولة‬
‫طاولة‬
‫‪ IFields‬الحقول‬
‫‪ IField‬الميدانية‬
‫‪IFieldEdit‬‬
‫‪* . .1‬‬
‫‪IFieldsEdits‬‬
‫‪ITable‬‬
‫‪IFields‬‬
‫حقل‬
‫‪FieldCount‬‬
‫‪ITable‬‬
‫‪AddField‬‬
‫الحقول‬
‫‪DeleteField‬‬
‫‪FindField‬‬
‫‪IFieldsEdit‬‬
AddField
DeleteField
FindField
IFieldEdit
‫طول‬
‫اسم‬
‫دقة‬
‫نوع‬
‫طول‬
‫اسم‬
‫السمة إدارة البيانات ‪71‬‬
‫رمز بين الجداول التي هي قيد الستخدام‪ .‬لبناء النضمام أو تتصل في رمز يتطلب‬
‫تكون على استعداد الطبقة العلقة بوصفها ذاكرة )أي الظاهرية( من الدرجة الولى العلقة‬
‫)الشكل ‪ .(5.6‬و‬
‫‪MemoryRelationshipClassFactory‬‬
‫تطبق ‪coclass‬‬
‫‪- IMemory‬‬
‫‪RelationshipClassFactory‬‬
‫‪ ،‬التي لديها‬
‫فتح‬
‫طريقة لخلق علقة الذاكرة‬
‫فئة الكائنات‪.‬‬
‫والنضمام أو تتصل يمكن أن يقام بعد ذاكرة الطبقة علقة فتح‪ .‬و‬
‫يتم العداد من خلل ميزة الكائن طبقة ‪ ،‬ولكن السلوب يختلف بين النضمام‬
‫وتتعلق بها‪ .‬كائن ميزة طبقة‬
‫وتنفذ‬
‫‪IDisplayRelationshipClass‬‬
‫‪ ،‬والتي‬
‫لديه‬
‫‪DisplayRelationshipClass‬‬
‫طريقة لقامة صلة بين جدولين و‬
‫للحصول على الجدول انضم جاهزة للستخدام )الشكل ‪.(5.7‬‬
‫للنضمام إلى أكثر من جدولين ‪ ArcObjects ،‬ينص على أن‬
‫‪RelQueryTable‬‬
‫موضوع‬
‫يمكن استخدام تنشأ من النضمام الول والجسم كمصدر لخلق آخر‬
‫‪RelQueryTable‬‬
‫وجوه للنضمام الثاني )الشكل ‪ .(5.8‬يمثل زوج وانضم‬
‫من الجداول ‪ ،‬و‬
‫‪RelQueryTable‬‬
‫يتم الحصول على كائن من خلل‬
‫‪RelQueryTableFactory‬‬
‫‪.coclass‬‬
‫‪IRelQueryTableFactory‬‬
‫يوفر‬
‫فتح‬
‫الطريقة التي يمكن أن تخلق جديد‬
‫‪RelQueryTable‬‬
‫الكائن‪.‬‬
‫كائن ميزة طبقة‬
‫كما تنفذ‬
‫‪IRelationshipClassCollection‬‬
‫و‬
‫‪IRelationshipClassCollectionEdit‬‬
‫ويستخدم لدارة يتصل الشكل )‪.(5.9‬‬
‫‪IRelationshipClassCollection‬‬
‫وأعضاء لستنباط الحقائق ويتصل ‪ ،‬و‬
‫‪IRelationshipClassCollectionEdit‬‬
‫وأساليب لضافة أو إزالة تتعلق بها‪.‬‬
‫الشكل ‪5.5‬‬
‫على الخصائص والساليب‬
‫‪ICalculator‬‬
‫‪.‬‬
‫الشكل ‪5.6‬‬
‫و‬
‫‪MemoryRelationshipClassFactory‬‬
‫يمكن إنشاء‬
‫‪MemoryRelationshipClass‬‬
‫الكائن الذي هو نوع من‬
‫‪.RelationshipClass‬‬
ICalculator
‫حساب‬
‫المؤشر‬
‫حقل‬
‫التعبير‬
RelationshipClass
- MemoryRelationship
‫فئة‬
- MemoryRelationship
IMemoryRelationshipClassFactory ClassFactory
IMemoryRelationshipClassFac
‫السمة إدارة البيانات ‪73‬‬
‫حصر ‪ 5.3‬الميادين وخصائص الحقل‬
‫هذا القسم يقدم وحدات الماكرو للبلغ عن عدد من الحقول وخصائص الحقول‬
‫في مجموعة البيانات‪.‬‬
‫‪5.3.1‬‬
‫‪ListOfFields‬‬
‫‪ListOfFields‬‬
‫تقارير عدد من الحقول في فئة خاصة ‪ ،‬وأسماء الحقول‪ .‬و‬
‫الماكرو يؤدي وظيفة نفس باستخدام علمة التبويب الحقول في طبقة ميزة في‬
‫الحوار خصائص‪.‬‬
‫‪ListOfFields‬‬
‫من جزأين‪ .‬جزء ‪ 1‬يحصل على الدرجة ميزة وتقارير‬
‫عدد الحقول في فئة الميزة‪ .‬الجزء ‪ 2‬من خلل الخطوات كل حقل ‪ ،‬يحصل على‬
‫اسم الحقل ‪ ،‬ويضيف اسم الحقل إلى قائمة ‪ ،‬والتقارير القائمة‪.‬‬
‫واجهات رئيسية ‪:‬‬
‫‪IFields‬‬
‫‪،‬‬
‫‪IField‬‬
‫الرئيسية العضاء ‪:‬‬
‫الميادين ‪ ، FieldCount ،‬حقل )( ‪ ،‬السم ‪ ،‬إضافة‬
‫الستعمال ‪:‬‬
‫أضف‬
‫‪idcounty.shp‬‬
‫إلى خريطة نشطة‪.‬‬
‫‪Idcounty‬‬
‫يعرض ‪ 44‬مقاطعات في ولية ايداهو و‬
‫لديه بعض الصفات الديموغرافية‪ .‬استيراد‬
‫‪ListOfFields‬‬
‫إلى محرر البصرية الساسية‪ .‬تشغيل‬
‫الماكرو‪ .‬مربع الرسالة الولى تقارير في عدد من المجالت‬
‫‪idcounty‬‬
‫و‬
‫الرسالة الثانية يسرد أسماء الحقول‪.‬‬
‫‪ ListOfFields‬الفرعية الخاصة )(‬
‫'الجزء ‪ : 1‬احصل على فئة خاصة ‪ ،‬وحقولها‪.‬‬
‫‪ pMxDoc‬قاتمة كما ‪IMxDocument‬‬
‫‪ pMap‬قاتمة كما إيمب‬
‫‪ pFeatureLayer‬قاتمة كما ‪IFeatureLayer‬‬
‫‪ pFeatureClass‬خافت و ‪IFeatureClass‬‬
‫‪ pFields‬قاتمة كما ‪IFields‬‬
‫عدد قاتمة طالما‬
‫مجموعة ‪pMxDoc = ThisDocument‬‬
‫مجموعة ‪pMap = pMxDoc.FocusMap‬‬
‫مجموعة ‪(pFeatureLayer = pMap.Layer (0‬‬
‫مجموعة ‪pFeatureClass = pFeatureLayer.FeatureClass‬‬
‫مجموعة ‪pFields = pFeatureClass.Fields‬‬
‫'احصل على عدد من المجالت‪.‬‬
‫عد = ‪pFields.FieldCount‬‬
‫‪" MsgBox‬هناك" & & عد حقول ""‬
‫جزء ‪ 1‬مجموعات‬
‫‪pFeatureClass‬‬
‫لتكون سمة من سمات فئة الطبقة العليا في خريطة نشطة‪.‬‬
‫التالي رمز مجموعات‬
‫‪pFields‬‬
‫أن تكون مجالت‬
‫‪pFeatureClass‬‬
‫و‬
‫عد‬
‫متغير‬
‫أن تكون الملكية على ‪Fieldcount‬‬
‫‪IFields‬‬
‫‪ .‬مربع رسالة تقارير بعد ذلك عدد من المجالت‪.‬‬
‫'الجزء ‪ : 2‬إعداد قائمة الحقول وعرض القائمة‪.‬‬
‫ثانيا طالما خافت‬
‫خافت وخارجها ‪IField‬‬
‫‪ fieldName‬قاتمة كما البديل‬
‫قاتمة قائمة السماء والبديل‬
‫'حلقة من خلل كل حقل ‪ ،‬وإضافة اسم الحقل إلى قائمة‪.‬‬
‫للثاني = ‪ 0‬إلى ‪pFields.FieldCount – 1‬‬

You might also like