A. python 怎么在arcgis里用
方法1:交互式命令行
B. 如何用python在arcgis中编写程序,求两点的最短路径
你是想学PYTHON编程还是只是想只得到这个PYTHON文件。可以给你提供一条简洁的途径用modelbuilder来实现,将多个SHP文件拖入进去,再把MERGE工具拖进去,双击modelbuilder中的merge工具框设置,再双击output dataset框设置输出。然后将这些shp文件用倒数第二个按钮添加链接的功能将他们一个个与merge工具框链接起来。最后点击model-export-to srcipt-python 就会输出一个python文件,可以用记事本打开查看里面的代码。
C. arcgis9.3怎么使用python
Python 表达式可通过 几何对象中的属性(type、extent、centroid、firstPoint、lastPoint、area、length、isMultipart 和 partCount)进行创建。
!shape.area!
Python 表达式可以使用具有面积或线性单位的几何 area 和 length 属性将值转换为不同的测量单位(例如 !shape.length@kilometers!)。如果数据存储在地理坐标系中且具有线性单位(例如英里),则使用测地线算法计算长度。在地理数据中使用面积单位会产生不正确的结果,这是由于沿 globe 的十进制度并不一致。
面积测量单位关键字:
英亩 | 公亩 | 公顷 | 平方厘米 | 平方分米 | 平方英寸 | 平方英尺 | 平方千米 | 平方米 | 平方英里 | 平方毫米 | 平方码 | 平方地图单位 | 未知
线性测量单位关键字:
厘米 | 十进制度 | 分米 | 英尺 | 英寸 | 千米 | 米 | 英里 | 毫米 | 海里 | 磅 | 未知 | 码
在工具对话框中,可将表达式直接输入到表达式参数中,或者使用“字段计算器”以交互方式构建表达式。
使用所选要素集(如从创建要素图层或按属性选择图层内的查询中创建的要素集)时,此工具将只更新所选的记录。
每次操作仅能对一个字段应用计算。
现有字段值将被覆盖。如果想要保留原始字段值,应创建输入表副本
对于 Python 计算,必须在字段名称两旁添加惊叹号(!字段名!)。
对于 VB 计算,字段名称必须用方括号括起([字段名])。
计算文本或字符字段的字符串时,在对话框中,必须对字符串添加双引号("字符串"),而在脚本中,还必须对加双引号的字符串添加单引号('"字符串"')。
此工具也可用于更新字符项。应对使用字符串的表达式添加单引号(例如 [CHARITEM] = ‘新字符串')。但是,如果字符串已包含单引号,则要对该字符串添加双引号,例如 [CHARITEM] = "类型'A'"。
要计算数值字段,可在表达式参数中输入数值;值的两旁无需加引号。
如果已指定 Python 表达式,则此工具支持 arcgis.rand() 函数。已为 ArcGIS 工具创建 arcgis.rand() 函数,不应将此函数与 Python Rand() 函数相混淆。arcgis.rand() 函数的可用分布的语法在随机值的分布语法中进行介绍。
表达式与代码块会相互连接。代码块必须返回与表达式的关联;代码块的结果应传入到表达式中。
代码块参数可用于创建复杂表达式。您可以在对话框中直接输入代码块,或在脚本中将代码块作为连续字符串输入。
Python 数学模块及格式可供代码块参数使用。您可以导入附加模块。数学模块可提供数论函数与表达函数、幂函数与对数函数、三角函数、角度转换函数、双曲函数以及数学常数。要了解更多有关数学模块的内容,请参阅 Python 的帮助。
保存的 ArcGIS 先前版本的 VB .cal 文件可以直接使用或者只需做少量修改后即可使用。如果拥有使用 ArcObjects 的过去版本的 VBA 代码,则计算需经过修改后才能用于 10.0。
计算连接数据时,您无法直接计算连接列。然而,您可以直接计算源表的列。要计算连接数据,必须先将连接表或连接图层添加至 ArcMap。然后可以分别对此数据执行计算。这些更改将反映在连接列中。
计算字段示例
D. 关于arcgis的python脚本编程, shape文件出png图片问题
1、点类型的转栅格:
PointToRasterexample1(Python
window)
.
importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PointToRaster_conversion("ca_ozone_pts.shp","ELEVATION",
"c:/output/ca_elev","MAXIMUM","",2000)
PointToRasterexample2
(stand-alonescript)
.
#Name:PointToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo
#Importsystemmoles
importarcpy
fromarcpyimportenv
#Setenvironmentsettings
env.workspace="C:/data"
#Setlocalvariables
inFeatures="ca_ozone_pts.shp"
valField="ELEVATION"
outRaster="c:/output/ca_elev02"
assignmentType="MAXIMUM"
priorityField=""
cellSize=2000
#ExecutePointToRaster
arcpy.PointToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)
2、面类型的转栅格:
PolygonToRasterexample1
(Pythonwindow)
.
importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PolygonToRaster_conversion("ca_counties.shp","NAME",
"c:/output/ca_counties.img",
"MAXIMUM_AREA","MALES",0.25)
PolygonToRasterexample2
(stand-alonescript)
.
#Name:PolygonToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo
#Importsystemmoles
importarcpy
fromarcpyimportenv
#Setenvironmentsettings
env.workspace="C:/data"
#Setlocalvariables
inFeatures="ca_counties.shp"
valField="NAME"
outRaster="c:/output/ca_counties"
assignmentType="MAXIMUM_AREA"
priorityField="MALES"
cellSize=0.5
#ExecutePolygonToRaster
arcpy.PolygonToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)
3、线类型转栅格
PolylineToRasterexample1
(Pythonwindow)
.
importarcpy
fromarcpyimportenv
env.workspace="c:/data"
arcpy.PolylineToRaster_conversion("roads.shp","CLASS","c:/output/roads.img",
"MAXIMUM_COMBINED_LENGTH","LENGTH",30)
PolylineToRasterexample2
(stand-alonescript)
.
#Name:PolylineToRaster_Ex_02.py
#Description:.
#Requirements:ArcInfo
#Importsystemmoles
importarcpy
fromarcpyimportenv
#Setenvironmentsettings
env.workspace="C:/data"
#Setlocalvariables
inFeatures="roads.shp"
valField="CLASS"
outRaster="c:/output/roads.tif"
assignmentType="MAXIMUM_COMBINED_LENGTH"
priorityField="LENGTH"
cellSize=30
#ExecutePolylineToRaster
arcpy.PolylineToRaster_conversion(inFeatures,valField,outRaster,
assignmentType,priorityField,cellSize)
E. arcmap中在哪写python脚本
Python window
就在标准工具条里面
在arctoolbox 工具后面
F. arcgis中打开python后,如何编程
此功能和Python的编辑模式是一样的:
1.
编写一行,运行一行;
2.
最大的的好处是,可以很方便的调用ArcGIS的接口,处理GIS数据;
3.
当然也可以使用ArcGIS
Toolboxes:
G. arcgis字段计算器编写Python程序
报错的原因至少两个:1、定义的函数里的变量不能用具体的字段名“!因子级别!”,应该使用X、Y之类的变量名;2、if语句里的等号应该使用“==”而不能用“=”
此外,在def 语句之后的语句都要有缩进(至少缩进一个空格),没有缩进也会报语法错误
H. arcgis中,我在帮助里找到了需要的脚本,但是接下来怎么操作脚本的文字要复制到哪里又如何来运行
1. 把脚本贴到记事本中,保存为txt文件,然后将后缀改成py。
2. 用IDLE打开,修改参数,run -> run mole就可以了。
I. 怎么用python开发arcgis
在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用。在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下:
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
import arcpy
import string
from arcpy.sa import *
try:
raster = arcpy.GetParameterAsText(0) #要裁剪的栅格
clip_feat = arcpy.GetParameterAsText(1) #裁剪要素类
field = arcpy.GetParameterAsText(2) #命名字段
outworkspace = arcpy.GetParameterAsText(3) #命名字段裁剪后输出目录
for row in arcpy.SearchCursor(clip_feat):
mask=row.getValue("Shape")
outPath=outworkspace+"\\"+str(row.getValue(field))
outExtractByMask = ExtractByMask(raster,mask)
outExtractByMask.save(outPath)
except arcpy.ExecuteError:
print arcpy.GetMessages() 在用户工具箱中新建工具箱(在系统工具箱中不能新建),在工具箱右键,添加脚本;
输入名称、标签、描述等信息。下一步,选择脚本文件。(这里需要注意的是:一定要勾选"存储相对路径名"这个选项)
设置参数,这是最重要的一步。其中参数即代码中GetParameterAsText(n),并选择合适的数据类型,在参数属性中也可以进行相关设置。如果输出栅格名称按裁剪要素中的某个字段,需要设置"获取息"属性,还要进行过滤一下。
设置好一切参数过后,就可以来进行测试了。在本机上测试通!
接下来便是怎样移植到其他电脑了的问题了。前面我说说过要存储为相对路径,否则,将报错00576:脚本工具使用的脚本未处于所需位置。创建脚本工具时,有一个选项用于存储相对路径名(而不是绝对路径名)。设置此选项后,脚本的相对位置和保存脚本工具的工具箱必须保持不变。执行工具时移动两者中的任何一个都会出现此错误。
但改为相对路径后,在其他电脑上也能正常运行,但弹出了警告窗口。原因是客户机上没有勾选扩展模块相应的功能。这个示例需要勾选空间分析模板,因为使用了按掩膜提取这个工具。这个脚本实现的详情参考:使用Python脚本批量裁切栅格
发布给他人,涉及到个人知识产权的问题,怎样让他人使用工具,又不能看到脚本代码?如果编辑调试完成了,在脚本工具右键可导入脚本。
设置密码后,即可。
J. arcgis中怎么写python脚本