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 工作空间仅对地理处理工具有效;它不是可以写入任何数据的通用虚拟目录。

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

最新文章

  1. Constraint3:check约束 和 null
  2. HTML5 LocalStorage 本地存储,刷新值还在
  3. iOS Outlets Referencing Outlets
  4. 二模 (6) day1
  5. 1058-Tom and Jerry
  6. 在android客户端加载html源代码总结
  7. Android中使用PullToRefreshListView遇到的问题
  8. 日期Calendar/Date的用法
  9. IOS学习之路五(SpriteKit 开发飞机大战小游戏一)
  10. ACdream 1020 The Game about KILL
  11. 关于JAVA中hashCode
  12. windows中如何查看某个端口被谁占用
  13. Ninject之旅之十二:Ninject在Windows Form程序上的应用(附程序下载)
  14. H5_0002:微信分享设置
  15. 数据库所有者 (dbo)
  16. 抓包获取百度音乐API
  17. EXCEL教程,包你一学就会
  18. fio是如何运行的?
  19. Deepin Linux安装MySQL方法
  20. Active Directory中获取域管理员权限的攻击方法

热门文章

  1. pyhton中map和reduce
  2. Android笔记(三十三) Android中线程之间的通信(五)Thread、Handle、Looper和MessageQueue
  3. 解析CentOS 7中系统文件与目录管理
  4. 2019-ACM-ICPC-徐州站网络赛- I. query-二维偏序+树状数组
  5. leetcode刷题-1
  6. Kotlin编译器使用及反编译分析
  7. EXCEL导入数据到SQL SERVER 2008
  8. [MVC] 自定义ActionSelector,根据参数选择Action[转载]
  9. 大数据之路week06--day03(jdk8新特性 Lambda表达式)
  10. Web前端 --- 前端基础简介