赞
踩
为强化自然资源统一调查监测,准确掌握全省国土利用变化情况,满足各项自然资源管理工作需要,2022年度全省国土变更调查工作开始了。
近期国家下发遥感监测图斑、地理国情监测变化图斑及自主提取变化图斑,要求按照规定时间点上报核查初报数据。同时,城乡建设用地增减挂钩、土地综合整治、高标准农田建设等项目涉及地类变化的,要及时纳入当年国土变更调查。国家下发图斑、地方自主提取图斑需要逐一现场查看核实,分析变化原因,对变化后的土地利用现状地类开展认定。我们单位负责外业调查的技术人员坚持走到、看到、问到“三到”原则,顶风冒雨实地拍照举证,并充分利用“互联网+”的信息化手段并将拍摄照片上传到省级国土变更调查在线举证与核查云平台(后面简称为“外业核查云平台”)。面对这一紧迫艰巨的任务,既要保证质量,还得准时上报调查成果。因此亟需优化工作步骤,提升效率。
就现阶段的工作流程来讲,我发现在做内业的过程中,存在提升效率的地方。在查看外业平台同时再进行内业修改的过程中可以进一步优化工作步骤,做一些效率上的提升。
具体工作内容描述
我在工作过程中,首先需要在arcgis软件内找到当前范围内监测图斑的编号,然后把图斑的编号复制到“外业核查云平台”上,找到外业举证的详情,再决定是否要进行内业修改。工作倒不是很难,就是来回的切换窗口操作很不方便(多屏显示的除外)。就意味着在外业后举证平台与arcgis应用之间来回切换,操作很是不方便,为提高工作效率,现做arcgis内图层要素与网页搜索的联动研究。
效果演示
效果演示
Hyperlink类型 | 说明 |
---|---|
文档 | 使用超链接工具单击要素时,将在相应的应用程序(例如 Microsoft Excel)中打开关联的文档或文件。 |
URL | 使用超链接工具单击要素时,将在 web 浏览器中启动一个 web 页面。 |
脚本 | 使用超链接工具单击要素时,要素值将发送到脚本。此选项可启用对自定义行为的使用。 |
可访问各要素的超链接。本文将主要介绍如何使用脚本
实现Arcgis应用与网页间的联动跳转。
(ArcGIS10.2.2自带的python版本)
(ArcGIS10.2.2自带的python版本)
二选一就行
与Chrome浏览器的版本号保持一致
)在进行编码测试的过程中有出现了两种思路:
说明 | 优点 | 缺点 | |
---|---|---|---|
思路1 | 点击要素后,打开浏览器,需要先登录账户,然后再进行后续联动的操作 | 一步到位 | 耗时,每次都重新登录 |
思路2 | 提前打开浏览器登录账户,然后获取已登录的窗口,进行后续操作。 | 省时,效率明显提升 | 提前做好准备(这不算缺点) |
经过分析后,直接选择思路2,后续实现的代码也是依据思路2编写。
代码为测试代码,非脚本代码,脚本代码个人资源中。
# encoding=utf8 import sys #import time from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC reload(sys) sys.setdefaultencoding('utf8') def locatejcbh(field): #点击“工作流程” gzlc=driver.find_element(By.XPATH, u"//span[text()='工作流程']") gzlc.click() #点击“图斑清单” tbqd=driver.find_element(By.XPATH, u"//span[text()='图斑清单']") tbqd.click() #如果搜索编号框内有文本先清除,然后传入要素的监测编号 search_box=driver.find_element(By.XPATH, u"//input[@placeholder='输入图斑编号关键字搜索']") search_box.clear() search_box.send_keys(field) #点击搜索按钮 search_button=driver.find_element(By.XPATH,"//section/div[1]/div[1]/div[3]/div/div/div/button") search_button.click() driver.implicitly_wait(1) #time.sleep(1) #点击“详情”按钮 details=driver.find_element(By.XPATH, "//*[@id='ListMain-list']/div/div[1]/div/div/div[4]/div[2]/table/tbody/tr[1]/td[16]/div/button") details.click() if __name__ == '__main__': chrome_options = Options() chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9527") chrome_driver = r"C:\Python27\ArcGIS10.2\chromedriver.exe" driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options) print(driver.title) locatejcbh("370683DF55808")
【说明】
本次操作是将Arcgis脚本超链接与python的Selenium爬虫工具相结合,实现自动化处理。
问题重点在于如何配置Arcpy的扩展库,并调用配置好的文件(后续整理好后,会上传资源:超链接配置说明.docx、快速配置环境
)后续会在此附上链接供免费下载测试,欢迎各位小伙伴进行测试,互相交流,共同进步!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。