أكثر

قم بإنشاء أداة تحديد مواقع الطريق التي تقوم بتحويل قيم M.

قم بإنشاء أداة تحديد مواقع الطريق التي تقوم بتحويل قيم M.


لدي مجموعة بيانات بها العديد من الطرق البحرية التي أرغب في رؤية قيم m (الوقت) لها. تعمل أداة تحديد مواقع المسار في ArcGIS تمامًا كما أريدها ، ومع ذلك ، فإن قيمة m المعروضة في وقت Unix والتي لا يمكن قراءتها بسهولة ، إن وجدت. أحتاج إلى تحويل أوقات Unix إلى شيء يمكن قراءته. لقد وجدت أن استخدام datetime.datetime.fromtimestamp (). isoformat () يعمل بشكل رائع ولكن لا أريد أن يضطر المستخدم إلى تحويل الوقت يدويًا في كل مرة ينقر فيها على الخط. هل هناك طريقة لإنشاء أداة تعمل مثل تحديد مواقع الطريق ولكنها أيضًا تحول قيم m قبل عرضها؟ لا يمكنني معرفة كيفية الوصول إليها. لقد نظرت حولي وكانت الحلول الوحيدة التي وجدتها هي إعادة تقسيم المسارات إلى نقاط وإعادة حساب قيم m ، لكنني أفضل تجنب ذلك.


لست متأكدًا من أن الأداة التي تتحدث عنها سهلة التنفيذ. ما الذي يمنعك من تغيير الأشكال نفسها باستخدام التعبير الأساسي للحساب الميداني؟ يمكنك تشغيل في حقل الهندسة (الشكل) ، على سبيل المثال تعديل القيم س ، ص لإزالة كل القيم من العلامة العشرية الثالثة في ArcMap؟

إجابة محدثة:

في إعدادات البيئة ، اجعل M ممكّنًا. قم بتشغيل هذا التعبير في حقل الشكل:

تعريف plineM (shp): arr = arcpy.Array () ؛ pM = arcpy.Point () part = shp.getPart (0) ؛ n = len (part) for i in xrange (n): p = part.getObject ( ط) pM.X = pX ؛ pM.Y = pY ؛ pM.Z = pZ pM.M = 7627.462-pM # التحول الخاص بك هنا arr.add (pM) إرجاع القوس.

استخدام:

plineM (! الشكل!)