Category: ArcPy

arcpy实现重排地块号

import arcpyrnimport osrnmydoc =arcpy.mapping.MapDocument(“current”)rnlyrlist = arcpy.GetParameterAsText(0)rnstr_DKXH = arcpy.GetParameterAsText(1)rnstr_CBFBM = arcpy.GetParameterAsText(2)rnstr_how =

Python与GIS之arcpy基础代码详解(二)

处理空间数据n1.使用游标访问数据n游标:用于访问表格中的每一行记录或者向表中插入新的记录(遍历属性表中的没一行数据)n游标有三种形式:搜索、插入和更新nn搜索游标可用于检索行n插入游标可用于向表或者要素类中插入行n更新游标可用于根据位置更新和删除行nn游标函数位于arcpy.da模块(数据访问模块中),语法如下:nn搜索游标:arcpy.da.SearchCursor( in_table , f…

c#调用python脚本(转)

最近看了些关于python的东西,虽然只是粗略的过了一下,还是觉得有些东西如果用python实现起来,比用c#实现要简洁的多,于是便有了c#和python混合开发的想法,网上查了一下,发现资料还挺多,也挺简单的,无非是调用了IronPython.dll这个动态链接库,而且使用这个dll运行python脚本,并不需要安装python解释器。下面是我写的一个小例子,最后会附上项目源码。先新建一个Win…

【287】◀▶ arcpy 常用类说明

rnArcPy 类列表(按字母顺序)rnrnrnrnrn01rn rnRasterrn创建一个可在 Python 脚本或地图代数表达式中使用的栅格对象。rnrnrn02rn rnCursorrnCursor 是一种数据访问对象,可用于在表中迭代一组行或者向表中插入新行。rnrnrn03rn rnRowrn行对象表示表中的某一行。行对象会从 InsertCursor、SearchCursor 和 U…

[迁移]遍历指定文件夹下的所有文件,python

声明:因网易博客将关闭,移到此n# -*- coding:utf8 -*-nnimport os,codecsnn#————————–n# param path 要搜索文件的目录n# param t 保存文件的列表ndef findfiles(path, t):n files = os.listdir(path);n for f in files:n …

ArcPy – 入门学习

加入字段:rnrn>>> arc = [‘A’,’B’,’C’,’D’,’E’]n>>> for i in range(5):n… arcpy.AddField_management(“idcounty”,arc[i],”TEXT”)给idcounty空间数据批量加入五个字段~rnrnrnrnBuffer缓冲区rnarcpy.Buffer_analysis(“thermal”,”buf

【python】字符串问题

python 字符串问题nnnn在arcpy中版本为 python2.xn在QGIS中版本为 python2.x 或者 python3.xnpython2 和python3 之间的str处理方式经常会导致乱码,故出此文nnpython3版本nnnn# 将str或字节并始终返回strndef to_str(bytes_or_str):n if isinstance

ArcEngine修改字段别名

// 循环处理所有图层rn            for (int i = 0; i rn            rn                IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(layerName[i].ToString());rn                IFields pFields

PYTHON-arcgis的开发:批量操作字段

#添加arcpy包,这个步骤必不可少rnimport arcpyrn… from arcpy import envrn… env.workspace = “D:/资料集/123.gdb”rn##########################################################################rn… fcList

arcpy.mapping常用四大件-MapsurroundElement

arcpy.mapping常用四大件-MapsurroundElement by 李远祥 在arcpy.mapping 中,除了数据入口MapDocument、图层Layer之外,另一重要的角色就是MapsurroundElement。MapsurroundElement直接关系的就是地图的整饰元素。只要凑齐上述的这三大件,ArcGIS的制图自动化基本上就可以实现了。 地图的整饰元素有很多,

arcmap实现大批量数据的空间校正,saptial adjust

arcmap对应大批量数据的渲染体验很差,在空间校正中想要从几十万个面块中去定位到单个面块是特别困难的。上一篇博文写到如何使用程序去 进行空间校正,但是对于单纯的使用者来说门槛较高,因此本文采用arcmap自带的方式来进行。nn首先从几十万个图斑中抽取要校正的单个面块出来,然后与待校正的面块利用工具进行校正。这样可以得到校正文件。nn然后利用此校正文件来校正原来的几十万个面块。nn具体的操作过程,…

在ArcPy中使用UpdateCursor游标 编辑要素类或表中的行

在ArcPy中使用UpdateCursor游标 编辑要素类或表中的行ArcGIS引入了arcpy数据访问模块,有三个游标函数:SearchCursor() 遍历要素中的要素InsertCursor() 添加要素类或表中的行UpdateCursor() 编辑要素类或表中的行以下脚本是使用UpdateCursor()重排标识码(BSM),即把数据库中所有的字段含有标识码

[GIS算法] 2.6.1 判断点是否在多边形内

射线法 | 奇偶测试法rn射线法,也叫奇偶测试法rn简单的射线法rn【交点数目】一条射线从点P开始,穿过多边形的边界的次数称为交点数目rn【判断】rnrn交点数目=偶数 => P在多边形外部rn交点数目=奇数 => P在多边形内部rnrn【适用情况】多边形是简单的(没有自相交点)rn【缺点|不适用的情况】对于非简单多边形,是不适用的rn改良后的射线法rn【改良思路】rnrn确保只有会改变出入特性的穿越才被计算。特…

Arcgis 10.3安装问题以及添加python的包

最近做的项目会用到Arcgis,但是由于Arcgis10.3会自动安装python,而我电脑中本身就已经安装Python(x,y),因此安装后总会出现一些问题。rnrnrn首先谈谈安装Arcgis 10.3,这里感谢百度经验:rnhttp://jingyan.baidu.com/article/870c6fc31173e5b03fe4bee1.htmlrnrn内容非常详尽,对我帮助很大。rn但是里

ArcGIS提取CAD数据

1、CAD面数据的提取:rn提取CAD数据时,最好的办法就是把不相干的CAD图层和数据删掉。rn rn2、CAD数据空间校正的问题:rn从CAD导出的图层进行空间校正的时候,CAD数据作为源图层也不能校正到目标图层,这极有可能是CAD导出图层的问题。rn rn解决方法是新建一个图层,将原CAD数据图层复制到新的图层上,再进行空间校正即可。

ArcGIS Python脚本二之查找和修复丢失的数据链接

nn    当对GIS的数据源进行移动、格式转换或删除等操作时,往往会导致地图文档或图层文件中的数据丢失链接,这时将无法显示地图数据。nn    如果使用arcpy.mapping模块编写脚本,则无需打开地图文档就可以自动查找和修复丢失的数据源。nn    相关术语的定义:nn工作空间    ——    工作空间是一种数据容器,它可以是一个文件夹(就shapefile而言)、个人地理数据库、文件…

ArcGIS地图文档MXD效率慢的一点建议(二)

经常有用户询问,我的MXD图层比较多,而且配置好了相关的符号,但是我的服务器更换了一下,而且两个服务器的要素类名称都是一样的,我想配置一下新的数据源,而且我的这个MXD已经连接不到原来的数据源了,打开这个MXD,要花费很长时间,请问有什么可以避免的么?因为这种情况下,打开MXD的时候,会查询数据源,特别是SDE数据源,如果找不到MXD记录的相关参数信息,系统会默认一直在找相应的IP(也可以理解一直

将在txt中的点数据批量arcgis插值后再输出为excel格式–未完

任务:储存在txt中的点数据进行插值,然后将插值输出成带有经纬度的excel文件。这个步骤我分解成5步 n①将点数据转换成shp文件 n②对shp文件进行插值后生成栅格文件 n③栅格转点,还是shp文件 n④对shp文件的表进行操作,增加XY坐标 n⑤表转excel输出如果是一个txt或者excel文件, n①首先在arcgis里面可以通过将“文件”——“添加数据”——“添加xy数据”的方法将点数据

Script & Tool之Compress & Analyze

Arcpy(arcgis10+python2.6) 改编nn# This script is designed to compress an SDE Geodatabase and thenn# loop through and analyze the statistics of each feature dataset, view,feature class

为点文件增加经纬度信息,Add XY Coordinates

ArcTool Box里面的Data Management Tool下面的Features工具集,使用Add XY Coordinates工具,则可在点状数据的属性表里添加了XY两列坐标。rn注意,其增加的xy坐标与ArcMap的显示单位一致,需将显示单位设置为Decimal Degrees,增加的才是经纬度rnrn2、或者直接右击field,Calculate Geometry,选择单位为Dec

利用Python与Arcpy实现批量投影

问题:将多城市经纬度坐标的RD_LINK/NODE转换成平面坐标nn背景数据:nn1、需要被投影的源数据:60个不同城市,分文件夹下有经纬度坐标的RD_LINK,RD_NODE。以北京为例:nnnn2、全部城市对应的平面坐标投影文件已有:nnnn代码实现:nn第一步:列出分城市的成果文件夹们nnnnn#批量经纬度转平面投影——投影成果文件夹批量生成n#-*- coding: utf-8 -*-ni…

利用arcgis的python读取要素的X,Y

import arcpyn… from arcpy import envn… env.workspace=”C:\\Users\\Administrator\\Documents\\ArcGIS\\Default.gdb”n… fc=”bou2_4p_Select”n… cursor=arcpy.da.SearchCursor(“bou2_4p_Select

返回指定类型的属性列表

import arcpyn… from arcpy import envn… env.workspace = “I:\pystudy\shili”n… fla = arcpy.ListFields(“fydltb.shp”,””,”String “) #返回为文本字段n… for field in fla:n…

arcgis的python2.7如何使用utf-8输出汉字

转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/83543162nn nn本人的操作环境是win10的anaconda的python2.7的32bit版本nnns=’你好’nprint(s)nn上面的代码可以直接输出“你好”。nnns=u’\u7eac’nprint(s)nn上文得…

python中文编码问题

转码思路字符串在Python内部的表示是unicode编码,在编码转换时通常需要以unicode作为中间编码。先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。转码举例s.decode(‘utf-8’, ‘ignore’).encode(‘gbk’, ‘ignore’)先由utf-8转为unicode,再由unicode转为gbk,ign…

ArcGIS 栅格计算器con函数用法

n n n 笔记:n调出栅格计算器:nSpatial Analyst tools → Map Algebra → Raster Calculatorncon(条件)函数用法:n基本语句:ncon(条件(语句),真(语句),假(语句))n若“真(语句)”或“假(语句)”存在缺失,则对应栅格单元的值赋值为空(NoData)。n三处语句均可以是表达式,布尔语句,值,嵌套条件语句,具体运用可根…

使用ArcGIS进行拓扑检查

使用ArcGIS进行拓扑检查        最近在项目中碰到一个问题:道路中心线如果有多部分组成,例如是MultiLineString的时候,由于数据采集处理的原因经常会造成,MultiLineString的各个部分之间并不是完全能够连接起来,这样的话会对数据的后期分析处理造成一些影响,所以必须对数据进行处理,将一定范围内分离的各部分连接起来,上网看了一下,发现ArcGIS的拓扑分析的时候可以

ArcGIS从文件地理数据库里导出成Shp数据

nn 1.ArcGIS从文件地理数据库里导出成Shp数据nnnimport arcpynfrom arcpy import envnimport osnenv.workspace = “E:/US_HistCounties_Shapefile/tuopu-287/topu/tp.gdb/tp_1″noutWorkspace = “E:/US_HistCounties_Shapefile

ArcGIS10.2自带的Python2.7下安装pip

楼主比较懒,不想安装新的Python,就用ArcGIS10.2自带的Python2.7。nn1 先配置Python环境nn   打开控制台,输入“Python”,我们能够看到显示不是内部或外部命令:(那是因为安装ArcGIS10.2时并没有没有设置环境变量,因此进入环境变量的设置中,在用户变量PATH及系统变量Path中都加入Python的安装路径F:\softwareinstall\GISPy…

批量裁剪GDB

rnrn代码如下:rnrn# -*- coding: utf-8 -*-nimport os.pathnimport arcpynfrom arcpy import envnarcpy.env.workspace = ‘D:/AllDB/china.gdb’noutput = “D:\\Test”nclipshp = “D:\\need\\SmallRegion.s

栅格图像分离单个波段

得到一份栅格文件,其是由三个波段叠加而成的,现在要获得每个单独波段的栅格图像(也就是3幅栅格图像),分别记为band1,band2,band3.n受到http://gis.stackexchange.com 点击打开链接里面一位朋友的回答,其实ArcGIS里面有个工具可以很巧妙地解决这个问题。nData Management Tools->Raster->Composite Bands,这个工

python_MOD13A3 NDVI数据剔除无效值

无效值为 -3000,使用setNull函数来执行nnn# -*- coding: utf-8 -*-nimport arcpynfrom arcpy import envnfrom arcpy.sa import *nnarcpy.CheckOutExtension(“ImageAnalyst”) #检查许可narcpy.CheckOutExtension(

寻找起伏度最佳窗口、使用arcpy求取地形起伏度的最佳统计单元

1、引言原文地址链接:https://blog.csdn.net/haichao062/article/details/38318525地形起伏度相关的研究很多,而地形起伏度数据,需要从DEM中提取。查了下文献,有可靠依据的是“均值变点法”。均值变点法是一种对非线性数据进行处理的数量统计方法,该方法对恰有一个变点的检验最为有效。推荐详细读下2008年发表在《兰州大学学报》的《新 疆 地 势 起 伏…

SDE直连、修改SDE最大连接数、自动踢除SDE死连接

SDE直连rn通过SDE服务来连接Oracle数据库,SDE服务存在很多不稳定的地方。当连接SDE的用户数多了的时候经常出现故障。为了避免这种情况,SDE提供了直连Oracle的方式,即通过Oracle的连接方式来连接。 rnrnrn直连的优点:rn rn1) 不管理ArcSDE服务rn     直连数据库驱动不需要管理ArcSDE服务,不需要安装、配置和启动中间进程giomgr.exe。rn2)

arcpy的初使用

第一次创作,最近在学习arcpy,用以记录过程,加强理解,便于复习n本人背景:专业土地资源管理,本科考研学的、考的都是管理学,纯小白,毫无编程背景,后因小论文撰写需要,自学过一段时间Python的机器学习相关,一直处于“掉包侠"的阶段。如有错误,请谅解。

ArcGIS Python API获取以及对比landsat数据

ArcGIS Python API是Esri最新出品的一套用于控制Online & Portal的Python API,与ArcPy有本质的区别,它主要的功能都用于WebGIS的应用,虽然简单,但是功能极其强大,今天给大家演示一个效果灰常流弊的功能:从ArcGIS online上获取以及对比不同年份的landset数据:

arcgis10.1如何生成MSD记录

突然发现在10.1版本的桌面中好像没有生成MSD的工具了,于是找了半天帮助发现可以这样。。。。。。。。。rnimport arcpyrnmxd = arcpy.mapping.MapDocument(r”C:\test.mxd”)rnmsd = r”C:\test.msd”rndf = arcpy.mapping.ListDataFrames(mxd, “Layers”)[0]rnarcpy.ma

打开.mxd文档

System.Windows.Forms.OpenFileDialog openFileDialog;rn openFileDialog = new OpenFileDialog();rn //初始显示目录rn openFileDialog.InitialDirectory = @”C:\”;rn //下次打开…

克里金插值程序

点击打开链接http://www.cnblogs.com/arxive/p/5119632.html克里金插值的原理的阅读笔记,在下面下载DOWN LINK。此原理让你很快明天克里金插值的原理,论文写的十分的好。推荐你下载并阅读,如果没有CSDN积分,可以去知网或者百度学术中下载。只是上面没有我的笔记而已。  下面说说程序的事情。  这个程序有两个版本,第一个是Matlab版本的,在CSDN中可以…

ARCGIS\python批量裁剪栅格数据

#coding:utf-8nn裁剪太行山区域的降水量和气象数据nimport sysnimport os, stringnimport arcpynimport arcpy.sanimport pdbnfrom arcpy import envnfrom arcpy.sa import *nenv.overwriteOutput=True #可以覆盖nenv.workspace

ORG/GDAL利用csv文件生成shapefile点文件

输入csv文件,确保前三列为ID/经纬度,后面的列数及列的类型不限制,生成对应的点文件,默认设置地理坐标系为WGS84,投影坐标为通用墨卡托49N。rn       #include n#include “ogrsf_frmts.h”n#include “gdal.h”n#include “gdal_priv.h”n#include “cpl_string.h” n#include n#inclu

利用Python制作Arcgis脚本工具

#coding=utf-8 import arcpy import os import os.path inWorkspace = arcpy.GetParameterAsText(0) #输入英文城市名文件所在路径,下含已转好的DAE_SHP文件夹 #inWorkspace = “D:/PythonCode_inWork/09DAE_SHP_Check/PROCESS

ArcSDE数据迁移方法实践说明

每次用户问道ArcSDE数据怎么迁移,我们都会给用户推荐使用ArcGIS的方法来迁移,所谓ArcGIS的方法就是将SDE数据导出到FGDB,然后FGDB可以导入任意操作系统、任意版本、任意数据库的ARcSDE里面所谓导出我们推荐1:如果使用ArcCatalog,使用Copy/Pastecopy/paste推荐使用ArcCatalog方法,虽然你在ArcMap也可以,但是ArcCatalog可以批量

给大家介绍几个addin工具

1、Visual Assist X v10.1.1301 Final 正式版 ==–rnVisual.Assist.X是一款非常好的Visual Studio .NET 2003、2002插件,支持C/C++、C#、ASP、Visual Basic、Java和HTML等语言,也支持VC++6、VC++5,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误…

自定义GP工具

概述nnGP 工具是ArcGIS中的一个重要组成部分,用户可以使用ArcGIS提供的数百个GP 工具进行各种分析,并且提供了工具可以自由的组合这些工具,进行更复杂的分析。ArcGIS提供的GP 工具如下:nn如果想执行一个GP 工具,可以双击该工具,系统会弹出该工具的界面,如下图所示:nn除了可以执行单个的GP 工具,还可以使用ArcGIS提供的Model Builder来组合现有的G

arcpy批量近邻分析,不同的道路

# encoding: utf-8nimport osnimport arcpynfrom arcpy import envnpath=r”D:\data\polygon”ndl=r”D:\data”nfor fc in os.listdir(path):n if(fc.endswith(“.shp”)):n fcname=fc.decode(‘GBK’).encode

python学习笔记(九)异常处理

python标准异常nnnn异常名称n描述nnnnnBaseExceptionn所有异常的基类nnnSystemExitn解释器请求退出nnnKeyboardInterruptn用户中断执行(通常是输入^C)nnnExceptionn常规错误的基类nnnStopIterationn迭代器没有更多的值nnnGeneratorExitn生成

python中文编码问题

1、nn在python安装目录下的lib下的site-packages 目录中,新建文件sitecustomize.py。这是个特殊的文件,在python启动时会自动执行其中的语句。在sitecustomize.py中的语句sys.setdefaultencoding(“UTF-8″)的作用是将默认编码设置为”utf-8”,样使用中文时就不会出现 UnicodeError错误。设置前的默认编码是A…

Python数据的合并

数据的合并有两种形式:一种是按照列进行合并;一种是按照行进行合并nnn列合并 nmerge(data1,data2,how=’left’,out,inner,on=’userid’) n当合并的两个表都没有相同的列名的时候也可以合并,通过制定left_on ,right_on 来进行合并。 nmerge(df1,df2,left_on = ,right_on=)n行合并 npandas中使用con…

退出移动版