Arcpy之多线程热力图

简介:  经过一番研究,研究出大概的思路,先将有经纬度的表中的数据筛选出表并生成xy事件,接着利用核密度工具生成栅格,最后呢裁剪栅格通过mapping包出图。

 经过一番研究,研究出大概的思路,先将有经纬度的表中的数据筛选出表并生成xy事件,接着利用核密度工具生成栅格,最后呢裁剪栅格通过mapping出图。


出图过程比较,所以考虑使用多线程(一张图五分钟,十九张图多线程九分钟你说吼不吼)。


多线程第一次用,一开始打算用数据库存放数据表和栅格,不过锁表比较难解决,于是选择了简单粗暴地在文件地理数据库(gdb)里处理,每个文件使用一个gdb,这样速度快也不用考虑会被锁表,处理完以后就直接删库(跑路)。


多线程中尽量不要有删除操作,容易冲突,把删除都放在单线程中这样不容易出错

MyGPpool = multiprocessing.Pool(19)
results = MyGPpool.map(batch, parameters)
MyGPpool.close()
MyGPpool.join()

worker中使用别的脚本要使用importScripts导入,当需要传递参数可以transferable object(通讯时会比较快,参考worker使用),本次项目中使用Float64Array.看几个初始化范例


mxd = arcpy.mapping.MapDocument(mxd_file)
df = arcpy.mapping.ListDataFrames(mxd, '图层')[0]
lyr = arcpy.mapping.ListLayers(mxd)[0]
datasetName = os.path.basename(data_raster)
dataRasterWorkspace = os.path.dirname(data_raster)
if lyr.supports("DATASOURCE"):
       lyr.replaceDataSource(dataRasterWorkspace,"FILEGDB_WORKSPACE", datasetName)
        df.extent = extent
        df.panToExtent(extent)
        arcpy.mapping.ExportToPNG(mxd, out_file, df, color_mode='24-BIT_TRUE_COLOR', world_file=True,background_color="No Color", transparent_color="No Color")
    else:
        arcpy.AddMessage("error")
    arcpy.RefreshActiveView()
    del mxd, df, ly


目录
相关文章
|
SpringCloudAlibaba Java 应用服务中间件
信创迁移适配实战-SpringCloudAlibaba服务以war包部署后无法注册到Nacos
信创迁移适配实战-SpringCloudAlibaba服务以war包部署后无法注册到Nacos
1050 0
|
机器学习/深度学习 人工智能 编译器
【AI系统】死代码消除
死代码消除是一种编译器优化技术,旨在移除程序中不会被执行的代码,提升程序效率和资源利用。通过分析控制流图,识别并删除不可达操作和无用操作,减少不必要的计算。在传统编译器中,主要通过深度优先搜索和条件分支优化实现;而在AI编译器中,则通过对计算图的分析,删除无用或不可达的计算节点,优化模型性能。
413 3
|
自然语言处理 测试技术 开发者
通义灵码全面评测:以PyCharm为例,展示智能编码助手的强大功能
《通义灵码全面评测:以PyCharm为例,展示智能编码助手的强大功能》
|
定位技术 Python
Python中ArcPy栅格裁剪栅格:批量对齐栅格图像范围并统一行数与列数
Python中ArcPy栅格裁剪栅格:批量对齐栅格图像范围并统一行数与列数
345 1
|
存储 SQL Oracle
【历史最全】oracle 获取相应时间 (本周、上周、本月、上月、最近7、30、90天)
在我们使用Oracle数据库的时候,经常会遇到获取相应时间的需求,更甚者,有些涉及写存储过程的兄弟们更是频繁使用到。为了使用起来更加便利,特别留存此记录,便于之后查看。以下SQL均可执行,因为访问的是dual表,所以不需要创建表就能完成调试。
2095 0
|
前端开发 NoSQL Java
校园互助系统|校园基于vue+springboot开发的校园互助平台
校园互助系统|校园基于vue+springboot开发的校园互助平台
934 0
|
机器学习/深度学习 监控 算法
基于深度学习的跌倒检测系统(UI界面+YOLOv5+训练数据集)
基于深度学习的跌倒检测系统(UI界面+YOLOv5+训练数据集)
2055 0
|
机器学习/深度学习 传感器 算法
【智能优化算法-差分进化算法】基于多种交叉策略和变异策略的差分进化算法求解单目标优化问题含Matlab源码
【智能优化算法-差分进化算法】基于多种交叉策略和变异策略的差分进化算法求解单目标优化问题含Matlab源码
【智能优化算法-差分进化算法】基于多种交叉策略和变异策略的差分进化算法求解单目标优化问题含Matlab源码
|
API 开发者
Jetpack Compose导航动画
Jetpack Compose导航动画
992 0
Jetpack Compose导航动画