أكثر

تحديد ما إذا كانت Layer هي Point باستخدام Python Toolbox؟

تحديد ما إذا كانت Layer هي Point باستخدام Python Toolbox؟


لقد كنت أعمل على مربع أدوات Python الذي يحتوي على 6 معلمات. أنا ضائع قليلاً في جميع أنواع البيانات المختلفة المتاحة في ArcMap (يبدو أن هناك المئات منهم!). ومع ذلك ، فإن إحدى معلمات الإدخال لها امتداد ملف .shp (ملف الشكل). لقد استخدمت دائمًا نوع بيانات GPFeatureLayer وعمل دائمًا مع كل شيء آخر آمل أن أفعله بأداتي ، على الرغم من أنني لا أفهم السبب تمامًا. لقد قمت فقط بإجراء الاختبار الخاص بي باستخدام ملفات أشكال النقاط في الوقت الحالي.

ما أتمناه في النهاية هو التحقق مما إذا كان المستخدم قد أدخل ملف أشكال ليس نقطة (أو مجموعة من النقاط). إذا لم تكن نقطة ، فقم بإعطاء تحذير للمستخدم ، ولكن مع السماح له باستخدام الأداة. مما أفهمه ، يمكنك التحقق من نوع الشكل باستخدام فئة وصف (). ومع ذلك ، عندما أحاول تمرير المعلمة الخاصة بي إلى وصف (لإرجاع كائن وصف) ، فإن ArcMap يرمي خطأ:

إليك كيفية تحديد المعلمة التي أركز عليها:

def getParameterInfo (self): "" تحديد تعريفات المعلمة "" "# المعلمة الأولى = طبقة ذات ميزات مخصصة param0 = arcpy.Parameter (displayName =" طبقة المصدر ذات الميزات المخصصة "، الاسم =" المصدر "، نوع البيانات =" GPFeatureLayer " ، parameterType = "Required"، direction = "Input")

وكنت أتمنى إلقاء التحذير في طريقة updateParameters ():

def updateParameters (ذاتي ، معلمات): إذا كانت المعلمات [2] .value == صحيح: المعلمات [3] .enabled = المعلمات الحقيقية [4] .enabled = المعلمات الحقيقية [5] .enabled = صحيح آخر: المعلمات [3]. ممكّن = معلمات خاطئة [4] .enabled = معلمات خاطئة [5] .enabled = وصف خاطئ = arcpy.Describe (معلمات [0]) إذا وصفت .shapeType == 'Point': arcpy.AddWarning ('تحذير: هذا هو شكل شكل ")

هل من أفكار لماذا أتلقى هذا الخطأ؟

هل أستخدم نوع البيانات الصحيح؟

لقد حاولت استخدام أنواع بيانات أخرى لهذه المعلمة ، مثل DEFeatureClass و GPPoint و DEShapefile ، لكنني تلقيت الخطأ التالي إذا حاولت إضافة ملف الأشكال الخاص بي كمعلمة:

كان الخطأ هو نفسه بغض النظر عن أي من الثلاثة استخدمته.


لقد تم حل مشكلتي مع الفئة Description () عن طريق إضافة الامتداد .value في طريقة updateParameters () الخاصة بي:

def updateParameters (self، parameters): description = arcpy.Describe (parameters [0] .value)

ومع ذلك ، الآن عندما أحاول استخدام وظيفة setWarningMessage () ، لا أحصل على استجابة من ArcMap. تتكون معلماتي () updateParameters () مما يلي:

def updateParameters (self، parameters): description = arcpy.Describe (parameters [0] .value) #check = str (description.shapeType) if description.shapeType == 'Point': parameters [0] .setWarningMessage ('This is فئة ميزة النقطة ') else: المعلمات [0] .clearMessage () إذا كانت المعلمات [2] .value == True: parameters [3] .enabled = True parameters [4] .enabled = True parameters [5] .enabled = صواب آخر: المعلمات [3] .enabled = معلمات خاطئة [4] .enabled = معلمات خاطئة [5] .enabled = عودة خاطئة

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

هل يهم ما إذا كانت الدالة Description.shapeType بها إخراج من Unicode؟

لقد اختبرت ذلك من خلال نافذة ArcMap Python بالتسلسل التالي من الأوامر:

ومع ذلك ، حتى إذا حاولت تحويل Description.shapeType إلى سلسلة ، ما زلت لا أتلقى رسالة تحذير. لقد أجريت الاختبارات التالية:

  1. بدلاً من التحقق من: if description.shapeType == 'Point' ، حاولت التحقق مما يلي: if description.shapeType == u'Point '، مما سيجبرها على التحقق من نوع بيانات Unicode.
  2. تحويل شكل الشكل إلى سلسلة عبر str (decribe.shapeType).
  3. استخدام طريقة التشفير لتغيير Unicode إلى سلسلة من أحرف ASCII: description.shapeType.encode ('ascii' ، 'ignore').

ومن ثم ، فقد اصطدمت بجدار مرة أخرى.


أعتقد أنه قد يكون بسيطًا مثل تغيير هذا الخط:

وصف = arcpy.Describe (المعلمات [0]. القيمة)

أو ربما

وصف = arcpy.Describe (المعلمات [0] .valueAsText)

في تعليقه ،ian محق بشأنتحذير ()كونها غير مجدية خارج الأداةنفذ - اعدم()طريقة. أعتقد أن الطريقة التي تريدها هي setWarningMessage (). جرب هذا:

وصف = arcpy.Describe (المعلمات [0] .value) إذا وصفت. shapeType في ('Point'، 'Multipoint'): # نقطة الالتقاط ومعلمات متعددة النقاط [0] .setWarningMessage ('هذه فئة ميزة نقطة') وإلا : المعلمات [0] .clearMessage ()

ارسم البيانات الجغرافية على خريطة في MATLAB

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

توفر شاشات العرض الجغرافية نظرة ثاقبة على البيانات مع مكونات خطوط الطول والعرض. على الرغم من أنه يمكنك عرض بياناتك الجغرافية في MATLAB كمخطط لـ x و y ، إلا أنها ستبدو مشوهة ولن تحتوي على أي معلومات سياقية مثل الحدود السياسية والطرق والميزات الجغرافية الأخرى.

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

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

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

يتم تحميل خرائط MATLAB الأساسية للمقاييس العالمية والإقليمية من الويب افتراضيًا ، ولكن يمكن أيضًا تنزيل البيانات من إضافات MATLAB لاستخدامها دون اتصال بالإنترنت. يمكن تحميل خرائط الويب التي تحتوي على بيانات على مستوى الشارع أو طبوغرافيا أو تمثيلات طبقة أساسية متخصصة أخرى من مصادر خارجية. يمكنك بسهولة إضافة خرائط الويب من مجموعة من مصادر الجهات الخارجية باستخدام وظيفة addCustomBasemap المتوفرة في Mapping Toolbox.

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


ارسم البيانات الجغرافية على خريطة في MATLAB

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

توفر شاشات العرض الجغرافية نظرة ثاقبة على البيانات مع مكونات خطوط الطول والعرض. على الرغم من أنه يمكنك عرض بياناتك الجغرافية في MATLAB كمخطط لـ x و y ، إلا أنها ستبدو مشوهة ولن تحتوي على أي معلومات سياقية مثل الحدود السياسية والطرق والميزات الجغرافية الأخرى.

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

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

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

يتم تحميل خرائط MATLAB الأساسية للمقاييس العالمية والإقليمية من الويب افتراضيًا ، ولكن يمكن أيضًا تنزيل البيانات من إضافات MATLAB لاستخدامها دون اتصال بالإنترنت. يمكن تحميل خرائط الويب التي تحتوي على بيانات على مستوى الشارع أو طبوغرافيا أو تمثيلات طبقة أساسية متخصصة أخرى من مصادر خارجية. يمكنك بسهولة إضافة خرائط الويب من مجموعة من مصادر الجهات الخارجية باستخدام وظيفة addCustomBasemap المتوفرة في Mapping Toolbox.

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


التقاط صورة Google Earth



يُستخدم لالتقاط التضاريس والصور لعرض Google Earth الحالي.

يمكنك الوصول إلى هذه الأداة مما يلي:

يتم التقاط صور التضاريس كسطح شبكي أو سطح B-spline ، مع إرفاق الصورة به كمواد. ستكون الصورة الملتقطة بدقة شاشة وأحادية اللون (أحد قيود Google Earth).

إذا لم تكن هناك معلومات حول موقع النموذج ، فإن Bentley Raceway و Cable Management تفترض أن أصل نموذجك يتزامن مع مركز عرض Google Earth وأن المحور Y لنموذجك يجب محاذاة مع الشمال. إذا كانت معلومات الموقع موجودة في النموذج ، فإن Bentley Raceway and Cable Management تستخدم التحويل المشتق منه.

يمكنك الاحتفاظ بمنظور عرض Google Earth عند الالتقاط عن طريق تحديد إعداد "التدوير من عرض Google Earth" في مربع حوار إعدادات Google Earth.

    للحصول على أفضل النتائج ، يجب أن تكون الكاميرا متجهة لأسفل في عرض Google Earth. من أجل التقاط التضاريس ، يجب تمكين طبقة التضاريس في Google Earth.

قبل التقاط صورة ، قد يكون من الضروري تكوين برنامج Google Earth على النحو التالي:


ارسم البيانات الجغرافية على خريطة في MATLAB

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

توفر شاشات العرض الجغرافية نظرة ثاقبة على البيانات مع مكونات خطوط الطول والعرض. على الرغم من أنه يمكنك عرض بياناتك الجغرافية في MATLAB كمخطط لـ x و y ، إلا أنها ستبدو مشوهة ولن تحتوي على أي معلومات سياقية مثل الحدود السياسية والطرق والميزات الجغرافية الأخرى.

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

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

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

يتم تحميل خرائط MATLAB الأساسية للمقاييس العالمية والإقليمية من الويب افتراضيًا ، ولكن يمكن أيضًا تنزيل البيانات من إضافات MATLAB لاستخدامها دون اتصال بالإنترنت. يمكن تحميل خرائط الويب التي تحتوي على بيانات على مستوى الشارع أو طبوغرافيا أو تمثيلات طبقة أساسية متخصصة أخرى من مصادر خارجية. يمكنك بسهولة إضافة خرائط الويب من مجموعة من مصادر الجهات الخارجية باستخدام وظيفة addCustomBasemap المتوفرة في Mapping Toolbox.

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


شاهد الفيديو: لغة بايثون شرح الفصل السابع المقطع الثاني