pythonarcgis教程
⑴ arcgis利用 python设置高程颜色
1、四色填充算法—回溯法。
2、ArcGIS生成邻接表。
3、基于Python编写工具计算每个省份的颜色。
4、在ArcGIS中添加脚本工具。
5、运行脚本工具。
6、以上就是arcgis利用python设置高程颜色的方法。
⑵ 使用python创建arcgis中的带环多边形要素。
将单部分多边形要素的起始点只设置为最右且Y值最大的点
def changeStartPoint(fc):
points = [point for point in fc.getPart(0)]
if len(points)!= 2:
#计算多边形最右边且Y值最大的点在Points中索引
index_RightupperPoint = getRightupperPoint(fc)[1]
#计算更改了起始点的多边形要素的newpoints
newpoints =[]
newpoints.extend(points[index_RightupperPoint:-1])
newpoints.extend(points[:index_RightupperPoint+1])
#创建新要素
newPolygon = arcpy.Polygon(arcpy.Array(newpoints))
return newPolygon
#len(points) ==2为圆、椭圆
else:
return fc
⑶ arcgis怎么用python
arcgis软件中有专门的python窗口
⑷ python 怎么在arcgis里用
方法1:交互式命令行
⑸ 有哪些 GIS+Python 的开发经验值得分享
GIS 和 python 的结合有很多种可能性
Arcpy 参考ArcPy and ArcGIS (豆瓣), pyQGIS 参考PyQGIS Developer Cookbook
Geopython GIS相关库
GDAL 参考 Welcome to the Python GDAL/OGR Cookbook!
各种空间数据库,如 spatialite 参考 SpatiaLite Cookbook
基础库(抽象库)
GDAL 不多说,GIS万物本源
Proj.4 制图学投影转换库
geojson geojson数据处理,点线面
高级库
Shapley GIS的图像处理
Fiona GIS数据读入写出
Rtree Rtree空间索引
pyproj Proj.4的接口扩展
OWSLib WMS地图服务发放
basemap 画地图
超高级库
geopandas 整合了pandas,shapely,fiona,descartes,pyproj和rtrees可以直接用于数据处理
geodjango django出品,保护GDAL,GEOS等可以发送地图服务
参考 Python 笔记三:Geopython GIS相关库
而如今,javascript在互联网的地位也变得越来越重要,GIS+JS的项目也氤氲而生,所以问题来了。参考:有哪些GIS+JavaScript(node.js)的开发经验值得分享? - Node.js
或者关注我的博客,写得不是很好,希望各路大神多多留言指导。
Awesome GIS(GIS Tech Stack技术栈)
Geomatics专栏点此:Geomatics(GIS,GPS,RS,Surveying)
语言
Python 最好的快速开发语言,是一门API艺术
awesome-python
1简单的入门
2总结入门坑及基础资源
3Geopython GIS相关库
4Python的常用库入门
5Flask框架
6入门爬虫坑--网页数据压缩(python deflate gzip)
7Requests爬虫技巧
Node.js 最炙手可热的网络技术源泉,可用于WebGIS
awesome-javascript
1常用Global库
2入门及GeoNode.js GIS相关库
前段
Leaflet 兼容移动端,和现代的一些框架一样优先考虑移动端
1leaflet入门
2简单插件编写leaflet-pip-v2
3进阶插件编写geojsonFilter
Mapbox总有人讨论“Mapbox VS Leaflet?”这是个烂问题,Mapbox是Leaflet的超集,就像Typescript和Javascript之间的关系一样
Openlayer3扯淡大叔教程
Turf js层面做出简单的空间分析
后端
Geoserver 基于Java的地理信息服务的发布,使用简单
Mapserver 基于C语言的地理信息服务的发布,内存占用小
GDAL 数据格式转换
1GDAL命令行入门
2python for GDAL
3gdal CLI Cheat Sheet
数据格式
GeoJSON 开源地理信息JSON格式
awesome-geojson
geojson-js-utils 空间数据简单处理js实现
geojson-python-utils空间数据简单处理python实现
TopoJSON 开源地理信息JSON格式,大小要比GeoJSON小40%
TileJSON 瓦片数据包装的JSON格式,用的不多
WKT&WKB 文本标记语言表示矢量数据
WKT&WKB 笔记一:格式介绍
数据库
Spatialite 空间数据的查询等处理,小项目足矣
1简单的入门
2CLI Cheat Sheet
3python for Spatialite
4NET平台使用spatilite扩展
5Spatiliate2GeoJson数据的转换
Postgresql 大型空间数据项目
MBTILES 承载瓦片的数据,快速索引
1入门与简单应用
瓦片渲染
Global Mapper 专门用作已有栅格图像切片
Mapnik 专门用于矢量数据的切片
TileMill 在矢量数据渲染时,运用CartoCSS对矢量数据赋予样式
数据处理
QGIS 开源GIS数据处理桌面软件,其中包含Grass,SAGA两个学术界开源GIS平台
1简单的介绍
2地图综合
Mapsharper 数据综合神器
1地图综合神器
数据资料
地理空间数据云 没想到数据来的这么快
填坑
1网页端JS的缓存问题
2Angular遇到的一些坑
3SpatialiteSharp的使用坑
整个技术栈主要针对的是轻量或者小项目去考虑,运用一些流行的尽可能开源的工具去做,这是我的一些想法和笔记,详情参考从mapbox的开源工具看Web GIS的发展,希望能给您一点点帮助。PS:我在github上看到一个awesome gis,并非我主导的,希望各位GISer可以一起参与修改。
转载,请表明出处。总目录Awesome GIS
⑹ arcgis最新版本10.8使用教程
摘要 ArcGIS Desktop 10.8中文版是由ESRI公司开发的一款专业的地理信息系统,一个完整的桌面GIS软件套件,它包含ArcMap、ArcCatalog、ArcGlobe 和 ArcScene四部分,用于创建和使用地图、编辑地理数据、分析地图空间信息、共享和发现地理信息、在一系列应用程序中使用地图和地理信息以及在数据库中管理地理信息。
⑺ 怎么用python制作ArcGIS断裂点插件
方法/步骤
新建一个txt文本,在文本中写入如下代码代码作用是根据纬度和太阳倾角获取正午太阳高度角和方位角。
将第一步的txt文本保存为*.py文件。
在
ArcToolbox
里,右键
toolbox,选添加->scripts,填写如下图文本(9.3版本界面):
单击“下一步”后是参数配置页面:Latitude、Declination是输入参数,Sun
Angle、Arimuth是输出参数,完成脚本参数设置。
5
运行脚本出现如下所示对话框,设置好输入参数即可被Python脚本getparameterastext语句获,以进行更多的后续操作。这实际上实现了Python与用户的交互。
6
最后,将脚本工具拖动到模型构建器里(如下图),脚本工具的输出参数又可以作为其他处理过程的输入参数,进而建立工作流模型。
⑻ arcgis中打开python后,如何编程
此功能和Python的编辑模式是一样的:
1.
编写一行,运行一行;
2.
最大的的好处是,可以很方便的调用ArcGIS的接口,处理GIS数据;
3.
当然也可以使用ArcGIS
Toolboxes:
⑼ 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。然后可以分别对此数据执行计算。这些更改将反映在连接列中。
计算字段示例
⑽ 怎样用arcgis中的python进行批量投影
接到的需求是对文件夹下包括子目录所有影像进行投影变换,在网上找了找,大家的代码好像和需求不太一致,自己写了一个小工具。
思路是遍历文件夹所有.tif文件。
1.用os.walk()函数来获取路径和文件名
2.用 if 语句限制读取后缀为.tif的文件
3.将文件路径和文件名组合起来
4.调用arcpy.ProjectRaster_management语句投影变换并输出
由于刚刚接触python,难点主要在于os.walk()目录的读取这个函数的了解上。
以下是代码
#coding=utf-8
importos
importarcpy
fromarcpyimport*
#定义一个函数,第一个参数是一个集合,用来接收所有.tif的路径。第二个函数是指定的文件夹。
defhuoqu(jieshou,lujing):
fordirpath,dirnames,filenamesinos.walk(lujing):
forfilenameinfilenames:
ifos.path.splitext(filename)[1]=='.tif':
file1=dirpath+'\'+filename
jieshou.append(file1)
#这里变量的设置,GetParameterAsText函数来获取对应在python工具箱中的位置
env.workspace=GetParameterAsText(0)
work=env.workspace
ref=GetParameterAsText(1)
tifz=[]
#调用自定义的函数
huoqu(tifz,work);
#对所有的影像进行循环投影变换,并且将输出路径设置为指定的文件夹+原本的名字
forfileintifz:
out=GetParameterAsText(2)+"/"+os.path.basename(file)
ProjectRaster_management(file,out,ref)