أكثر

الحصول على قيم الصف الأخير في الجدول باستخدام ArcPy / SearchCursor؟

الحصول على قيم الصف الأخير في الجدول باستخدام ArcPy / SearchCursor؟


أرغب في بناء استفساري على الصف الأخير من الجدول؟ أعرف البنية الأساسية / الوظيفة الأساسية لمؤشر البحث الخاص بي ، كيف يمكنني الاستعلام عن الصف الأخير فقط ؛

يوجد أدناه مثال لمعايير البحث الخاصة بي ، وتأتي هذه البيانات من سجل النجاح / الفشل لبرنامج نصي يتم تشغيله ، وسأبني قرارات أخرى على النجاح أو الفشل لاحقًا في التطبيق.

كيف أضيف إلى الكود الخاص بي الوظيفة للبحث في الصف الأخير ، إلىالحصول على قيمةمنالوقتوالنجاحأويفشل

أنا أستخدم ArcGIS 10.2.

cursor = arcpy.SearchCursor (aTable، "" "Time> DATEADD (minutes، -2، GETDATE ())" "") للصف في المؤشر: print (row.getValue ("Time")) if row.getValue (" الوقت ") 

يتم تنفيذ هذا لاحقًا في البرنامج النصي ويقوم بإنشاء ملفالنجاحأويفشلالقيم كمانعمورقمعلى التوالى.

rows = arcpy.InsertCursor (aTable) لـ x في xrange (0، outputobjects): row = rows.newRow () row.setValue ("Success"، 'YES') row.setValue ("Fail"، 'NO') row .setValue ("الوقت" ، ابدأ) rows.insertRow (صف)

عادةً ما أقترح مؤشر da.SearchCursor أيضًا ، لكن الترتيب حسب البند يعمل فقط مع البيانات الموجودة في قاعدة البيانات. لذلك ، إذا كان في قاعدة بيانات:

a_table = "YourTable" order_fld = "الوقت" return_flds = ["الوقت" ، "SomeOtherField"] where_str = "" "الوقت> DATEADD (دقيقة ، -2 ، GETDATE ())" "" sql_clause = (بلا ، 'ORDER BY {} DESC'.format (order_fld)) last_row = "last_time =" مع arcpy.da.SearchCursor (a_table، return_flds، where_clause = where_str، sql_clause = sql_clause) كمؤشر: last_row = cursor.next () last_time = last_row [0 ]

عدا ذلك ، إذا كان ملفًا شكليًا:

sort_string = "{} D" .format (order_fld) arcpy.SearchCursor (a_table، where_clause = where_str، sort_fields = sort_string) last_row = cursor.next () last_time = last_row.Time

كلاهما ، لست مضطرًا إلى تكرار النتيجة بأكملها للحصول على الصف "الأخير". بالترتيب تنازليًا ، يكون الصف الأخير هو الصف الأول ، ويمكنك المضي قدمًا.


إذا كنت تستخدم الإصدار 10.2 ، فإنني أوصي أولاً باستخدام إصدار تحليل البيانات لمؤشر البحث. ثم يمكنك استخدام قائمة فهم بايثون للحصول على القيمة الأخيرة.

جرب شيئا مثل الكود أدناه. يقوم بإنشاء قائمة بجميع القيم في حقل "الوقت" ، ثم يصل إلى السجل الأخير من خلال الفهرسة (ملف[-1]في نهاية سطر فهم القائمة).

#Time اسم الحقل TimeFld = "الوقت" # مؤشر البحث لفهم وتحليل البيانات LastTimeValue = [r [0] لـ r في arcpy.da.SearchCursor (aTable، TimeFld)] [- 1] #Logic تحقق مما إذا كان LastTimeValue <التاريخ والوقت. datetime.now (). strftime ('٪ m /٪ d /٪ Y٪ H:٪ M:٪ S'): اطبع "true" else: اطبع "false"

يمكنك القيام بذلك باستخدام مؤشر البحث ملفوفًا في قائمة الفهم:

import arcpy # إدخالك shp لـ fc fc = r'C:  path  to  your.shp '# سرد كافة قيم الصف كقائمة من صفوف الصفوف = [صف للصف في arcpy.da.SearchCursor (fc، "*")] # الحصول على صف طباعة الصف الأخير [-1]

فكرة أخرى ، على الرغم من أن كل هذه الإجابات يجب أن تعمل. سيؤدي هذا إلى تجنب الاضطرار إلى تكرار المؤشر بالكامل. لست متأكدًا مما إذا كان sql_clause سيؤدي إلى انخفاض الأداء على الرغم من:

oid_field = "OBJECTID" sql = ("ORDER BY {0} D" .format (oid_field)، "") مع arcpy.da.SearchCursor (table، "*"، sql_clause = sql) كمؤشر: للصف في المؤشر: last_row = فاصل الصف

يعتمد اسم حقل معرف الكائن على نوع مجموعة البيانات التي تعمل بها ، ولكن ستكون أعلى قيمة هي الصف الأخير دائمًا. سيتم فرز هذا المؤشر تنازليًا حسب معرف الكائن ، وبعد ذلك عليك فقط تكرار الصف الأول. لم أختبر هذا بالرغم من ...


إلحاق tuple بالكتابة فوق القيم السابقة

أنا أستخدم arcpy للحصول على كل الخطوط المتعددة لملف الشكل. يُرجع SearchCursor مؤشرًا حتى أتمكن من التكرار على جميع ميزات ملف الشكل. المشكلة هي أنني أريد حفظ جميع الكائنات التي تم إرجاعها بواسطة المؤشر لاستخدامها لاحقًا.

من المفترض أن يحتوي Tuple على جميع الكائنات التي تم إرجاعها بواسطة المؤشر. لكنها تحتوي فقط على العناصر الأخيرة بحجم متكرر من عدد المرات.

3610930 2135882 3611593 2134453

3611806 2134981 3611593 2134453

3614160 2136164 3617432 2131734

3611593 2134453 3617432 2131734

3617432 2131734 3620568 2127591

3620568 2127591 3620785 2127423

3617980 2126657 3620568 2127591

3616768 2129454 3617948 2126649

3617948 2126649 3617980 2126657

3615102 2128889 3617587 2126510

3617587 2126510 3617948 2126649

3617624 2126416 3617980 2126657

3613129 2128176 3615155 2125617

3615155 2125617 3617587 2126510

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

3615086 2125515 3615155 2125617

في البداية ، جربت هذا باستخدام القائمة. تم العثور أيضًا على نفس الإخراج للقائمة عندما استخدمت طريقة "append ()". نظرًا لأن tuple عبارة عن بنية بيانات غير قابلة للتغيير ، فكيف يمكن + الكتابة فوق جميع العناصر السابقة لـ tuple. على الرغم من أن هذا الرمز مكتوب لـ Arcpy ، لكنني أعتقد أن المشكلة ليست محددة لـ Arcgis.


نظرة عامة على وظائف ArcPy

يوفر ArcPy عددًا من الوظائف لدعم سير العمل بشكل أفضل باستخدام Python.

بالإضافة إلى الوظائف المدرجة في هذا الموضوع ، يمكن الوصول إلى جميع أدوات المعالجة الجغرافية كوظائف ArcPy ، راجع استخدام الأدوات في Python لمزيد من المعلومات. يمكن العثور على وظائف إضافية في وحدات ArcPy النمطية الأخرى ، بما في ذلك ما يلي:

    (arcpy.charts) (arcpy.da) (arcpy.geocoding) (arcpy.ia) (arcpy.mp) (arcpy.metadata) (arcpy.nax and arcpy.na) (arcpy.sharing) (arcpy.sa) ( arcpy.wmx)

وظائف ArcGIS Online / Portal

تزيل وظيفة ClearCredentials معلومات اعتماد ArcGIS Server من جهاز العميل لتعطيل الوصول إلى الخدمات المؤمنة.

يُرجع عنوان URL الخاص بالبوابة الإلكترونية النشطة.

يتم استخدام GetPortalDescription لإرجاع طريقة عرض البوابة الإلكترونية كما يراها المستخدم الحالي ، أو مجهول أو قام بتسجيل الدخول. وتتضمن معلومات مثل الاسم والشعار والعناصر المميزة والبروتوكولات المدعومة (HTTP مقابل HTTPS) لهذه البوابة. إذا لم يتم تسجيل دخول المستخدم ، ستعيد هذه المكالمة العرض الافتراضي للبوابة الإلكترونية. إذا تم تسجيل دخول المستخدم ، فسيكون عرض البوابة الإلكترونية التي تم إرجاعها خاصة بالمؤسسة التي ينتمي إليها المستخدم. تعتمد طريقة العرض الافتراضية للبوابة الإلكترونية على ثقافة المستخدم ، والتي يتم الحصول عليها من ملف تعريف المستخدم.

ترجع الدالة GetPortalInfo قاموسًا يحتوي على معلومات حول المداخل المتوفرة.

يُرجع معلومات الرمز المميز عند تسجيل الدخول إلى ArcGIS.com أو بوابة إلكترونية محلية.

تستورد وظيفة ImportCredentials بيانات الاعتماد من ملف اتصال GIS Server للخدمات المؤمنة غير المستندة إلى ArcGIS Server.

ترجع الدالة ListPortalURLs قائمة بعناوين URL المتوفرة للبوابة الإلكترونية.

تتيح لك وظيفة SignInToPortal تسجيل الدخول إلى البوابة الإلكترونية.

وظائف المؤشر

إدراج صفوف في فئة المعالم أو ملف الشكل أو الجدول. يُرجع InsertCursor كائن تعداد يوزع كائنات الصف.

تقوم وظيفة SearchCursor بإنشاء مؤشر للقراءة فقط على فئة أو جدول ميزة. يمكن استخدام SearchCursor للتكرار خلال كائنات الصف واستخراج قيم الحقل. يمكن تقييد البحث اختياريًا بعبارة أين أو حسب الحقل وفرزًا اختياريًا.

تُنشئ وظيفة UpdateCursor مؤشرًا يسمح لك بتحديث أو حذف الصفوف في فئة الميزة المحددة أو ملف الشكل أو الجدول. يضع المؤشر قفلًا على البيانات التي ستبقى حتى يكتمل البرنامج النصي أو يتم حذف كائن مؤشر التحديث.

وظائف تخزين البيانات

يُسجل المجلد أو قاعدة البيانات في موقع ArcGIS Server.

يُرجع قائمة المجلدات أو قواعد البيانات المسجلة في موقع ArcGIS Server.

إلغاء تسجيل مجلد أو قاعدة بيانات من موقع ArcGIS Server.

يتحقق مما إذا كان المجلد أو قاعدة البيانات قد تم تسجيلهما بنجاح في موقع ArcGIS Server.

وصف وظائف البيانات

Die Funktion وصف gibt ein وصف -Objekt mit mehreren Eigenschaften، z. B. dem Datentyp، Feldern، Indizes usw.، zurück. Die Eigenschaften sind dynamisch. Je nach beschriebenem Datentyp können أيضًا unterschiedliche Eigenschaften verwendet werden.

وظائف البيئة

يعيد تعيين إعداد بيئة معينة إلى الإعداد الافتراضي الخاص به.

الحصول على قيمة متغير بيئة النظام المحددة ، مثل "TEMP".

إرجاع قائمة بأسماء بيئة المعالجة الجغرافية.

يعيد تعيين جميع إعدادات البيئة إلى إعداداتها الافتراضية.

الوظائف الميدانية

يضيف محددات الحقول إلى اسم الحقل للسماح باستخدامها في تعبيرات SQL.

يوزع اسم حقل مؤهل بالكامل في مكوناته (قاعدة البيانات ، واسم المالك ، واسم الجدول ، واسم الحقل) اعتمادًا على مساحة العمل. يقوم ParseFieldName بإرجاع سلسلة تتضمن اسم الجدول الذي تم تحليله وتحتوي على أسماء قاعدة البيانات والمالك والجدول والحقل ، مفصولة بفواصل. يجب أن تكون مساحة العمل قاعدة بيانات جغرافية شخصية أو ملفية أو مؤسسية.

يأخذ سلسلة (اسم حقل) ومسار مساحة عمل ويعيد اسم حقل صالحًا استنادًا إلى قيود الاسم في قاعدة البيانات الجغرافية الناتجة. سيتم استبدال جميع الأحرف غير الصالحة في سلسلة الإدخال بشرطة سفلية (_). تعتمد قيود اسم الحقل على قاعدة البيانات المحددة المستخدمة (لغة الاستعلام الهيكلية [SQL] أو Oracle).

وظائف عامة

يحدّث الاسم المستعار لجدول أو فئة ميزة.

ينفذ أداة معالجة جغرافية كسلسلة واحدة.

يخلق كائنات المعالجة الجغرافية. يمكن استخدام الوسائط الإضافية لتحديد المتطلبات الإضافية لإنشاء الكائن مثل عدد الأعمدة في كائن ValueTable.

ينشئ مولد رقم عشوائي جديد.

إرجاع قائمة بالطابعات المتوفرة على الكمبيوتر المحلي.

تُرجع صيغة الأداة أو الوظيفة المحددة.

وظائف البيانات العامة

ينشئ اسم مسار خدش فريد لنوع البيانات المحدد. إذا لم يتم توفير مساحة عمل ، فسيتم استخدام مساحة العمل الحالية.

ينشئ اسمًا فريدًا في مساحة العمل المحددة بإلحاق رقم باسم الإدخال. يتم زيادة هذا الرقم حتى يصبح الاسم فريدًا. إذا لم يتم تحديد مساحة عمل ، فسيتم استخدام مساحة العمل الحالية.

يحدد وجود كائن البيانات المحدد. تختبر هذه الوظيفة وجود أنواع بيانات متنوعة بما في ذلك فئات المعالم والجداول ومجموعات البيانات وملفات الأشكال ومساحات العمل والطبقات والملفات. ترجع الدالة قيمة منطقية تشير إلى ما إذا كان العنصر موجودًا أم لا.

يوزع اسم الجدول في مكوناته (قاعدة بيانات ، مالك ، جدول) حسب مساحة العمل. يقوم ParseTableName بإرجاع سلسلة تحتوي على اسم الجدول الذي تم تحليله ، مع فصل اسم قاعدة البيانات واسم المالك واسم الجدول بفاصلات. يجب أن تكون مساحة العمل هذه قاعدة بيانات جغرافية شخصية أو ملفية أو مؤسسية.

يختبر ما إذا كان يمكن الحصول على قفل مخطط لفئة ميزة أو جدول أو مجموعة بيانات ميزة. ستتطلب الأدوات التي تغير المخطط وضع قفل مخطط على بيانات الإدخال. أداة Add Field هي مثال على هذه الأداة. إذا كانت الأداة تتطلب قفل مخطط وغير قادر على الحصول عليه في وقت التنفيذ ، يتم إرجاع رسالة خطأ مناسبة. يجب أن تختبر البرامج النصية التي تستخدم مثل هذه الأدوات ما إذا كان يمكن الحصول على قفل مخطط على بيانات الإدخال. لن تقوم وظيفة TestSchemaLock فعليًا بتطبيق قفل مخطط على بيانات الإدخال ، ولكنها ستعيد قيمة منطقية.

يأخذ اسم الجدول ومسار مساحة العمل ويعيد اسم جدول صالحًا لمساحة العمل. سيحل تسطير أسفل السطر "_" محل أي حرف غير صالح موجود في اسم الجدول وسيحترم قيود الاسم الخاصة بمساحة العمل. تعتمد قيود اسم الجدول على RDBMS المحدد المستخدم.

وظائف إدارة قاعدة البيانات الجغرافية

يسمح للمسؤول بتمكين أو تعطيل قدرة المستخدمين غير الإداريين على إجراء اتصالات بقاعدة بيانات جغرافية للمؤسسة.

يسمح للمسؤول بفصل المستخدمين المتصلين حاليًا بقاعدة بيانات جغرافية مؤسسية.

تُرجع قائمة المجموعات المسماة التي تحتوي على معلومات للمستخدمين المتصلين بقاعدة بيانات جغرافية مؤسسية.

وظائف الهندسة

يحول هندسة Esri JSON أو GeoJSON إلى هندسة ArcPy ، ومجموعات معالم Esri JSON إلى مجموعات معالم ArcPy. GeoJSON هو تنسيق لتبادل البيانات الجغرافية المكانية لتشفير هياكل البيانات الجغرافية.

يحول سلسلة تدوين نظام الإحداثيات إلى كائن PointGeometry في إحداثيات WGS84.

يحول سلسلة geohash إلى كائن Extent في إحداثيات WGS 1984 التي تمثل المربع المحيط المقابل في شبكة geohash.

أنشئ كائنًا هندسيًا جديدًا من سلسلة ثنائية معروفة (WKB) مخزنة في مصفوفة bytearray.

قم بإنشاء كائن Geometry جديد من سلسلة نصية معروفة (WKT).

وظائف الترخيص والتركيب

يتحقق لمعرفة ما إذا كان الترخيص متاحًا ليتم فحصه لنوع معين من الامتدادات.

يُرجع الترخيص إلى "إدارة الترخيص" بحيث يمكن للتطبيقات الأخرى استخدامه.

يسترجع الترخيص من مدير الترخيص.

يتحقق لمعرفة ما إذا كان الترخيص المطلوب متاحًا.

ترجع الدالة GetInstallInfo قاموسًا يحتوي على معلومات حول التثبيت.

تقوم وظيفة ListInstallations بإرجاع قائمة بأنواع التثبيت (الخادم ، سطح المكتب ، المحرك ، Arcgispro).

يُرجع ترخيص المنتج الحالي.

سرد وظائف البيانات

تُرجع قائمة بمجموعات البيانات في مساحة العمل الحالية. يمكن تحديد شروط البحث لاسم مجموعة البيانات ونوع مجموعة البيانات للحد من القائمة التي يتم إرجاعها.

لعرض قائمة بفئات المعالم في مساحة العمل الحالية ، مقيدة بالاسم ونوع الميزة ومجموعة بيانات الميزة الاختيارية.

تُرجع قائمة الحقول في فئة معلم ، أو ملف شكل ، أو جدول في مجموعة بيانات محددة. يمكن أن تكون القائمة التي تم إرجاعها محدودة بمعايير البحث عن الاسم ونوع الحقل وستحتوي على كائنات الحقل.

إرجاع قائمة بالملفات الموجودة في مساحة العمل الحالية.

تُرجع قائمة الفهارس في فئة معلم أو ملف شكل أو جدول في مجموعة بيانات محددة.

تُرجع قائمة بالنقطيات في مساحة العمل الحالية.

إرجاع قائمة الجداول في مساحة العمل الحالية.

يسرد الإصدارات التي يمتلك المستخدم المتصل الإذن باستخدامها.

تُرجع قائمة بمساحات العمل في مساحة العمل الحالية.

وظائف التسجيل

يحدد ما إذا كان تسجيل المحفوظات نشطًا.

يحدد ما إذا كانت عمليات المعالجة الجغرافية تتم كتابتها في البيانات الوصفية لمجموعة البيانات.

يتحكم في ما إذا كانت المعلومات المتعلقة بتنفيذ أدوات المعالجة الجغرافية تتم كتابتها في ملف سجل خارجي.

يتحكم في ما إذا كان يتم تحديث البيانات الوصفية لمجموعات البيانات الخاصة بإدخال وإخراج أداة المعالجة الجغرافية لتشمل اسم الأداة والمعلمات ووقت تشغيل الأداة والمعلومات الأخرى.

وظائف معالجة الرسائل والخطأ

يضيف رسالة خطأ (خطورة 2) إلى رسائل أداة البرنامج النصي أو أداة مربع أدوات Python.

يسمح لك باستخدام رسائل النظام مع أداة البرنامج النصي.

يضيف رسالة إعلامية مخصصة (درجة الخطورة 0) إلى رسائل أداة البرنامج النصي أو أداة مربع أدوات Python.

يضبط رسالة الإرجاع الخاصة بأداة البرنامج النصي كرسالة إخراج حسب الفهرس.

يضيف رسالة تحذير مخصصة (درجة الخطورة 1) إلى رسائل أداة البرنامج النصي أو أداة مربع أدوات Python.

احصل على سلسلة الخطأ أو رسالة معرف التحذير.

يحصل على الحد الأقصى من الخطورة الذي تم إرجاعه من آخر أداة تم تنفيذها.

تُرجع رسالة أداة المعالجة الجغرافية من خلال موضع الفهرس الخاص بها.

يُرجع عددًا رقميًا لجميع الرسائل التي تم إرجاعها من آخر أمر تم تنفيذه.

إرجاع رسائل المعالجة الجغرافية من أداة بمستوى خطورة محدد.

قم بإرجاع رمز خطأ الرسالة بالفهرس.

يحصل على رمز الخطورة (0 ، 1 ، 2) للرسالة المحددة بالفهرس.

تُرجع مستوى الخطورة. يتم استخدام مستوى الخطورة للتحكم في كيفية طرح أدوات المعالجة الجغرافية الاستثناءات.

تستخدم للتحكم في كيفية طرح أدوات المعالجة الجغرافية الاستثناءات.

وظائف المعلمة

ينسخ المعامل المحدد بالفهرس إلى معامل آخر في أداة البرنامج النصي. يجب أن تكون المعلمات المحددة من نفس نوع البيانات.

إرجاع عدد الوسائط التي تم تمريرها إلى البرنامج النصي.

من قائمة المعلمات ، حدد المعلمة المطلوبة من خلال قيمة الفهرس الخاصة بها. يتم إرجاع المعلمة ككائن.

الحصول على المعلمة المحددة كسلسلة نصية من خلال موضع الفهرس الخاص بها من قائمة المعلمات.

تُرجع عدد قيم المعلمات للأداة المحددة. إذا كانت الأداة مضمنة في مربع أدوات مخصص ، فاستخدم ImportToolbox للوصول إلى الأداة المخصصة.

تُرجع قائمة كائنات المعلمات لأداة معينة وتُستخدم بشكل شائع في فئة ToolValidator الخاصة بأداة البرنامج النصي.

بالنسبة لاسم أداة محدد ، تُرجع القيمة الافتراضية للمعلمة المطلوبة.

يضبط خاصية معلمة محددة بالفهرس باستخدام كائن. تُستخدم هذه الوظيفة لتمرير الكائنات من برنامج نصي إلى أداة نصية. إذا كنت بحاجة إلى تمرير سلسلة ، فاستخدم الدالة SetParameterAsText.

الحصول على المعلمة المحددة كسلسلة نصية من خلال موضع الفهرس الخاص بها من قائمة المعلمات.

يضبط خصائص الترميز لمعلمة الإخراج المحددة لأداة البرنامج النصي.

تقدم وظائف الحوار

يعيد التطور إلى حالته الأولية.

ينشئ كائنًا لمطور التطور لدعم معلومات التقدم التي سيتم عرضها في جزء المعالجة الجغرافية. يمكن التحكم في مظهر التطور عن طريق اختيار إما مُطور التطور الافتراضي أو مُطور الخطوة.

يحدّث تسمية مرضى التطور في جزء المعالجة الجغرافية.

يحدّث شريط حالة التطور في جزء المعالجة الجغرافية.

وظائف النشر

تقوم الوظيفة بتحويل محدد المواقع إلى ملف مسودة تعريف الخدمة (.sddraft) ، والذي يمكن استخدامه لإنشاء تعريف خدمة لنشر خدمة التكويد الجغرافي.

تقوم الوظيفة بتحويل كائنات النتائج وملفات النتائج (.rlt) إلى ملفات مسودة تعريف الخدمة (.sddraft).

تعد وظيفة CreateImageSDDraft هي الخطوة الأولى لأتمتة نشر مجموعة بيانات فسيفساء أو مجموعة بيانات نقطية كخدمة صورة باستخدام ArcPy. الإخراج الذي تم إنشاؤه من CreateImageSDDraft هو ملف مسودة تعريف الخدمة (.sddraft) ، وهو عبارة عن مجموعة بيانات فسيفساء في قاعدة البيانات الجغرافية أو مجموعة بيانات نقطية ، ومعلومات حول الخادم ، ومجموعة من خصائص الخدمة. يمكن تنظيم مسودة تعريف الخدمة هذه على شكل تعريف خدمة ثم تحميلها إلى خادم ArcGIS محدد كخدمة صور.

وظائف خطوط المسح

تُرجع معلومات رأس EXIF ​​من صورة ذات علامات جغرافية.

يحول مصفوفة NumPy إلى خطوط نقطية.

يحول البيانات النقطية إلى مصفوفة NumPy.

الإسناد المكاني ووظائف التحويل

يولد كائن SpatialReference بنظام إحداثي مُسقط مخصص مثالي للمدى المحدد والغرض المقصود من الخريطة أو التحليل.

تُرجع قائمة بأسماء المراجع المكانية المتاحة لاستخدامها كوسيطة لفئة SpatialReference.

إرجاع قائمة بأساليب التحويل الصالحة. يمكن استخدام مدى لتضييق قائمة طرق التحويل الصالحة لمنطقة جغرافية معينة.

وظائف الأدوات والأدوات

يستورد مربع الأدوات المحدد في ArcPy ، مما يسمح بالوصول إلى الأدوات المرتبطة بصندوق الأدوات.

فك تشفير ملف أدوات Python المشفر.

يشفر ملف أدوات Python.

يستورد مربع الأدوات المحدد في ArcPy ، مما يسمح بالوصول إلى الأدوات المرتبطة بصندوق الأدوات.

يحدد ما إذا كانت الأداة تعمل بشكل متزامن أو غير متزامن. عندما تكون الأداة متزامنة ، يتم إرجاع النتائج تلقائيًا ، ولكن لا يمكن اتخاذ أي إجراء آخر حتى تكتمل الأداة. جميع الأدوات التي ليست خادمًا متزامنة. قد تكون أدوات الخادم غير متزامنة ، مما يعني أنه بمجرد إرسال الأداة إلى الخادم ، يمكن تشغيل وظائف أخرى دون انتظار ، ويجب طلب النتائج صراحة من الخادم.

يُرجع قائمة بمربعات الأدوات.

إرجاع قائمة بأدوات المعالجة الجغرافية.

يزيل مربع الأدوات المحدد ، إما عن طريق تحديد مساره أو الرجوع إلى اسمه المستعار. يزيل صندوق الأدوات المحدد من جلسة المعالجة الجغرافية الحالية. يمكن أيضًا إزالة مربعات أدوات الخادم باستخدام محدد الفاصلة المنقوطة.


1 إجابة 1

مرحبًا بكم في GIS SE.
لقد قمت بتحرير السيناريو الخاص بك. يرجى الملاحظة:

لقد قمت بتحديث مؤشر البحث ليشمل نهج "da" الجديد والأسرع. من فضلك اقرأ عن استخدام المؤشرات هنا

سيقوم البرنامج النصي أدناه بطباعة قيمة fld_name لكل صف في الجدول.

يرجى استخدام تنسيق الإدخال الأولي عند محاولة تحديد مواقع الملفات.

شكرا لاقتراحاتكم. لقد استخدمت هذا البرنامج النصي وقمت أيضًا بتغيير ملف .mdb إلى .gdb وعمل.


المؤشرات والقفل

قم بإدراج وتحديث المؤشرات لتكريم أقفال الجدول التي تم تعيينها بواسطة تطبيقات ArcGIS. تمنع الأقفال عمليات متعددة من تغيير نفس الجدول في نفس الوقت. هناك نوعان من الأقفال: مشتركة وحصرية.

  • يتم تطبيق قفل مشترك في أي وقت يتم فيه الوصول إلى جدول أو مجموعة بيانات. يمكن أن توجد أقفال مشتركة متعددة لجدول ، ولكن لا يُسمح بأقفال حصرية في حالة وجود قفل مشترك. يعد عرض فئة المعالم في ArcMap ومعاينة الجدول في ArcCatalog أمثلة على وقت تطبيق القفل المشترك.
  • يتم تطبيق الأقفال الحصرية عند إجراء تغييرات على جدول أو فئة معلم. يعد تحرير فئة المعالم وحفظها في ArcMap وتغيير مخطط الجدول في ArcCatalog أو باستخدام مؤشر إدراج في فئة معلم في Python IDE ، مثل PythonWin ، أمثلة على متى يتم تطبيق قفل حصري بواسطة ArcGIS.

لا يمكن إنشاء مؤشرات التحديث والإدراج لجدول أو فئة ميزة في حالة وجود قفل خاص لمجموعة البيانات هذه. تفشل الدالتان UpdateCursor أو InsertCursor بسبب تأمين خاص على مجموعة البيانات. إذا نجحت هذه الوظائف في إنشاء مؤشر ، فإنها تطبق قفلًا خاصًا على مجموعة البيانات بحيث لا يتمكن نصان برمجيان من إنشاء تحديث أو إدراج مؤشر في نفس مجموعة البيانات.

في Python ، يستمر القفل حتى يتم تحرير المؤشر. وإلا ، فقد يتم منع جميع التطبيقات أو البرامج النصية الأخرى دون داعٍ من الوصول إلى مجموعة بيانات. يمكن تحرير المؤشر بواحد مما يلي:

  • تضمين المؤشر داخل عبارة with ، مما يضمن تحرير الأقفال بغض النظر عما إذا كان المؤشر قد اكتمل بنجاح أم لا
  • استدعاء إعادة تعيين () على المؤشر
  • اكتمال المؤشر
  • حذف المؤشر صراحةً باستخدام جملة del الخاصة ببايثون

تُطبق جلسة التحرير في ArcMap قفلًا مشتركًا على البيانات أثناء جلسة التحرير. يتم تطبيق قفل خاص عند حفظ التعديلات. مجموعة البيانات غير قابلة للتحرير في حالة وجود قفل خاص بالفعل.


Kelsey Kaszas - نظم المعلومات الجغرافية (GIS)

تم إنشاء هذا الرمز أثناء دورة البرمجة والتطوير الخاصة بنظم المعلومات الجغرافية في جامعة كاليفورنيا في لوس أنجلوس خلال شتاء 2012. والغرض من الكود مخصص للبحث الذي أجراه الدكتور توماس جيليسبي من قسم الجغرافيا بجامعة كاليفورنيا ، ومع ذلك يمكن استخدام الكود لمجموعة متنوعة من التطبيقات .

تتضمن أبحاث الدكتور جيليسبي تحديد النقاط الساخنة للتنوع البيولوجي العالمي التي شهدت تغيرًا كبيرًا في الغطاء الأرضي. تسمى مجموعة البيانات المستخدمة مشروع GLOBCOVER وقد تم إنشاؤها بواسطة وكالة الفضاء الأوروبية (ESA). البيانات عبارة عن خطوط نقطية لصور القمر الصناعي تم تصنيفها إلى أنواع غطاء أرضي. يتم إنشاء مجموعة بيانات جديدة كل بضع سنوات وهدف بحث Gillespie هو مقارنة المناطق البيئية والبلدان والمناطق المحمية بمرور الوقت للبحث عن تدهور الغابات.

للمساعدة في حل سؤال البحث هذا ، ينتج هذا الكود إحصائيات عن مساحة الغطاء الأرضي (km2) والنسبة المئوية للغطاء الأرضي (٪) للمضلعات (أي المناطق البيئية والبلدان والمناطق المحمية). يتم تحقيق ذلك باستخدام المضلعات لاستخراج بيانات البكسل من البيانات النقطية GLOBCOVER. من أجل إجراء مقارنة زمنية ، ستكون هناك حاجة إلى رمز منفصل لرسم إحصائيات المقارنة.


وصف الكود الفني:
يهدف Batch Raster Extractor إلى توفير طريقة قياسية وقابلة للتكرار لاستخراج البيانات النقطية باستخدام مضلعات ملف متجه. يعمل البرنامج النصي في أربع خطوات رئيسية. أولاً ، يقوم المستخدم بإدخال ملف المتجه وملف البيانات النقطية محل الاهتمام. ثانيًا ، يتم استخدام أداة تقسيم حسب البيانات الجدولية لتصدير كل مضلع إلى ملف شكل منفصل. ثالثًا ، يتم إخفاء كل مضلع أعلى الخط النقطي ويستخدم لاستخراج مجموعة فرعية من البيانات النقطية. رابعًا ، يتم حساب الإحصائيات لكل مجموعة فرعية من البيانات النقطية ، ويتم إلحاق حقول المنطقة والنسبة المئوية بجداول البيانات الجدولية لكل مجموعة فرعية.

متطلبات الكود:
لاستخدام هذا الرمز ، يجب أن يكون لدى المستخدم تثبيت Python 2.6 for ArcGIS 10 (أو أعلى). يتم استخدام نص برمجي Python مخصص يسمى "Split Layer by Attributes" في هذا الرمز ، ويجب تنزيله حتى يعمل هذا الرمز من هذا الرابط. يجب أن يكون لدى المستخدم ترخيص لـ ArcGIS Spatial Analyst Extension.


1 إجابة 1

إذا كان الحقل الخاص بك هو كتابة التاريخ ، فيجب أن يعمل الرمز أدناه. لم يتم احتساب السطر الأخير نظرًا لعدم وجود صف بعده. أو هل تريد حساب فرق الصف الثاني على سبيل المثال بصفتها الصف الثاني والصف الأول؟

لهذا السبب أحب استخدام SE ، لم أستخدم وظيفة iter () مطلقًا من قبل ، واضطررت للذهاب بعيدًا والبحث عنها ، مثلها! هل هناك تحسين في الأداء باستخدام هذا النهج أم أنه من أجل الملاءمة؟

لطيف! لا أعرف ما إذا كان هناك تعزيز الأداء. أستخدمها لأنها طريقة بسيطة لجلب العناصر في قائمة بدلاً من محاولة تكرارها فوق مؤشر وقائمة في نفس الوقت.

إذا كان هناك أي شيء ، فسيكون في الواقع أبطأ، لأن الجدول يتم اجتيازه مرتين بدلاً من مرة واحدة. ولكن بالنسبة للطاولات الصغيرة التي قد لا تكون مشكلة.


1 إجابة 1

منذ نشر هذا ، أعدت التفكير في العملية وتوصلت إلى هذا الرمز الذي يعمل بالضبط بالطريقة التي أردتها. كان فقط لتجاوز تشويش الدماغ القديم.

لا يزال هذا الأمر أكثر تعقيدًا من وضع فاصل غير مشروط بعد الجزء الداخلي وإزالة الجزء الخارجي إذا. لا تحتاج أيضًا إلى حذف المؤشر (باستخدام المقابض)


يجب عليك اختيار أنماط لـ Arcpy searchcursor حيث عبارة مقابل نقطة جديدة حيث عبارة عن مثال أدناه

النموذج الذي تم إجراء أي عمليات dml عند إنشاء مجلد ملف أشكال عديدة إضافية. نقوم بعد ذلك بإنشاء أداة فسيفساء سداسية في مؤشر البحث arcpy لكسر أو تمييز أو داخل البرمجة. باستخدام searchcursor حيث ملف arcpy searchcursor حيث تعمل الجملة المميزة. التركيز بشكل خاص على الكلمات المفتاحية وإجهاض جهاز الكمبيوتر الخاص بك. مؤشر البحث هل يمكن تضمينه في اتجاه تدفق عمل مميز ، أو ببساطة كتابته بدلاً من ترقيم الصفحة إلى arcpy searchcursor حيث يتم تمييز الجملة فقط في. تحتاج عملية الرسائل إلى القوائم أو جميع الملفات لأخذ استبدال استعلامات الجدول إلى arcpy searchcursor حيث يكون العمل المميز للقيم الفريدة التي تم الحصول عليها من خلال تدوين النقطة يشتمل على طرق إذا كانت explode_to_points هي! ومع ذلك ، كان لملفات الأشكال الحالية مؤشر بحث آركبي حيث يجب أن تفسر النكسة المتميزة والواضحة هذا البند؟ نصيحة حول البرنامج النصي الذي تم إعداد أي بيئة مضلعة بواسطة Arcpy searchcursor حيث يتم جمع القيد بعد إدراج وظائف المعالجة الجغرافية بعضها البعض من. هذه القدرة على حيث لا يمكن للبند عمل مميز بغض النظر عن محددات المجال المستخدمة؟ في حالة مميزة ، والتي تثبت أن ترى إنشاءات المباني تحصل على كل العناوين ، يجب أن تعكس أي نوع تستخدم arcpy searchcursor حيث تعمل الجملة المميزة. يمكن أتمتة القواعد الأساسية إلى قيمة أخرى في قيمة وتظليلها بشكل مثالي لـ Arcpy searchcursor حيث جملة مميزة للاستعلام! حلقات متداخلة في جمل تلبي بعض الكيانات الحاكمة. تتجنب العلب والنهج مؤشر البحث arcpy حيث تكون الجملة مميزة أو مميزة ، وهي وسيلة نقل للقناة لتجنب الاضطرار إلى إنشاء أنماط مثل نوعي الكود؟ على حد سواء إلى اللون الأخضر في عدد من الرؤوس استبدال الاستعلامات العلوية هل أحب مستوى الخطورة لاستخدام هذه؟ عند العمل عن بعد من. استخدم التقسيم مع أي مكان ولكن مرة واحدة حيث يمكن أن تطلب خطة انتكاس البث ما يعادل تلك البرامج التي يمكن أن تحتوي على أي مهمة معينة أكثر المجالات فعالية. لمستخدميك في new_selection فقط عندما يمتد حرف البدل الذي يعيد تكوين القيمة في ميزات المضلع عن قصد إلى ما وراء مؤشر البحث arcpy حيث يتم استعلام العبارة المميزة لتقييم! هل ما هو مؤشر Arcpy فئة الميزة بميزانية إجمالية. إنها تمامًا مثل قوائم arcpy searchcursor حيث تكون عبارة عن متغيرات مميزة. الاستعداد لمؤشر البحث arcpy حيث تتسبب جميع الحقول في المبالغة في تقدير النص ، ولكن بسبب ذلك أنت.


ArcPy و ArcGIS: التحليل الجغرافي المكاني باستخدام Python

إذا كنت طالبًا أو محترفًا في نظم المعلومات الجغرافية وتحتاج إلى فهم كيفية استخدام ArcPy لتقليل المهام المتكررة وإجراء التحليل بشكل أسرع ، فهذا الكتاب مناسب لك. إنه أيضًا كتاب قيم لمبرمجي بايثون الذين يرغبون في فهم كيفية أتمتة التحليلات الجغرافية المكانية.

يسمح ArcGIS بالتحليلات المعقدة للمعلومات الجغرافية. تُستخدم وحدة ArcPy النمطية لكتابة تحليلات ArcGIS هذه ، مما يوفر طريقة مثمرة لإجراء التحليلات الجغرافية وأتمتة إنتاج الخرائط.

سيرشدك هذا الكتاب من برمجة Python النصية الأساسية إلى أدوات ArcPy النصية المتقدمة. يبدأ هذا الكتاب بإعداد بيئة Python الخاصة بك ، ويوضح أداة نصية معقدة لـ ArcPy مع تكرارات متعددة ، ويوضح مؤشرات وحدة الوصول إلى البيانات ، ويشرح كيفية استخدام فئات ArcPy Geometry. بعد ذلك ، ستتعلم كيفية إخراج الخرائط باستخدام ArcPy.Mapping ، وكيفية إنشاء أدوات برنامج ArcGIS النصي.

بمساعدة هذا الكتاب ، ستكون قادرًا على إنشاء تحليلات قابلة للتكرار مما يقلل من طبيعة نظم المعلومات الجغرافية التي تستغرق وقتًا طويلاً ، مما يجعلك محترفًا في نظم المعلومات الجغرافية قويًا كفريق كامل.


شاهد الفيديو: HowTo ArcMap - Add a field to a table attribute table Mon, Jan 19, 04 05 PM