ArcGIS脚本学习杂录
GIS小小研究僧
好哈学习,天天向上
欢迎大家关注我的公众号:GISideas
展开
-
Arcpy多个栅格数据求平均,使用arcpy.ia.Raster和arcpy.ia.RasterCalculator([RaterA, RasterB], [“x“, “y“], “x+y“)两种方式
这种方式,但是这种方式计算出来的结果加载到arcgis中,Nodata是存在的,但是放大影像后Nodata黑边又不见了。但是两种方式计算的结果值是相同的,只是Nodata的拉伸渲染不一样。有时候需要计算多年的栅格数据平均值,生成一个多年均值栅格,少的时候可以直接使用栅格计算器.进行栅格化后直接相加,而是使用的栅格计算器。在计算平均栅格的时候,一开始不是使用的。但是很多的时候栅格计算器就很麻烦。原创 2023-10-06 12:55:44 · 697 阅读 · 0 评论 -
Arcgis pro属性表字段计算生成随机数
【代码】Arcgis pro属性表字段计算生成随机数。原创 2023-09-26 14:21:12 · 313 阅读 · 0 评论 -
ArcGIS将两个相同范围但不同比例或位置的矢量数据移动到相同位置
有两个市图层,一个是正确经纬度的市行政范围图层,另一个是其他软件导出获取的不正确经纬度信息或缺失信息。如果单纯的依靠移动图层,使不正确的移动到正确位置需要很久。尝试定义投影等也不能解决。使用ArcMap 的空间校正工具条,进行矢量数据的配准。就将两个图层大致校正到一起了,再设置相同的投影就可以了。开始编辑后,激活工具条,使用建立空间连接工具。建立足够连接后,查看误差。原创 2023-09-01 18:43:07 · 1257 阅读 · 0 评论 -
基于arcgis 计算RUSLE(修正通用土壤流失方程)的插件GISUS_M介绍
GISUS-M是一个arcgis 插件,通过这个插件可以计算rusle中的五个因子插件的链接:https://www2.ufrb.edu.br/gisus-m/downloadm这个插件在使用过程中,有几个问题:1、LS因子是使用的西北农林张宏鸣老师等人开发的LS_TOOL工具,这个工具对于计算的数据量是有限制的,而且对于计算机的硬件也有一定的要求,如果是大范围高精度的DEM很可能计算不出来结果。2、对于C因子采用的是NDVI进行的计算,但是国内很多研究是采用的植被覆盖度估算C因子。在我个人的使用原创 2022-06-28 13:09:52 · 3336 阅读 · 14 评论 -
Arcpy 对栅格数据批量归一化
这里直接使用的代数就可以相除,自己还是搞不太懂,什么时候要使用arcpy.ia.raster,arcpy.ia.rastercalculator,还是要多实验一下。这里的InData \MinValue和MaxValue都是栅格数据,但是。,产生的MinValue和MaxValue是临时存储到哪里了呢?有一批栅格数据,最大最小值不一样,但是要进行归一化。原创 2023-07-04 18:32:40 · 466 阅读 · 0 评论 -
使用Python Pandas批量删除EXCEL中的特定列
【代码】使用Python Pandas批量删除EXCEL中的特定列。原创 2023-06-29 09:02:03 · 1491 阅读 · 0 评论 -
Python+ArcPy多个矢量文件批量掩膜多个栅格数据
在使用模型构建器等进行掩膜提取时,有时候会有要使用多个矢量文件去掩膜裁剪多个栅格数据的情况,模型构建器内只能进行一次迭代,无法直接进行多次迭代,在模型里面嵌套模型多次迭代还不如直接使用arcpy方便。下面我有20来个矢量文件,要分别掩膜2000-2021年的栅格文件,基于arcpy。原创 2023-05-02 19:59:51 · 703 阅读 · 5 评论 -
Python3使用sys.argv和os.system 从一个程序调用另一个程序,并将参数传递
由于实验需要,需要从A.py 调用另一个B.py,并将A.py中的参数mean、max、min三个值传递给B。这里参考了其他人的文章。原创 2023-04-20 12:27:27 · 893 阅读 · 0 评论 -
Arcgis pro中设置默认的Python 编辑器
如果想要修改默认的代码编辑器,在PRO中,使用Project–>Options–>Geoprocessing。也可以直接在分析选项卡中点击地理处理标签右小角。在arcgispro中可以设置默认的代码编辑器,如果直接不做任何修改,默认的代码编辑器是IDLE。找到任意一个脚本工具,右击edit,可以看到代码使用IDLE打开并显示。...原创 2022-07-28 21:22:44 · 712 阅读 · 0 评论 -
【ArcGIS Pro】在不影响其他Map Frame中Map情况下修改Map,断开同一个Map在不同地图框中的关联
在使用ArcGISPro出图过程中,出现一个很无奈的问题如下图所示,对某一个地图框中的地图做出禁用或者修改,另一个地图框中的地图也会做出修改。这个问题是arcmap中不存在的。arcmap中默认的是断开了不同的map中的连接。通过查找官方文档等等,发现这个问题已经存在两三年了,但是官方一直也没有做出修改。...原创 2022-07-20 17:34:20 · 810 阅读 · 3 评论 -
Matlab 统计每行或每列中,元素出现的个数及比例
使用地理探测器进行探测分析,有X变量是单一值,因为有大量的矩阵,不能手动单一修改,所以要先对矩阵按列,统计每列各个元素的个数,若有一列只有一个或两个值,则要删除该列。tabulate()函数是一个常用的计算矩阵中各个元素出现次数的函数,这里我们只需要稍加变通,设全部的矩阵为dataall,只需要在前面加上一句:data = dataall(:,1),类似于这样的一句,这样table = tabulate(data)计算的就是某一列各元素出现的个数。再通过if函数判断,如果table行数少于3,那么便是不符原创 2022-07-05 20:45:21 · 6025 阅读 · 0 评论 -
使用arcpy时,FNP preptool has not been run on this executable问题解决办法
对FNP preptool has not been run on this executable解决办法:申请或购买正版在使用arcgis pro进行流向分析时,因为区域面积太大,有大约1亿个栅格,运行过程总是卡在某个阶段,然后就一两天也不出结果,不知道是不是有bug。故尝试使用pycharm进行运行,官方代码如下:import arcpyfrom arcpy import envfrom arcpy.sa import *env.workspace = r"工作空间"outFlowDirec原创 2022-05-23 13:41:40 · 3226 阅读 · 9 评论 -
Python或ArcGIS建模将modis的HDF文件转tif,并进行拼接
实验下载了大量的modis的NDVI数据,由于数据是HDF格式,无法直接在arcgis里镶嵌拼接,同时因为是月数据,工作量很大。首先对数据集进行格式转换:# coding=utf-8import osimport arcpyfrom arcpy import envsourceDir = 'F:/NPP2020' # 输入targetDir = 'F:/NPP2020TIF' # 输出#检查Spatial —ArcGIS Spatial Analyst 扩展模块是否许可arcpy..原创 2022-05-20 14:28:05 · 4526 阅读 · 0 评论 -
使用python与采样工具,批量对栅格进行采样,并将采样结果转excel后进行精度分析(2)——使用matlab计算NSE (纳什效率系数NASH)与R2
接下来还需要对结果进行精度分析,在前面的过程产生了上百个EXCEL文件,需要对excel文件进行合并,然后只保留最后两列,同时要删除文件中的异常值(-9999,采样时的空值),之后进行精度分析。为便于查看变量,使用spyder编辑器。...原创 2022-05-19 19:46:39 · 1784 阅读 · 0 评论 -
使用python与采样工具,批量对栅格进行采样,并将采样结果转excel后进行精度分析
研究有1990-2020的栅格格式的月降水数据,来源于国外的网站,同时又1990-2020的站点月降水数据,使用站点月降水数据与栅格月降水数据进行精度分析。参考arcgis pro 空间分析— 提取分析工具箱——sample函数官方指导文件:https://pro.arcgis.com/zh-cn/pro-app/2.8/tool-reference/spatial-analyst/sample.htm或使用提取值至点函数:https://pro.arcgis.com/zh-cn/pro-app/2原创 2022-05-18 19:58:33 · 318 阅读 · 0 评论 -
python学习—使用arcpy将excel批量转table表,并进一步将table转shp格式
现在有一批含有表头的excel文件,表头是经纬度等,但是在arcgis中无法直接将excel转shp,需要先转table再转shp。只有单个文件可以直接使用工具:XY Table To Point (Data Management)—ArcGIS Pro | Documentation直接手动处理,但是现在有大批数据,不能一个个执行,故使用arcpy处理。arcpy是基于arcgis的python里面的模块,如果没有ARCGIS是没办法使用的。主要的参考来源有以下几个函数:ListFiles()函数原创 2022-05-18 13:55:47 · 1808 阅读 · 2 评论 -
arcpy使用列表进行for循环,进行掩膜提取,为tif文件构建影像金字塔,
我这里有1440个tif需要构建影响金字塔,并进行掩膜提取工作,这里需要考虑的问题有:1、tif的投影位置,还没有打开过这些tif,不知道还要不要改投影2、掩膜提取所要使用的shp文件需要什么坐标或者投影。对于构建影像金字塔,我使用列表进行for循环,代码:import arcpyarcpy.env.workspace = " 工作空间"tifflist = arcpy.ListRasters("", "TIF")for tiff in tifflist: arcpy.BuildPyr原创 2022-05-17 18:38:22 · 883 阅读 · 0 评论 -
ArcGIS Pro 克隆clone python环境报错,导致Pycharm无法配置arcgis pro的python解释器,提示无法创建虚拟环境
在使用arcgis pro克隆环境时,总是报错,提示前期为解决这个问题使用了很多方法,今天看到了别人的文章,提出了三种解决办法:方法1、使用管理员身份运行arcgis pro后再clone环境,我使用这种方法成功了。这次这里没有报错方法2:直接复制原来的文件到另一个路径,并将其改名为arcgispro-py3-clone方法3:克隆后的环境少哪个文件,给他添加哪个文件https://blog.csdn.net/u013984204/article/details/124664724原创 2022-05-17 14:09:03 · 1970 阅读 · 2 评论 -
Pycharm导入ArcGIS Pro中的Arcpy时,出现:ImportError: No module named arcpy
在使用pycharm导入arcpy时,如果没有配置好编译器,就会出现:ImportError: No module named arcpy在配置前,我们应该首先知道arcgis pro的python位于哪里,一般情况下,默认路径为:C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3也可以打开软件进行查看:...原创 2022-05-15 16:09:45 · 2248 阅读 · 1 评论 -
基于Arcpy将NC数据转tif
使用arcpy将1901-2020年逐月降水数据进行处理,并不是很推荐使用arcpy,不知道是我太low,写的代码循环太慢,还是就是处理的慢,不如matlab处理的快,不过倒是可以再加上其他处理,转换单位到mm、掩膜提取等,跑一晚上应该还是能结束的。# -*- coding: utf-8 -*-# 主要参考Esir技术支持NetCDF_time_slice_to_raster脚本与MakeNetCDFRasterLayer脚本#速度不快,不如matlabimport arcpy, os, numpy原创 2022-05-14 16:54:25 · 1187 阅读 · 0 评论