أكثر

أتمتة تحديد الإسقاط داخل أداة نص بايثون؟

أتمتة تحديد الإسقاط داخل أداة نص بايثون؟


كيف يمكنني أتمتة أداة تعريف الإسقاط بحيث يمكنني فقط إدخال الطبقة الخاصة بي في كل مرة؟

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

هنا هو السيناريو. أريد استبدال "forest.shp" بطبقة من اختياري في كل مرة

# set local variables inDataset = "forest.shp" coordSystem = "GEOGCS ['GCS_WGS_1984'، DATUM ['D_WGS_1984'، SPHEROID ['WGS_1984'، 6378137.0،298.257223563]]، PRIMEM ['Greenwich' [0.0]، UN Degree '، 0.0174532925199433]] "arcpy.DefineProject_management (inDataset، CoordSystem)

يمكنك القيام بذلك في بيثون عن طريق إضافة

inDataset = arcpy.GetParameterAsText (0)

هنا هذا المثال.

Understanding_script_tool_parameters

ثم أضف كأداة نصية. Adding_a_script_tool

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


يجب أن يكون ملف .py الخاص بك:

استيراد arcpy حاول: إحداثيستيم = "GEOGCS ['GCS_WGS_1984'، DATUM ['D_WGS_1984'، SPHEROID ['WGS_1984'، 6378137.0،298.257223563]]، PRIMEM ['Greenwich'، 0.0]، UNIT ['Degree '1" 0.017433329 fc = arcpy.GetParameterAsText (0) # ملف الملامح الخاص بك dessr = arcpy.Describe (fc) srr = dessr.spatialReference arcpy.AddMessage ("إسقاطك السابق:٪ s"٪ (srr)) arcpy.DefineProject_management (fc، Coordinator) arcpy.AddMessage ("انتهت العملية الخاصة بك ...") باستثناء: arcpy.AddMessage ("يتعذر تتبع الإسقاط الجديد")

ثم اتبع اتجاه جونز ...


شاهد الفيديو: Python لغة البايثون بالعربي للمبتدئين