أكثر

نسخ الميزات من "in_memory" إلى "in_memory" باستخدام ArcPy؟

نسخ الميزات من


صادفت هذا المنشور واكتشفت Copy_management ().

هل من الممكن نسخ ملف في الذاكرة ميزة لآخر في الذاكرة خاصية؟

حاولت اختباره باستخدام الكود التالي ، والذي فشل:

shp = r "D:  test  somefile.shp" bufferOne = arcpy.Buffer_analysis (shp، r "in_memory  bufferOne"، '1 متر') copyOfFirst = arcpy.Copy_management (bufferOne، r'in_memory  BufferOneCopy ')

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


نعم تستطيع. استخدم أداة Copy_Features GP لذلك.

pnt_fc = r "C:  Users  us  Documents  ArcGIS  Default.gdb  _PointDistanceFc" mem1 = r "in_memory  bufferOne" mem2 = r "in_memory  bufferTwo" arcpy.Buffer_analysis (in_features = pnt_fc، mem_feature_class = pnt_fc، mem_feature_class = = "10 أمتار") arcpy.CopyFeatures_management (mem1، mem2) arcpy.CopyFeatures_management (mem2، r "C:  Users  us  Documents  ArcGIS  Default.gdb  out123")

عند استخدام النهج التالي:

mem1 = arcpy.Buffer_analysis (in_features = pnt_fc، out_feature_class = r "in_memory  bufferOne"، buffer_distance_or_field = "10 Meters") mem2 = arcpy.CopyFeatures_management (mem1، r "in_memory  bufferTwo.") :  Users  us  Documents  ArcGIS  Default.gdb  out123 ")

أنت تحصل على mem1 و mem2 من النوع، يجب أن تكون على دراية بهذا إذا كنت تخطط للتفاعل مع تلك الكائنات.


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

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