ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

了解有关 in_memory 工作空间的详细信息

2019-08-29 23:00:18  阅读:183  来源: 互联网

标签:删除 写入 应用程序 工作 内存 memory 空间 详细信息


ArcGIS 提供了一个可写入输出要素类和表的内存工作空间。作为将地理处理输出写入磁盘上的某个位置或网络位置的备选方案,可将输出写入内存工作空间中。通常,将数据写入内存工作空间要明显快于写入其他格式(如 shapefile 或地理数据库要素类)。但写入内存工作空间的数据是临时性的,将在关闭应用程序时被删除。

要将数据写入内存工作空间,使用路径 in_memory,如下所示。

保存至内存工作空间

 

在决定将输出写入内存工作空间时,必须注意以下事项:

警告警告:
  • 写入内存工作空间的数据是临时性的,将在关闭应用程序时被删除。
  • 表、要素类和栅格可写入内存工作空间。
  • 内存工作空间不支持扩展的地理数据库元素,如子类型、属性域、制图表达、拓扑、几何网络以及网络数据集。
  • 不能在内存工作空间中创建要素数据集或文件夹。

管理内存工作空间

将数据写入内存工作空间时,会占用计算机的物理内存 (RAM)。如果写入此工作空间的数据太多,则可能会用尽所有计算机的内存,从而无法将其他数据写入内存中。此外,如果将大部分或所有计算机内存用于存储此工作空间中的数据,可能没有足够的内存用来有效地执行计算量非常大的应用程序(如 ArcGIS)。这种情况下,应用程序中的所有任务执行起来可能会非常慢。

某些情况下,使用内存工作空间带来的计算优势会与应用程序的减速相抵消。出现这种情况时,受影响在还包括系统中运行的其他应用程序以及可用物理内存的起始量。当应用程序会因待写入的数据过大而减速时,应避免使用内存工作空间。

使用内存工作空间时,应尽快删除所有中间数据,以便释放它们占用的系统内存资源。可使用“删除”工具来删除内存工作空间中的数据。既可删除单个表或要素类,也可删除整个工作空间以便清除所有工作空间内容。

内存工作空间位置

写入内存工作空间的表、要素类或栅格的源位置将为 GPInMemoryWorkspace,如下图所示。

内存源位置

 

GPInMemoryWorkspace 后面用大括号 {} 括起的长字符串是由 ArcGIS 创建和使用的唯一标识符。

在 Python 中使用 in_memory

您也可以在 Python 中使用 in_memory 工作空间,如以下代码示例所示。

import arcpy

table = arcpy.CreateTable_management("in_memory", "table1")
arcpy.AddField_management(table, "Field1", "TEXT", field_length=20)

cursor = arcpy.da.InsertCursor(table, ["Field1"])
cursor.insertRow(["Hello World"])

in_memory 工作空间仅对地理处理工具有效;它不是可以写入任何数据的通用虚拟目录。

在脚本中,可使用删除工具来删除内存工作空间中的数据。既可删除单个表或要素类,也可删除整个工作空间以便清除所有工作空间内容。

标签:删除,写入,应用程序,工作,内存,memory,空间,详细信息
来源: https://www.cnblogs.com/gisoracle/p/11432536.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有