Category: ArcPy

在ArcGIS中创建Python工具(三)

从 ArcGIS 10.1 版本开始,我们可以创建 python工具箱 来自定义脚本工具,这种工具箱相比较上一篇提到的标准工具箱。有着独特的优势,具体二者的区别总结过,看这一篇。认识 Python工具箱Python 工具箱 (.pyt) 是一个简单的文本文件,可以在任何文本编辑器中或者任何 Python IDE 中创建、查看和编辑。要确保 ArcGIS 正确识别 Python 工具箱,工具箱类的名称

Java的import和Python的import的区别

1、Java的import本质是声明以下出现的标识符前面都加上命名空间(java只能导入类和静态的成员)n2、python的import本质是执行了整个模块的代码(python只能导入模块,from语句例外)nJava在import类的时候,并不执行类代码,也不把类加载进内存,所以说import语句对于java来说只在编译器起作用,运行期就没用了。npython在import模块的时候,是执

ARCGIS中矢量裁剪栅格图像

在处理中,我没有直接裁剪出栅格图来,而是在raster rncalculator中选择extent为intersection,然后计算是+0*目标矢量图转换的栅格值。(使用ArcGIS 9.2操作)rn以下为网友的经验:rn(1) rn是否需要裁剪栅格图象区域通过一个面状的shapefile表达出来? rn如果可以,那么就很简单了。 rn在ArcMap中,调用空间分析扩展模块,将你感兴趣区的sha…

SDE直连Oracle空间数据库

2.    直连Oracle空间数据库 r以下内容将介绍三种直连到Oracle空间数据库的方式:第一,使用数据库认证直连到Oracle空间数据库;第二,使用操作系统认证直连到Oracle空间数据库;第三,如何连接到某用户方案的空间数据库。 r使用数据库认证直连到Oracle空间数据库 r1)        在ArcCatalog的目录树,展开Database Connections文件夹. r2)

GDAl 查询并删除要素及其属性(python)

case:选择出矢量图层中符合给定条件的要素,并将其删除。这其中涉及到要素的空间查询和要素的删除等知识点。接下来将分为打开矢量数据、查询空间要素和删除空间要素三个部分做实例。注意:矢量数据需以可读写的模式打开,即driver.Open(strFilePath,1)。此外删除要素后需要利用REPARK命令实现图形和属性删除的同步。第一步:打开矢量数据#注册所有驱动ngdal.AllRegister(…

批量裁剪GIS数据(包含GDB,MDB,Shp)

rn# -*- coding: utf-8 -*-n# made by 汪林_质检处nimport os.pathnimport arcpynimport sysnfrom arcpy import envnnnFCDBDir = “E:\\cliptest\\data”noutput = “E:\\Result

通过Python脚本自动发布ArcGIS服务

ArcGIS的强大之处就在于其为我们提供了多种选择,我们可以通过Python编写脚本,调用ArcPy模块中的功能来实现自动扫描文件夹并将其中的地图文档发布为地图服务。…

Anaconda下调用arcpy(1)——环境搭建

1.安装了Anaconda 2.Anaconda下创建python27环境 新建环境之前set CONDA_FORCE_BIT32=1,这样在配置环境和安装软件的包的时候就会默认32bit了,安装完成之后记得改回来。 (如果想改回64位环境使用:set CONDA_FORCE_32BIT=,并回车) 3.在环境内安装matplotlib和numpy和spyder等需要的第三方包 4.将A…

结合matlab与arcpy的土壤样点聚类与成图

matlab 进行均值聚类与分类for i=1:1nnclcnnformat long gn%均值聚类nopts = statset(‘Display’,’final’);n[Idx,Ctrs,SumD,D] = kmeans(youjizhi,20,’Replicates’,2000,’Options’,opts, ‘Start’,’uniform’);npoints=[Idx youjizhi

通过arcmap提取面要素边界点到属性表字段中

1.打开数据属性表添加用于存储点坐标信息的字段(shape文件支持的字符类型长度为254,GDB中的字段理论长度可以达到2147483647)rn2.选择计算字段值,并勾中advanced选项。在其中编写提取面要素边界点的VBA代码rn3.核心代码如下(其中[shape]字段代表几何对象):rnDim geo As IGeometryrnSet geo =[Shape]rnDim gtmp As

ArcGIS教程:波段集统计

计算矩阵参数(在脚本中为 BRIEF,在工具对话框中为未选中状态)的默认设置是仅计算输入栅格波段的最小值、最大值、平均值以及标准差。要计算这些统计数据以及其协方差和相关矩阵,需要在脚本中将参数设置为 DETAILED,或在工具对话框中选中。协方差矩阵列出所有沿左上到右下的对角线的所有栅格波段的方差,以及剩余条目中所有栅格波段间的协方差。

ARCGIS arcpy批量裁剪命令

nn全部自动化批量处理,当然右键batch也可以处理,但是一旦有上百个文件,那就运动手指了。nn代码如下,注释都有,根据需要改动参数即可。nn nnnimport arcpynn# Set the current workspacenarcpy.env.workspace = (“F:/ZPATR-TIME-JOB/ndvi-china-/”) # “D:\\Test2\\Grids.gdb”…

Arcgis ArcMap 10 如何生成msd地图文档定义【 arcgis mxd怎么转换成msd】

.mxd是arcgis 的地图文档后缀名。rn.msd是arcgis 的地图服务定义文件,是 map service definition 的缩写。rnrn基于 MSD 的服务支持 Maplex、制图表达和新图层类型rn地图服务定义 (MSD) 是用于发布地图的一种文件类型,以便通过 ArcGIS Server 进行快速动态绘制。MSD 支持在各版本中新增的 ArcGIS 制图功能的一部分。Arc…

【C013】ArcPy – 入门学习

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

获取mdb、gdb、shp的Ifeatureclass

问题描述:如题nn nn解决方法:nnn private IFeatureClass GetFeatureClass()n n IFeatureClass fc = null;n FileInfo fileInfo = new FileInfo(_outfilepath);n if (_outfilepath.To…

geotools连接SDE获取数据

[code=”java”]public void sdeTest(String cqlPredicate,String refGeo)rn Map map = new HashMap();rn map.put( “dbtype”, “arcsde” );rn map.put( “server”, “127.0.0.1” );rn map.put( “port”, “51

python制作ArcGIS插件giserdqy.com

提供定制arcmap工具开发服务:如有意向请联系我nnn使用python制作ArcGIS插件(1)工具介绍nnn使用python制作ArcGIS插件(2)代码编写nnn使用python制作ArcGIS插件(3)ArcPy的使用说明nnn使用python制作ArcGIS插件(4)界面交互nnn使用python制作ArcGIS插件(5)其他技巧nnn使用python

关于JAVA调用Python脚本并传递参数

JAVA 程序调用python脚本目前存在两种形式。第一种:运用JAVA本身的自带功能;第二种:使用jython Jar包的自带方法来调用python脚本nn调用准备:nn首先你要在本地或者LINUX环境安装python环境,如果是JYTHON的话需要安装JYTHON,两者二选一,python具体安装转方法详见 WINDOWS安装PYTHON,至于JYTHON安装方式:JYTHON官网下载 Dow…

ArcGIS教程:面积制表

rnrn  摘要rn  计算两个数据集之间交叉制表的区域并输出表。rn  插图rn  rnrnrn  使用方法rn  · 区域定义为输入中具有同样值的全部区。各区无需相连。栅格和要素数据集都可用于区域输入。rn  · 假设区域输入和类输入均为具有同样分辨率的栅格,则可直接使用它们。rn  假设分辨率不同,则可先应用内部重採样以使其相一致,然后再运行区域操作。rn  · 假设区域输入为栅格数据集。则…

Python中如何解决ImportError:No Module Named arcpy问题

Python是ArcGIS的脚本语言,ArcGIS安装时会安装ArcPy,即以成功的arcgisscripting模块为基础并继承了arcgisscripting功能进而构建的站点包,其目的是以高效实用的方式通过Python执行地理数据处理、空间分析等GIS的核心功能。但如果在ArcGIS安装时没有安装Python,而是从Python官网重新安装相应版本的Python,其中不含ArcPy,当impo

Linux 系统下Anaconda 3 联合arcpy共同工作

作为一个天天要用Python,一天不用就像没有带手机出门一样的重度依赖症患者,机器里面有各种Python环境(最少Python2和Python3都同时存在。。。)那是正常得不得了的事情。nn而作为GIS从业者,各种空间算法的环境也同样重要,所以就导致了大部分时候老得在ArcGIS官方提供的Python 2.7.x和解决了中文问题的Python 3直接切来切去,而且写工具的时候,还得老问上一句:你这…

arcpy编写简单修复导入工具

arcpy编写简单修复导入工具最近在学习arcpy,在日常工作中遇到需要load数据的情况,但是多人操作会出现load不全数据的情况,针对这个问题,需要提前进行修复几何,所以利用arcpy编写了一个小的修复导入工具。 n1、模型构建器 n这是第一种方法,也是根据这个对脚本文件进行修改得到最后的脚本工具,其实这个模型构建器也能够完成需求。n n2、arcpy脚本编写# Import arcpy mo

AE中获取数据表中某字段唯一值

在做一般的数据处理时,要想得到某字段唯一值,我们可以利用 SQL 语言之关键字 Distinct 方便地获得。但是在用 AE 作开发时,我们应该怎样去做呢?当然我们可以首先获得某个字段的所有值,然后再去比较、提取、获得唯一值。这样的工作写起来麻烦,效率也非常低。其实 AE 类库 ESRI.ArcGIS.Geodatabase 之接口 IDataStatistics 已为我们提供了这样的方法。

使用python制作ArcGIS插件(5)其他技巧

使用python制作ArcGIS插件(5)其他技巧nby 李远祥n    使用python做插件开发,除了了解ArcToolBox工具之外,还需要在了解ArcPy的相关函数和接口。只有掌握了这些,才可以顺利的开发ArcGIS插件。n    但是,很多程序开发者真的不喜欢python的写法,尤其不习惯,既希望能够使用ArcPy的简洁用法,又希望在其他逻辑操作中使用自己熟悉的语言。其实pytho

【python】shapefile转换geojson

import shapefilenimport codecsnfrom json import dumpsnnn# read the shapefilendef shp2geo(file=”line出产.shp”):n reader = shapefile.Reader(file)n fields = reader.fields[1:]n field_names = [field…

arcpy自动制图实战(arcpy.mapping迁移至arcpy.mp)

在很多GIS项目中会遇到自动制图的需求,第一时间想到的就是esri强大的arcpy。关于arcpy自动制图的文章也有很多大佬写过,但时间搜了很多文章都是利用arcp.mapping API开发的,而arcpy.mapping是基于ArcGIS Desktop的mxd地图文档进行制图的。

ArcGIS Engine获取栅格数据属性值

ArcGIS Engine提供获取栅格数据的接口,要获取栅格数据,首先要将IRaster转为IRaster2,然后获取IRatster2的属性表ITable,最后从ITable中获取值字段。nn获取栅格数据nnn ILayer pLayer = axMapControl1.get_Layer(0);n IRasterLayer pRasterLayer …

记录一下批量TIFF转JPEG的过程

之前批量转换TIFF图像到JPEG的的时候,都是用的github上一个开源的代码进行转换。这个方法转换的过程速度挺快,但是有时候不太稳定,有些会出现错误。nn偶然之间发现了一个软件,能很好的实现这个功能,ACDsee 免费版就可以。nn从官网下载之后,安装,然后登录账号就可以了,没有账号的可以免费注册。nn处理之前我们需要导入照片nn这里选择导入照片,默认的目录是C盘的图片目录。这里能选择一下导入…

点连线(一)同一手机根据时间点顺序规则连线

需求:目前有大量点手机号时间点,每个手机号有8点到23点的经纬度,把8点到23点的点连起来,按照时间顺序进行连接。n连接顺序如下:8(起始点)——9——10——11——12……22——23(终点)n该方法使用其他时间点:8(起始点)——9——10——11——12(终点)n该方法使用其他时间点:12(起始点)——9——10——11——12……20——21(终点)nn数据截图

FME-GIS专题之利用excel表建立空库结构

FME-GIS专题之利用excel表建立空库结构nn在arcgis中我们往往需要对照我们的建库标准建立mdb、gdb或者sde结构,当然arcgis提供了相应的arcpy模块的“FiledInfo”方法进行快速建库,如下图:nnnn在FME里,我们可以通过PythonCaller转换器调用arcpy,FME2017以前还需要在导航栏的脚本处插入此语句,选择arcgis

DBSCAN 聚类分析

DBSCANCLUSTERDBSCAN(Density-basedspatial clustering ofapplications with noise)Martin.Ester, Hans-PeterKriegel等人于1996年提出的一种基于密度的空间的数据聚类方法,该算法是最常用的一种聚类方法[1,2]。该算法将具有足够密度区域作为距离中心,不断生长该区域.该算法利用基于密度的聚类的概念,…

使用arcpy获取简单的矢量数据信息

现在arcpy提供了很多方便的方式,让我们简单的获取这些信息。rnimport arcpyrnfrom arcpy import envrnenv.workspace=r”E:services行政图行政区划图mdb.mdb”rncur=arcpy.SearchCursor(“地级市”)rnfor row

arcpy中中文路径的处理方案

(2017/2/20:这是我写的第一篇博客,没有什么经验,谨以此记录最近学习python的点滴;希望能为以后留下一些时光的记忆。)n        最近再学习《面向ArcGIS的python脚本编程》一书,学习到第六章第五节(P119):”对列表使用for循环”时,发现一段对栅格数据进行批处理的代码非常有效,于是决定一试,原文代码如下:n这段代码可以实现将某个目录下的tiff格式图片一次性加载

[转]Python_For_SQLite—利用Python实现SQLite数据库的批量合并

n n n SQLite是移动端常用的地理数据库文件格式,Python是语法简洁清晰,又有Esri的ArcPy加持,在处理地理数据中具有很好的应用空间。用Python处理SQLite数据库是一个很有实用价值的课题,本次尝试以批量数据库合并为契机,整理该部分的相关基础知识。

ArcGIS教程:了解插值分析

插值可以根据有限的样本数据点预测栅格中的像元值。它可以预测任何地理点数据(如高程、降雨、化学物质浓度和噪声等级)的未知值。

Follow Me: ArcPy(2)

作为Arcpy的第二章,主要介绍了Python Import System和周边的一些不得不说的Python故事。这也算是学习Arcpy的prerequisite吧!

ArcGIS教程:Nibble (Spatial Analyst)

用最邻近点的值替换掩膜范围内的栅格像元的值,像元大小, 当前工作空间, 掩膜, 输出坐标系, 范围, 临时工作空间, 捕捉栅格。

几组矢量数据的生成和读取方法

科学计算可视化,第一步是要有数据,没有数据一切都是空谈。我在做矢量场可视化算法过程中,一开始也是着实着急了一阵,手头没有矢量数据,就无法验证文献中阐述的算法,而有了数据,如果不是相应文献作者的数据,即时结果出来了,但多多少少还是怕生成的矢量纹理不正确,就这样在纠结中过了很长时间。还好,后面陆续获得很多矢量数据,使我的算法实现过程进展的很顺利。下面是我在研究算法过程中经常用到的几组矢量数据,现在把数

如何将mxd文档直接发布为ArcGIS Server服务

1、打开ArcMap,单击工具栏上的Catalog图标,打开Catalog窗口,在Catalog窗口中找到需要发布的mxd地图文档,此处我以北京市的为例,然后在mxd文件上右击,选择Share As Service(也可通过file =>Share as =>Service打开);2、在弹出的Share as Service窗口中,选择Save a service definition file单选

用Visual Studio 2013做arcpy的开发IDE

大家都喜欢用IDE,所以在群上或者讨论组都看到不少初学python的人找好用IDE。当然我觉得ide不是很适合初学者用,但对于python开发来说,还是会比较方便的,主要是代码的智能提示这样的功能,可以避免很多记忆负担。rn目前比较流行的方案是eclipse+pyDev和pycharm。rn我原本主要用pycharm,这个用的人不多,但其实很好用,他开发商就是大名鼎鼎的开发啦idea的jetbra

用Arcpy读取shapefile

用Arcpy读取shapefile本文主要从两个部分介绍: n1. shapefile文件属性表的读取 n2. shapefile内每个元素的坐标信息

线闭合问题

在一些实际应用中你可能会遇到这样的问题,获取到的线数据存在很小的缝隙,我们需要将这些没有闭合的线数据闭合,那么可以考虑这样一种操作。n全图看到的效果如图所示:貌似闭合nnn不断放大后可以发现

0101-ArcPy:使用内存作为工作空间,提升地理处理工具性能

在上一篇文章【0101-ArcPy:将脚本工具的处理结果作为参数输出】中,我们在执行要素裁剪工具的时候,会生成一个要素类,按说这个要素类不是最终想要的结果,最终想要的是这个要素类缓冲10公里之后的要素。类似这样的中间结果,默认的情况下一般是保存在临时工作空间中。临时工作空间的位置可以通过以下代码指定:nn# Set the scratchWorkspace environment to local…

python笔记之ArcPy简介

第1章 ArcPy简介rn1.1什么是rnArcPy?rnArcPy rn是一个以成功的 arcgisscripting 模块为基础并继承了rnarcgisscripting 功能进而构建而成的站点包。目的是为以实用高效的方式通过rnPython 执行地理数据分析、数据转换、数据管理和地图自动化创建基础。

读取arcGis的shape文件里面的.dbf数据

不多说了 直接上代码rn rnpackage com.hjkj.action.infoAna.topicmap;rnrnimport com.esri.arcgis.datasourcesfile.ShapefileWorkspaceFactory;rnimport com.esri.arcgis.geodatabase.IFeature;rnimport com.esri.arcgis.geod…

ArcGIS NetWork使用经验整理

在构建NetWork之前一定要先创建空间索引和属性索引 n一、创建空间索引 n创建空间索引可以极大的提高分析效率。如果提示FeatureClass存在空间索引,但是做路网分析时候依旧很慢,不妨重新创建下空间索引试一下。 n试验一: nNetWork基本信息 nEdges:2375万 nJunctions:879万 nTurns:70万 n**创建空间索引后,做路径分析耗时0.63s,为创建索引的耗时

数据的转换(shp sde mdb 之间的转换)

数据的转换(shp sde mdb 之间的转换)调用用下面的方法可以将要素类从sde导出到shp或者mdb 或者从三个中的任意一个导出到另外一个。方法是: ///         /// 将一个要素类从一个工作空间转移到另外一个工作空间        /// 注意目标工作空间不能有改要素类,必须先清除          ///         ///

如何在python3.6用 map

要实现的功能:在python3.x中读取某个目录下的文件,并取出不带后缀的文件名:rnimport osrnrnrnflist=os.listdir(‘aDirectory/’)nprint(flist)n>>>[‘abc.txt’,’efg.txt’] nflist=list(map(lambda x: os.path.splitext(x)[0] ,flist))n>>>[‘abc’,’ef

【ArcGIS|空间分析】叠置分析(易混工具使用)

1、标识(Identity):叠置部分【输入图层】属性与【标识图层】属性均赋予【输出图层】nn2、更新(Update):叠置部分只有【更新图层】赋予【输出图层】,【输入图层】属性被【更新图层】更新nnn…

Python3使用独立的if语句与使用if-elif-else结构的不同之处

Python3使用独立的if语句与使用if-elif-else结构的不同之处nnif-eliff-else结构功能强大,但是仅适合用于只有一个条件满足的情况:遇到通过了的测试后,Python就跳过余下的测试。nn然而,有时候必须检查你关心的所有条件。在这种情况下,应使用一系列不包含else和else代码块的简单if语句nn下面来看一个早餐店的实例。如果顾客点了一个鸡蛋卷,并点了两种种配料,要确保这…

ArcGIS中python实现地图服务的自动发布

https://blog.csdn.net/liyan_gis/article/details/50394716项目的具体需求是,每天下载几张tiff图片,放在mxd文件里,然后将其发布到ArcGISServer,后来 参照网上有一篇文章,可以自动发布地图服务,但是,后来发现,现在使用的ArcGIS版本10.2.2已经放弃了原来的方式发布服务,根据ArcMap里的帮助文档,发现里面的例子还是挺多的…