atravellers

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

2020年5月10日

使用内存作为工作空间,提升地理处理工具性能

在上一篇文章【0101-ArcPy:将脚本工具的处理结果作为参数输出】中,我们在执行要素裁剪工具的时候,会生成一个要素类,按说这个要素类不是最终想要的结果,最终想要的是这个要素类缓冲10公里之后的要素。类似这样的中间结果,默认的情况下一般是保存在临时工作空间中。临时工作空间的位置可以通过以下代码指定:

# Set the scratchWorkspace environment to local file geodatabase
arcpy.env.scratchWorkspace = "c:/data/scratchoutput.gdb"

但是,这里有个不好的一点的,需要把数据写入到文件中,如果执行的脚步中有很多的中间数据,那么工具的执行效率是会慢很多。所以Esri提供了将临时数据放到内存中的解决方案。具体可以参考以下代码:

# -*- coding:utf-8 -*-
import arcpy
# 设置输入要素
inputFeatures = arcpy.GetParameterAsText(0)
# 设置裁剪要素
clipFeatures = arcpy.GetParameterAsText(1)
# 设置输出要素
outFeatures = arcpy.GetParameterAsText(2)
# 在内存中创建一个临时要素类,使用in_memory来表示空间空间为内存
tempData = arcpy.CreateScratchName("tempClipOutFC",data_type="FeatureClass",workspace="in_memory")
# 设置输出结果是否覆盖
arcpy.env.overwriteOutput = True

try:
clipOutFeatureClass = arcpy.Clip_analysis(inputFeatures, clipFeatures, tempData, 1.5)
arcpy.Buffer_analysis(clipOutFeatureClass, outFeatures, "10 Kilometers", "FULL", "ROUND", "NONE")
except Exception as err:
arcpy.AddError(err)

在上面的代码中,我们使用了:

tempData = arcpy.CreateScratchName("tempClipOutFC",data_type="FeatureClass",workspace="in_memory")

CreateScratchName方法的目的是为指定的数据类型创建唯一的临时路径名称,要使用内存作为工作空间,需要指定workspace为in_memory。将数据写入内存工作空间要明显快于写入其他格式(如 shapefile 或地理数据库要素类)。但写入内存工作空间的数据是临时性的,将在关闭应用程序时被删除。
同时,需要注意的是我们还对生成的结果设置了覆盖操作:

# 设置输出结果是否覆盖
arcpy.env.overwriteOutput = True
测试的时候一般是这样操作,生产环境需要根据业务需要配置。
要使用内存作为工作空间,需要留意以下几点:
1. 写入内存工作空间的数据是临时性的,将在关闭应用程序时被删除。
2. 表、要素类和栅格可写入内存工作空间。
3. 内存工作空间不支持扩展的地理数据库元素,如子类型、属性域、制图表达、拓扑、几何网络以及网络数据集。
4. 不能在内存工作空间中创建要素数据集或文件夹。

原文链接:https://blog.csdn.net/peckerzeng/java/article/details/79317149

posted @ 2020-05-10 17:31 zhaojp 阅读(285) 评论(0) 推荐(1) 编辑

Python:MySQLdb中sql语句'in'和‘like’要注意的一些问题

摘要: Python:MySQLdb中sql语句'in'和‘like’要注意的一些问题 昨天优化了一个Django脚本,因为我嫌它运行效率太慢,放弃了原有的使用Django的QuerySet API,改用第三方包MySQLdb,虽然用起来不方便(因为要写很多sql语句,所以相对于QuerySet API而言 阅读全文

posted @ 2020-05-10 11:35 zhaojp 阅读(987) 评论(0) 推荐(0) 编辑

2020年4月21日

multiprocessing中进程池,线程池的使用

摘要: https://www.cnblogs.com/tmdhhl/p/multiprocessing.html 阅读全文

posted @ 2020-04-21 22:56 zhaojp 阅读(122) 评论(0) 推荐(0) 编辑

python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)

摘要: https://blog.csdn.net/mingkoukou/article/details/82852275 https://blog.csdn.net/S_o_l_o_n/article/details/80877805?depth_1-utm_source=distribute.pc_re 阅读全文

posted @ 2020-04-21 16:26 zhaojp 阅读(186) 评论(0) 推荐(0) 编辑

pandas中groupby的参数:as_index

摘要: https://www.cnblogs.com/zhangzhixing/p/11074416.html 阅读全文

posted @ 2020-04-21 09:14 zhaojp 阅读(321) 评论(0) 推荐(0) 编辑

Window—mysql下载及安装

摘要: https://www.cnblogs.com/zhangzhixing/p/12589944.html 阅读全文

posted @ 2020-04-21 09:10 zhaojp 阅读(125) 评论(0) 推荐(0) 编辑

2012年2月25日

MSDN for 2010的那些麻烦事

摘要: Visual Studio 2010正式版己于4月13日开放公众下载。我迫不及待地在自己的电脑上安装并试用,与RC版本相比,新版变化不大,安装也顺利。但没想到,为了将我原先在RC版本中下载的高达3.25G的MSDN文档在正式版中“复用”,却弄得我焦头烂额! 微软在VS2010中将随机文档MSDN Library换成了Web版,想必有他的考虑,但就我这一普通用户看来,实在是一个退步。 其原因是——Web版的MSDN Library 太难用了! (1)最大的缺点是没有索引。 (2)左侧的目录树各级别缩进太小,很难分清当前所看的文档在目录树的级别, (3)搜索功能给出的信息太少,当你搜索一个... 阅读全文

posted @ 2012-02-25 17:56 zhaojp 阅读(135) 评论(0) 推荐(0) 编辑

2011年3月11日

PHP 5.3的各个版本(转贴)

摘要: 最近在 PHP 官网上看到又有新版的 PHP 下载了,于是上去找找 For Windows 的版本,可是一看确傻眼了,一共给了四个版本,VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,这让我这个菜鸟头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来做个备忘先。一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本 VC6 版本是使用 Visual. 阅读全文

posted @ 2011-03-11 20:36 zhaojp 阅读(455) 评论(0) 推荐(1) 编辑

2010年3月10日

http://www.cnblogs.com/secenes/archive/2008/05/15/1198933.html

摘要: 内容不错http://www.cnblogs.com/secenes/archive/2008/05/15/1198933.html 阅读全文

posted @ 2010-03-10 17:24 zhaojp 阅读(320) 评论(0) 推荐(0) 编辑

FeatureLayer,FeatureDataset,FeatureClass,Feature几个概念总结

摘要: FeatureLayer,FeatureDataset,FeatureClass,Feature几个概念总结“转别人的” FeatureLayer: 要素图层,承载要素数据。几个重要的接口如下:IFeatureLayer接口,用于管理要素图层的数据源,即要素类(FeatureClass)。具体察看IFeatureLayer.DataSourceType条目。 &#... 阅读全文

posted @ 2010-03-10 15:02 zhaojp 阅读(834) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示