
python
yGIS
这个作者很懒,什么都没留下…
展开
-
(四十四)arcpy开发&点(point)、线(polyline)、面(polygon)游标(Cursor)中的令牌
在操作属性表中,无论是使用搜索SearchCursor,还是UpdateCursor,抑或其他的Cursor,都或多或少的用到令牌(形如用SHAPE@来做标记),比如下面的代码。令牌在我看来是对操作属性类和表的一种返回标记,你比如说返回记录的几何信息,xy坐标信息,质心等。而esri公司之所以提出了令牌是为改善操作属性表性能,让查询更加优化,速度得以提高。按照相关的资料,我们可以知道。在操...原创 2019-05-22 22:24:27 · 3711 阅读 · 0 评论 -
(四十五)arcpy开发&字段列表,字段创建、与删除
似乎每一个地理制图工作人员,在制作数据时候,都会接触到属性表shapefile数据,而我们建表的目的是为了能够记录我们的信息,为了能够标记我们需要的特定信息,我们往往需要建立不同类型的字段来标记数据值。那么arcpy也是提供字段的相关操作接口(api),首先我们要说的是字段列表。如下图所示。一共有四个字段,分别是FID、Shape、Id、DLTB,字段是一个列表对象。我们使用arcpy来...原创 2019-05-26 22:26:34 · 3492 阅读 · 0 评论 -
python学习&流程控制语句if、else、elif
ifif用来判断某种条件是否满足,如果满足,则执行if后面紧跟的语句块.比如下面的语句。因为x是为1,那么x<5这个条件是成立的。就会帮我们打印x,而x<0这个条件是不成立的,所以不会给我们打印x。我们来看一下if的流程图elseelse是跟着if控制,当if不成立的时,那么就执行else语句.比如上面的x=1,可以使用else来执行当x<5不成立的情...原创 2019-05-25 14:36:47 · 4410 阅读 · 0 评论 -
python学习&元组
很久之前写过一篇博客,关于使用到了元组方面的内容。参考了相关的资料,元组经过初始化后就不能再修改了。和列表声明相类似,只不过元组使用了小括号将元素组装起来。元组的声明使用小括号构建元素。注意:元组可以将不同的数据类型整合到一起,比如下面的第三条数据中就是将字符、数字、布尔类型的数据放到一起。元组的访问可以使用下标对元组进行访问,注意下标可以访问多个元素,也可访问一个元素。还要...原创 2019-05-20 22:51:08 · 256 阅读 · 0 评论 -
python学习&导出csv数据
群里有小伙伴要求将自己的数据导出为csv格式。首先要说明的是,我安装的python是2.7,为什么这么说,因为在导出数据的时候不同的版本有一定的差异,好了,来看一下实现代码。不需要注意读取文件方式。#coding:utf-8import csvimport os#文件路径,根据自己需要,做调整dirPath = "C:/Users/qin/Desktop/csv/"csvfile=...原创 2019-05-19 20:36:55 · 7177 阅读 · 0 评论 -
python学习&列表
列表相关信息列表是python的一种数据类型,有点像java、C#的数组。列表由多个元素组成,这些数据可以是数字、布尔、字符、以及其他类型的数据。列表的使用下标来访问,其实起始下标为0,依次可以访问每一个元素。注意:访问的索引必须在列表的范围内,否则会报出现超出列表索引的错误。下面我们来测试一下列表相关信息。列表是一对中括号声明起来的对象。列表的增加、删除使用append来追加元素...原创 2019-05-19 12:27:46 · 309 阅读 · 0 评论 -
python学习&多版本安装
由于最近有小伙伴的需要,在编写导出csv文件时,他用到的是3.7,而我自己的python为2.7。写好的代码在我们这能运行,而在他的环境下,或多或少会出现问题。于是决定了在自己的机子上也同时安装3.7的python。首先,python2.7是ArcGIS Desktop自带的了。而现在需要来安装一下3.7。从官网下载安装包。https://www.python.org/选择下载地址...原创 2019-05-19 10:07:51 · 291 阅读 · 0 评论 -
(三十五)arcpy开发&计算polyline的起点和结束点
今天我们来学习一下,使用arcpy来寻找polyline要素类的起始端点和结束端点。首先,程序开始会对要素类polyline进行遍历,然后利用半正矢公式对两个端点进行计算。这里主要利用到半正矢公式,以及在arcpy中创建要素类字段,并添加相应的值。我们来看一下具体的实现代码。import arcpyimport sysimport mathdef haversine(point1, ...原创 2019-04-20 09:38:49 · 1225 阅读 · 1 评论 -
(三十一)arcpy开发&面的创建
本次我们来学习一下,关于使用arcpy来创建一个面,那么我们创建的这个面只有四个顶点,是一个方形的面。定义的投影为WGS84。创建要素面之前,我们必须将我们的工作空间给加载起来,然后就是链接我们需要创建的shapefile面名称。接着使用arcpy.Point来创建点对象,创建完点对象后,依次将这些点数据加入到arcpy.Array序列中。再使用arcpy.Polygon载入之前创建的点序列。最后...原创 2019-03-31 21:15:47 · 2357 阅读 · 1 评论 -
python学习&No module named numpy
使用ArcGIS自带得shell窗口,老是报如下的错误。估计是没有安装好吧。然后,按照博文https://blog.youkuaiyun.com/weixin_41826637/article/details/80966836,https://www.lfd.uci.edu/~gohlke/pythonlibs/下载了相关的python包,后面又报如下的错误。估计是路径在正则表达式,出现了错误...原创 2019-05-18 10:07:26 · 2928 阅读 · 0 评论 -
python学习&变量定义
学习一下python的变量:变量的声明注意事项字母,数字,下划线组成 第一字符是字母或者下划线 尽量不要使用下划线 下划线线之外,其他的特殊字符不能用于变量的声明 不要与关键字冲突,比如in len函数,if、while关键字冲突我们来做一些练习如果我们使用了数字的话,那么报下面的错误现在我们来测试一下,使用其他字符声明的变量那么,我们现在使用关键字来测试...原创 2019-05-18 14:09:44 · 525 阅读 · 0 评论 -
python学习&字典
这几天都比较忙,在搞android开发,接着就天天码代码,自然就是很晚。抽点时间现在来看一下python方面的基础,字典。字典字典是一种可变容器模型,可以为任意类型。字典中由键和值组成,中间冒号隔开。使用冒号隔开,这样就可以一一的创建好一个对象,对象之间使用逗号隔开。使用arcmap来创建一个对象。创建字典可以为多种对象类型,如下图所示。就有整数类型,字符串类型。字典的访问...原创 2019-06-02 23:06:44 · 284 阅读 · 0 评论 -
python学习&函数
函数现在来学习一下函数,函数是什么,可以理解为是一个代码块,这个代码块构成了一个部件,类似arcgis的工具箱里面的工具,而我们只需要调用这个代码块,就可以为我们做重复的工作。在python中,函数的定义为def函数名(): 逻辑语句 返回值(如果有,没有就不返回)比如我们在做加法计算的时候,有很多组数据需要计算,那么我们就可以定义一个这样的代码块,来执行执行计...原创 2019-05-28 20:38:26 · 403 阅读 · 0 评论 -
python学习&字符串
定义字符串的定义,python中使用双引号(""),或者单引号('')用于字符串的声明。访问对于整个字符串而言,可以拆分为一个一个单个字符,组成的数组。比如下面的字符。str_array="this is string of str_array"使用str_array[0]则访问第一字符:t,而使用str_array[0:4]则访问了:this,而如果想访问整个字符,可以使用这样的...原创 2019-05-18 14:57:06 · 287 阅读 · 0 评论 -
(二十八)arcpy开发&关于arcgis中的arcpy.da.Walk
现在我们来学习一下关于arcpy.da.Walk这个api,首先呢,该函数需要提供三个参数,分别是工作空间、数据类型、类型。现在我们测试一下下面这段代码,注意使用的过滤条件。设置数据类型、类型都是any。#coding=utf-8import arcpyimport osws = r"D:\Data\中国国界和省界的SHP格式数据\省界\demo.gdb"walk = arcpy....原创 2019-03-11 19:43:52 · 2733 阅读 · 0 评论 -
(二十七)arcpy开发&关于arcpy.Describe
今天在学习关于工作空间相关知识,用于了下面的函数来实现判断当前输入的要素参数在哪个工作空间。其中主要运用到了arcpy.Describe函数。def get_workspace(featureClass): catalogPath = os.path.dirname(featureClass.catalogPath) if arcpy.Describe(catalogPath...原创 2019-03-11 19:08:56 · 3769 阅读 · 0 评论 -
(六)arcpy开发&利用arcpy在arcgis中批量将hdf数据转tif数据(python文件的变量,数据转换)
首先,小伙伴们可以参考学习视频。https://edu.youkuaiyun.com/course/detail/25535本次我们来学习一下关于使用arcpy将hdf转tif数据。hdf格式数据还是常见的。那么什么事hdf格式的数据呢,来看一下相关资料。相关大概资料HDF(Hierarchical Data File)是美国国家高级计算应用中心(National Center for Super...原创 2018-11-11 22:37:09 · 11523 阅读 · 13 评论 -
(五)arcpy开发&利用arcpy在arcgis中实现polyline偏移(polyline节点遍历、坐标更新)
今天我们来学习关于arcgis中的多义线偏移。使用的是令牌”SHAPE@XY”,将多义线的拐点的x、y值取出来。然后再做平移操作。如下图所示,为我们的测试数据polylineTest.shp多义线数据。下面的坐标我们起始的坐标数x、y值。而下面是经过我们编写代码,带节点的x、y值上面分别增加了10.2的数据。其中蓝色为我们的原始数据,而紫红色为我们处理后的数据。这次我们录制一个调试...原创 2018-11-11 12:57:35 · 2875 阅读 · 0 评论 -
(四)arcpy开发&利用arcpy实现arcgis中字段自动编号(pycharm导入arcpy站点包,字段创建、更新与写值)
首先小伙伴们,可以看一下我们的学习视频https://edu.youkuaiyun.com/course/detail/25535一、问题来源今天看到群里有一个小伙伴,要实现这样的一个功能,来看一下他的提问:问下各位大神,如果图层里面有2000个小班,我需要将这2000小班在属性表里面编号依次为1234……199819992000该怎么操作呢 。于是下面有人说可以对字段的FID操...原创 2018-10-27 12:36:29 · 3721 阅读 · 4 评论 -
(三)arcpy开发&利用arcpy实现接边处理(arcgis要素创建、更新、图层选择)
首先小伙伴们,可以看一下我们的学习视频https://edu.youkuaiyun.com/course/detail/25535之前一个项目中有关于接边方面内容,即在两个相邻的行政区域内出现面数据有相邻的部分,现在需要将相邻部分两个面的ID互换。具体的数据如下图所示:那么如何来解决这个问题呢,首先在arcpy中可以使用SelectLayerByLocation_management对图层...原创 2018-10-21 16:00:57 · 3870 阅读 · 1 评论 -
(二十九)arcpy开发&利用arcpy在arcgis中实现批量计算图斑四至坐标(polygon顶点计算,范围获取、pyhon类创建)
首先,可以参考arcpy学习视频。https://edu.youkuaiyun.com/course/detail/25535一、问题与解决方法这个方法的灵感来自昨天昨天,下面来说一下实现功能。一直以来都有对图斑(polygon)多边形四至坐标提取的需求,其实是这样的,之前在群里看到了林业部门的一个小伙伴有这样的需求,就是提取图斑(polygon)多边形最四至坐标,即一个多边形的最北点、最东点...原创 2018-10-28 12:53:02 · 8468 阅读 · 9 评论 -
(一)arcpy开发&利用arcpy在arcgis中批量裁剪影像
首先小伙伴们,可以看一下我们的学习视频https://edu.youkuaiyun.com/course/detail/25535最近有这么一个需求:我有一个面文件数据,该面文件shapefile有多条记录,具体如下图所示。现在需要遍历出图层中的每个面记录数据,然后作为范围面和一个大的tif影像裁剪。我们知道,在arcgis中可以使用裁剪工具对影像裁剪。具体步骤,依次选择【Data Manag...原创 2018-10-17 20:18:14 · 5057 阅读 · 4 评论 -
(二)arcpy开发&arcpy中利用不规则矢量面在arcgis中批量裁剪影像
使用clip工具来裁剪图形一般是规则多边形,即一个范围裁剪是以最左点,最上点,最右点,最下点来确定范围线。如下图所示是一个范围线,该范围线是不规则的。以及叠加上影像,按理来说应该是范围线内的部分。下面我们来使用arcgis工具来裁剪一下影像。注意没有勾选【Use Input Features for Clipping Geometry(option)】最后的裁决效果如下图所...原创 2018-10-18 14:32:33 · 1967 阅读 · 1 评论 -
python在arcgis中案例开发(空间求交、连接以及excel数据导出)
arcgis开发python视频教程https://edu.youkuaiyun.com/course/detail/25535这是使用python写的第二工具了,可以说这门计算机语言也是初次接触,还好使用过c、 c#、JAVA等计算机语言,所以在使用python的使用也不是完全找不到北。这是国庆之前做的一个项目。首先我来说一下我所用到的数据:山最高点(shapefile点数据)、山底座数据...原创 2018-10-07 20:44:39 · 5685 阅读 · 0 评论 -
pycharm在arcpy开发中arcgis工具箱打包
首先小伙伴们,可以看一下我们的学习视频https://edu.youkuaiyun.com/course/detail/25535明天就国庆了,刚好最近在使用python在arcgis方面批处理开发工作,写了一些总结,以备后用。这次我们先做了一个测试工具,其主要目的是利用toolbox工具箱的Mosaic To New Raster将多个栅格数据合成一个栅格数据。如果说栅格数量少的话,手动选择并没...原创 2018-09-30 20:36:22 · 6815 阅读 · 3 评论 -
(七)arcpy开发&&利用arcpy解析json生成shp数据
最近项目有这样的需求,采集的是在android平台上开发的平板app的上获取的图形数据。我们采集了点(point),线(polyline),面(polygon)数据,然后利用arcgis for android的api接口将这些图形数据转为json以string类型数据存储到splite数据库中。外业采集完后,再转为相应的shapefile数据,那么现在遇到的问题是如何将json格式的数据转为sh...原创 2018-12-12 21:47:45 · 1667 阅读 · 1 评论 -
利用arcpy实现在arcgis中对图斑至上而下、从左到右编号
首先小伙伴们可以参考arcpy开发学习视频。https://edu.youkuaiyun.com/course/detail/25535最近做三调项目中,有小伙伴有这样的需求,需要对图斑至上而下,从左到右进行编号。看了网络上相关的资料,有对图斑(polygon)面求出extend,xmin、ymax值,然后导出数据,按照对xmin进行升序排列、对ymax进行降序排列,然后按照自己项目的需要对图斑进行编...原创 2019-01-05 18:23:45 · 4710 阅读 · 2 评论 -
(二十五)arcpy开发&实现对面和线要素端点的统计
这个例子是学习使用arcpy来统计面要素和线要素的个数,以及顶点(端点)个数的。利用到pointCount以及令牌方面的知识。首先还是对要素进行了遍历,然后统计相应的顶点数。下面我们来看一下实现代码。#coding=utf-8import arcpydef getVertCount(featureclass): desc = arcpy.Describe(featurecla...原创 2019-03-09 17:01:00 · 880 阅读 · 0 评论 -
(二十四)arcpy开发&修改arcgis中的字段长度
首先在测试这段代码之前,我们这里新建一个字段用于测试。然后将FID的值相等过来。最后我们的属性表如下图所示。那么我们来看一下代码的实现过程,首先我们读取了一个要素类,然后设置我们需要修改长度的对应字段,然后设置对应的长度。在没有将字段值删除之前,我们需要将原有的数据给保存起来。然后再将我们的shapefile数据需要删除的字段给删除点,之后就是重新创建字段了。创建完字段后,...原创 2019-03-09 16:36:23 · 8201 阅读 · 0 评论 -
(二十三)arcpy开发&利用GetRasterProperties_management获取栅格数据相关信息
今天我们来学习一下关于获取栅格数据的一些信息,首先我在这里呢是遍历某个工作空间下面所有数据,然后读取这些栅格信息,最后将这些信息写入到txt文件中。其中有关arcpy获取栅格信息的标记可以参考esri的相关文档。http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#//0017000000m7000000,下面我们来看一下具体的实现...原创 2019-03-09 15:35:12 · 3372 阅读 · 2 评论 -
(十八)arcpy开发&利用arcpy实现在arcgis中对字段的删除
本节,我们将带领大家一起来学习一下关于字段删除方面的函数。我们将会删除字段中除了FID shape外的其他字段。其中利用到函数字段列举函数。arcpy.ListField,下面定义的这个函数将返回所有的字段。def getFieldNames( fc): fieldList = [] for f in arcpy.ListFields(fc): ...原创 2019-02-20 19:21:17 · 1977 阅读 · 0 评论 -
(十二)arcpy开发&利用arcpy实现在arcgis中对要素数据某一个字段值分类分割shapefile数据输出
今天我们要学习这个功能是利用arcpy在arcgis实现对某一个要素属性数据shapefile的某一字段进行数据的筛选。实现的过程使用了SelectLayerByAttribute_management函数将该字段中的某一个字段值分出来,然后将数据另存为shapefile文件。我们来看一下这里的测试功能,我们对如下图的数据操作,从中可以看出属性记录一共有800多条,现在对FID字段进行分类选择,那...原创 2019-02-11 21:05:14 · 5030 阅读 · 1 评论 -
(十六)arcpy开发&利用arcpy在arcgis中创建gdb文件
本次我们学习的是如利用arcgis提供的python接口arcpy在arcgis中创建gdb文件。在代码中,多处利用检查机制,首先检查路径传入的路径是否存在,如果传入的需要创建的gdb文件已经存在,那么代码会说明已经存在了。当路径已经创建好后,接下来要创建的gdb文件检查是否创建好了。接下来我们看一下实现的具体代码。#coding=utf-8import arcpyimport osi...原创 2019-02-17 19:35:19 · 4961 阅读 · 0 评论 -
(十)arcpy开发&&设置arcpy参数数据类型
在arcgis的arcpy二次开发中,往往我们需要设置工具的数据类型。如下图的Add Geometry Attributes工具中Input Features选项。在这里我们需要设置的数据类型为矢量属性数据。又如下面的工具Points to line。在Input Features中数据类型可以是Feature class、Layer file 、All Fitters List...原创 2019-01-30 06:41:07 · 4821 阅读 · 0 评论 -
(九)arcpy开发&arcpy开发中获取工具箱中的参数
平时制图中用到的arcgis工具箱,或多或少会有各种各样的参数。经常在arcpy的二次开发中会遇到参数的获取。比如之前写的这段代码中。import arcpyfrom OrderByID import excuteclass Toolbox(object): def __init__(self): """Define the toolbox (the nam...原创 2019-01-29 20:27:28 · 2078 阅读 · 0 评论 -
(八)arcpy开发&利用arcpy在arcgis中创建属性表
今天我们来学习一下,关于在arcgis中,使用arcpy来创建属性表。其中使用到的函数为CreateFeatureclass_management,在使用该函数创建属性表需要注意的是需要定义好投影,我们来看一下实现的代码。geometry_type = "POLYGON"spatial_reference = arcpy.SpatialReference(102100)featu...原创 2019-01-29 15:57:38 · 2892 阅读 · 0 评论 -
pycharm导入.pyt后缀文件
今天遇到了pyt后缀的pyt脚本声明加载到Pycharm是灰色的情况,具体如下图所示。那么如何解决呢。首先在pycharm中找到setting。如下图所示,以次选择【File Types】、在Recongnize File Type选项中选择Python,然后在Registered Patterns中追加.pyt后缀文件。操作界面如下图所示。重新设置后点击【appl...原创 2018-09-25 19:00:08 · 2989 阅读 · 0 评论