一.引言 在arcgis打开一个图层的属性表,可以对属性表的某个字段进行计算,但是在平常一般都是使用arcgis提供的字段计算器的界面进行傻瓜式的简答的赋值操作,并没有使用到脚本对字段值进行逻辑的操作.由于最近一直在学python脚本,刚好又碰上一好基友需要我的助攻(使用arcgis制图),这就用上了.本以为能够轻松搞定的,没想到搬石头砸脚了,下面就来说我是如何被砸脚的吧. 二.问题描述: 将test字段中值为“湖南”的变为“湖南省”. 这个逻辑是相当的简单,使用python写一个对应的方法为:…
来自:https://www.jb51.net/article/73561.htm 一.引言 在arcgis打开一个图层的属性表,可以对属性表的某个字段进行计算,但是在平常一般都是使用arcgis提供的字段计算器的界面进行傻瓜式的简答的赋值操作,并没有使用到脚本对字段值进行逻辑的操作.由于最近一直在学python脚本,刚好又碰上一好基友需要我的助攻(使用arcgis制图),这就用上了.本以为能够轻松搞定的,没想到搬石头砸脚了,下面就来说我是如何被砸脚的吧. 二.问题描述:将test字段中值为“湖…
在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用.在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了.这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中.代码如下: import sys reload(sys) sys.setdefaultencoding( "utf-8" ) import arcpy import string from arcpy.sa import * try: raster = arcp…
其实,这就是批量执行了ArcToolbox 分析工具-筛选 功能. 先上代码,后做解说: # in_feature:待拆分要素类 # out_folderpath:输出路径,注意最后加“/”以与字段名拼接出输出文件路径 # split_field:拆分标准字段 import arcpy in_feature="C:/Users/yang/Desktop/中国行政区矢量图/省级行政区域.shp" out_folderpath="C:/Users/yang/Desktop/1/&…
今天测试时发现使用ArcMap自定义一个坐标系,将坐标系名称设置为中文,基准面名称选择为自定义后,然后保存成prj文件. 在自己的程序中读取该prj文件后,发现ISpatialReference 对象的name以及Datum.Name两个属性的值,都为乱码, 但是在同事的电脑上测试,一切显示正常. 唯一的差别在于,他的demo上添加了AxLicenseControl控件进行的初始化,而我是直接使用的代码进行的初始化. 为了避免出现这种错误,建议实在非必要,最好还是使用AxLicenseContr…
对栅格的裁切,我们通常使用裁切(数据管理-栅格-栅格处理)或按掩膜提取(空间分析-提取分析)来裁切,裁切的矢量要素通常是一个要素图层或Shape文件.如果要进行批量处理,可以使用ToolBox中的批量处理工具.但是,有时我们选择的裁切矢量要素不是一个要素图层,而是要素图层中的一个要素,如按标准图幅裁切栅格影像,以前的做法是将要素一个一个的导出来,再进行批量处理.快速导出方法:ArcGIS按字段属性分割文件. 现在,可以使用Python脚本来批量裁切,在网上找了位大神的原始代码学习一下: #-*-…
*号作为python脚本的传入参数时,必须用单引号'',才能正确传入.如python test.py 2014 '*' age python test.py 2014 * age是错误的. 比如 test.py脚本如下 import sys hdfs_report_historical_year = sys.argv[1] # eg:2014-05,2014-12,etc. hdfs_report_historical_month = sys.argv[2] # eg:all,region,ci…
在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在这种情况下可以采用另一种方法:使用Java的Runtime,像在命令行直接调用python脚本那样调用python程序.此时可以通过文件作为脚本参数来传递Python程序所需要的参数,并从脚本的输入输出流来获取本来该打印在控制台的结果. 先准备好一个python文件: def get_path(fi…
大神推荐使用vim编写Python脚本,学而时积之,不亦乐乎! 使用vim编写Python脚本的时候不能正常缩进,需要修改vimrc文件 Ubuntu系统下vimrc文件的位置: $ cd /etc/vim/ $ sudo vim vimrc 添加如下到vimrc文件 set filetype=pythonau BufNewFile,BufRead *.py,*.pyw setf python set autoindent " same level indent set smartindent…
原理: 利用图斑最小外包矩形的左上角坐标(数学坐标)Y坐标将序.X坐标升序的方式获取自上而下,从左到右的要素记录排序,然后遍历编号. "!shape.extent.xmin!"计算要素最小外包矩形的左上角X坐标: "!shape.extent.ymax!" 计算要素最小外包矩形的左上角Y坐标: 字段计算器中可做Python脚本表达式用,Arcpy中其类型为Python_9.3,在“解析ArcGis字段计算器”相关博文中,已对上面代码信息进行过说明. 代码如下: #要…