转:Windows任务计划实现自动执行ArcGIS相关功能

今天一不小心点开了Windows任务计划,以前咩有怎么用过,发现还挺好用,于是想到了以前用户的一些问题

1:用户环境使用ArcSDE服务连接,每次运行到一定的负载量(可能是几天),就会很慢,用户就喜欢重启一下ArcSDE服务就可以解决了。

对该问题,我们不去探究用户的环境为什么会慢,既然他重启ArcSDE服务就可以解决问题,那么我们可以使用Windows的任务计划来执行以及写好的ArcSDE服务重启脚本,这样我们就可以定期重启ArcSDE服务来解决该问题了。

只需要写一个简单的bat文件即可

[python] view plaincopyprint?

  1. -- 关闭ArcSDE服务 
  2. sdemon -o shutdown -i 5151 -p sde 
  3. --等一些时间 
  4. sleep(5) 
  5. --启动ArcSDE服务 
  6. sdemon-o start -i 5151 -p sde 
-- 关闭ArcSDE服务
sdemon -o shutdown -i 5151 -p sde
--等一些时间
sleep(5)
--启动ArcSDE服务
sdemon-o start -i 5151 -p sde

这样就可以来解决用户问题了。

2:有些用户经常会使用GP工具来做一些相关的功能操作,可能有些东西就是机械的对数据进行操作,有些时候可能要等比较长的时间,那么用户就会咨询一下,我是否可以使用自动化的功能,定时来执行相关的GP工具呢?

以前给用户的答复就是不可以,因为这些GP工具不能脱离ArcMap的进程,也就是必须在ArcMap里面执行,这样肯定不可以。

但是当时并没有考虑Python与GP工具的结合,我们完全可以将GP工具写道Python脚本里面来进行相关的批量操作啊!

我们将相关的GP环境比如数据源路径、名称、参数等都写在Python里面,到时候定期执行就可以了。

其实对ArcGIS来说,重复性、必要性的工作比较多

  • 定期重建索引
  • 定期版本压缩
  • 定期分析数据

以下是一个重建索引的例子

[python] view plaincopyprint?

  1. from arcpy import * 
  2. env.workspace=r'Database Connections\Connection to 192.168.100.111.sde'
  3. for dataset in ListDatasets(): 
  4. for fc in ListFeatureClasses("","ALL",dataset): 
  5.         RemoveSpatialIndex_management(fc) 
  6.         AddSpatialIndex_management(fc) 
from arcpy import *

env.workspace=r'Database Connections\Connection to 192.168.100.111.sde'

for dataset in ListDatasets():
for fc in ListFeatureClasses("","ALL",dataset):
RemoveSpatialIndex_management(fc)
AddSpatialIndex_management(fc)

通过查看任务计划可以查看相关任务是否允许完成或者有问题,如下图可以得到,是不能在非ArcMap环境下执行运行GP工具的

转:Windows任务计划实现自动执行ArcGIS相关功能

TIPS:对没有写过Python的用户其实并不需要担心什么,如果你有现成的Modelbuilder模型,那么可以使用Export to python Scripts来获得相关的python脚本即可

转:Windows任务计划实现自动执行ArcGIS相关功能

转:Windows任务计划实现自动执行ArcGIS相关功能

延伸学习:

在 Linux 中,创建一个 cron 文本文件,其中包含希望脚本运行的日期和时间信息,然后使用 crontab 程序将该文件加载到 cron 中。

例如,以下信息将 Python 脚本(名为 rsysidxdb2.py)设置为在每个星期三晚上 10:00 运行:

0 22 * * 3 /usr/bin/rsysidxdb2.py

有关 cron 的使用信息,请参阅随 Linux 安装提供的 Linux 手册页。

-------------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

------------------------------------------------------------------------------------------------------

转摘地址:http://blog.csdn.net/linghe301/article/details/9923511

上一篇:Tomcat下使用C3P0配置JNDI数据源(在项目的META-INF目录下创建context.xml的文件)


下一篇:Java连接数据库 #04# Apache Commons DbUtils