gp工具运行效率太低如何优化
gp工具运行效率太低如何优化
发起人
相关问题
- arcgis api for javascript 4.0版本中找不到draw工具,如何实现拉框查询、几何查询?
- 求ArcGISMXD批量导出图片工具?
- 地图服务优化策略
- 请问在ArcGIS 10.1 Desktop中,用计算字段工具对地理坐标系(经纬度)数据计算面积,算出的面积是什么面积?这个面积是怎么计算出来的?
- 为什么自定义的gp工具不自动将输出结果添加到图层里面?
- Engine调用GP工具的两种方式的用法
- 请问如何在C# ArcEngine开发中调用GP工具处理后将数据保存到到任意位置?并读取?
- C#调AnalyseTools中的Near工具报对COM组件调用返回错误HRESULT E_FAIL异常
- ArcGIS API for Js GP工具不能用,问题中附有代码,请大佬指导。
- Engine调用gp工具MultipleRingBuffer报“对 COM 组件的调用返回了错误 HRESULT E_FAIL”错误?
- 运行create Map Server Cache工具后,未创建任何切片
问题状态
- 最新活动: 2017-12-04 00:00
- 浏览: 2390
- 关注: 1 人
1 个回复
潘建伟
赞同来自: 江宝骅
关于您gp服务效率低的问题我整理了一下思路,给出以下几点建议:
1. 从宏观上,减少额外的计算量:包括避免动态投影、使用gdb或sde来取代shapefile。
2. 从微观上,可以使用python的多进程来进行并行计算。
3. 从宏观上,观察gp工具运行瓶颈在哪儿,来调整硬件,如加内存、换固态硬盘、优化网络连接等。
关于python多进程可以参考:
1. 简单的multiprocessing介绍:http://www.jb51.net/article/67116.htm
2. 对于缓冲区这个工具而已,可以使用上文中的进程池(pool),可以先遍历所有线要素放入内存,然后创建进程池并迭代每一个要素,每迭代到一个要素时进程池开启一个新的进程来负责这个数据的缓冲区创建。
3. 遍历要素可以用cursor方法:http://desktop.arcgis.com/zh-c ... n.htm
4. 如果您的数据很大,内存放不下这么多,那么您每次缓存完了都需要储存一下,可以用gp工具:append或者merge,但是要注意的是shapefile和file gdb都不能被多个进程同时编辑,所以需要用sde。
5. 缓冲区可以每一条要素分进程池中的一个进程,但是intersect工具涉及要素与要素之间的关系,所以不容易改写为多进程。
要回复问题请先登录或注册