Python与地理信息系统应用的开发工具

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Python与地理工具••••ArcGIS与PythonPython简单易学、免费开源、海量资源Python可移植、可扩展、可嵌入Python跨平台(支持Windows/Unix/Linux/Macintosh)系统编程、图形处理、数学处理、文本处理、数据库编程、网络编程。。。arcgisscriptingPython2.4ArcGIS9.2基于dispatchgeoprocessorPython2.1ArcGIS9.0/9.1Python2.7第三方包自动化制图数据访问空间分析……ArcGIS10.4Python3.4ArcPro1.2arcgisscriptingPython2.5ArcGIS9.3ArcPy站点包Python2.6ArcGIS10.0ArcGIS中的地理工具地理工具类型•内置工具•模型工具•脚本工具地理工具的Python入口——ArcPyArcpy——为用户提供了使用Python语言操作所有地理处理工具(包括扩展ArcGIS服务共享地理分析可视化数据管理模块)的入口,并提供了多种有用的函数和类,以用于处理、访问和管理分析GIS数据。使用Python和ArcPy,可以开发出大量的用于处理地理数据的实用程序。地理处理••••ArcGIS提供了多种Python使用方式利用ArcPy与Python方便实现GIS处理流程不需要学习庞大的AO接口ArcGISDesktop扩展已经不再支持VBAArcPy与地理工具操作mxd和lyr扩展数据驱动功能自动导出pdf和打印数据编辑会话更高效的Cursor支持版本、属性域执行空间分析和运算执行网络分析工具地统计分析模块功能处理时间增量和时区ArcPyCore地理分析arcpy.saarcpy.naarcpy.gaarcpy.time基本模块ArcPy的模块自动化制图arcpy.mapping数据访问arcpy.da---获取地图文档中相关信息:数据源、无效图层、空间参考等更新图层数据源更新图层的符号、label显示、图层透明度等•自动化的地图集生产--自动制图和创建pdf地图册自动导出和打印地图快速制图ArcPy.Mapping模块•管理地图文档(MXDs)、图层(Layers)和其中数据•数据预处理空间数据预处理----矢量栅格转换投影转换数据属性编辑。。。•非空间数据的空间化---属性表、文本数据转成矢量/栅格多维数组科学数据的空间化。。。Arcpy中Numpy转换:••••••NumPyArrayToRasterRasterToNumPyArrayNumPyArrayToTableTableToNumPyArrayNumPyArrayToFeatureClassFeatureClassToNumPyArray数据预处理Numpy数据的空间化Python的开源科学计算包,用来存储和处理大型矩阵强大的N维数组对象Array(灵活索引、合并分割)实用的线性代数和随机数生成函数(算术运算、维度变换)多维数据与GIS可视化之间的桥梁(栅格转换)•数据预处理例1:通过Python实现从网络抓取数据资源并转化成空间矢量数据1、调用python的urllib2这个HTTP客户端库的相关方法抓取网络数据资源•2、使用ArcPy的创建要素类方法,并添加相关属性字段•3、使用ArcPy的更新要素类方法,逐条插入数据数据预处理例2:通过Python实现多维数据的空间化多维数据以netCDF,GRIB,andHDF等格式存储多维数据应用领域海洋数据海水温度,盐度,洋流气象环境数据温度,湿度,气压,风场,降水,浓度土地数据土壤含水量,NDVI,土地覆盖风场和湿度风场和气压洋流扩散浓度Variables://定义变量Attributes://属性数据预处理多维数据与栅格数据的关系Dimensions://定义维数数据预处理多维的镶嵌数据集——支持多文件和多变量用地理数据库属性表来管理多维数组,而不存储数据本身每一行代表2维的栅格数组维度和变量名称作为字段存储••不同区域的数据不同时间的数据数据预处理多维数据预处理——标准化数据预处理多维数据预处理——入库空间化ParcelfabricsRepresentationsTerraindatasetsLocatorsBehaviorAttributedefaultsConnectivityrulesAttributedomainsSplit/mergepolicyRelationshiprulesTopologyrulesTopologyRelationshipclassesGeometricnetworksRouteDimensionPolygonLinePointAnnotationRasterDatasetsAdditionalgeodatabaseelementsToolToolboxesModelScriptNetworkdatasetsTablesFeatureClasses数据管理Geodatabase空间数据模型GeodatabaseFeaturedatasetSpatialreference行政区用地性质用地面积…GeoDatabase•••••数据创建(矢量、栅格、属性表)数据投影与格式转换数据处理数据抽稀字段计算••••••拓扑管理数据索引数据对比图层管理元数据处理。。。数据管理管理地理数据库(personal/file/sdeGDB)地理数据库创建数据库连接(空间&非空间)数据集创建(矢量&栅格&网络)SDE版本管理数据备份数据过滤……地理分析•Geoprocessing框架ArcToolboxArcGIS提供的地理处理工具集ModelBuilder使用一系列GP工具构建工作流的可视化编程语言Python-Arcpy使用Python操作地理处理工具,实现更强大的地理处理工具和程序地理分析工具主模块BasicStandardAdvanced•常用分析工具•空间分析•空间统计分析•地统计分析•3D分析•网络分析•追踪分析扩展模块地理分析流程准备数据定义投影精度比例尺设计问题陈述需求分解问题执行分析运行工具高级自动化执行:--建模选择方法回顾问题选择方法选取工具分发共享展示结果共享给用户检验结果确保成果质量--脚本、代码•适宜性建模•水文分析•影像分类•网络分析格式•地形分析•3D建模•插值处理•统计分析•相关性分析•邻域分析•密度分析•。。。数据扩展分析与可视化——空气质量数据扩展分析例1:模拟3D空气气团扩散•不同时间扩散•不同高度扩散数据扩展分析与可视化——空气质量数据扩展分析2D场景空气质量数据NetCDF数据提取栅格数据生成等值线生成TIN去掉边界面要素去掉面内小洞转换成面要素最小外接矩形转换成线要素获取最大面创建Multipatch生成下层TIN更新时间和高度数据扩展分析与可视化——空气质量数据扩展分析3D空气气团处理流程数据扩展分析与可视化——空气质量数据扩展分析3D空气气团数据流程•栅格数据•等值线数据•闭合等值线•闭合面数据•扩散面数据•扩散体数据数据扩展分析与可视化——空气质量数据扩展分析3D空气气团应用流程1、后台数据处理2、生成Multipatch气团3、发布成WebScene4、数据的Web3D多维展示利用Python实现空气扩散气团三维体的生成利用ArcGISPro实现WebScene的发布利用ArcGISJSAPI4.0的Web3D能力,满足前端3D应用需求数据扩展分析与可视化——空气质量数据扩展分析例2:空气质量的立体剖面分析数据扩展分析与可视化——空气质量数据扩展分析2D空气质量剖面分析数据扩展分析与可视化——空气质量数据扩展分析3D空气质量剖面分析流程构建绘制点图层生成与各层数据相交点转换成拉伸后平面位置点点插值转栅格栅格转换成实际剖面点数据扩展分析与可视化——空气质量数据扩展分析3D空气质量剖面数据流程•绘制点数据•第一层相交点数据•第二层相交点数据•第三层相交点数据•插值后栅格数据•实际位置X,Y,Z点数据•线拉直后各层点数据高度1、后台数据处理2、生成立体剖面点(x,y,z)3、JSAPI的3D符号渲染数据扩展分析与可视化——空气质量数据扩展分析3D空气质量剖面应用流程利用Python实现空气质量立体剖面点的生成利用ArcGISJSAPI4.0用3D符号对立体剖面点进行渲染数据扩展分析与可视化——空气质量数据扩展分析例3:空气质量的时空立方体数据扩展分析与可视化——空气质量数据扩展分析4、数据的渲染展示1s播放速度空气时空立方体处理流程1、NetCDF数据抽取2、生成时空立方体3、数据的三维展示ArcGISPro时空挖掘工具7天空气质量数据168小时,4个高度,20*20格网,近30万点近7万统计格网点数据扩展分析与可视化——空气质量数据扩展分析空气时空立方体数据流程时空立方点源数据时空立方体数据扩展分析与可视化空气扩散气团空气时空立方体空气立体剖面•••••••NetCDF的Python包点、线、面转换矢量栅格转换几何计算3D建模时空立方工具。。。Python、ArcPyAPIArcCatalog\ArcToolboxArcMap(ShareAsGeoprocessingService)或ArcPy发布Gp服务设计和制作脚本制作脚本工具调试运行、发布服务使用GP服务实现在线地理处理GP服务发布流程ArcGIS全平台的Python应用DesktopServerPortal/OnlinePython&ArcPy字段计算器PythonWinPythonAdd-inScriptToolModelBuilderPython命令行RESTAPIArcPy&PythonDesktopWebDeviceServerPortalLayersOnlineWebMapsWebScenes–例2:字段自增Desktop中使用Python•1、字段计算器–例1:判断土地权属人是否变化,不变则Mark的值为1,否则为0:权属人没有变更权属人变更Desktop中使用Python•2、Pythonwindow代码提示批量删除要素类:批量删除栅格:Desktop中使用Python•3、PythonAdd-inPythonAdd-In开发,开发工具addin_assistant.exe:下载地址:=5f3aefe77f6b4f61ad3e4c62f30bff3b••••向导方式创建ArcPyAdd-In工程支持创建基于ArcMap、ArcCatalog、ArcGlobe、ArcScene插件支持创建扩展模块、按钮和工具、组合框、菜单和右键菜单、工具条、工具面板、可停靠窗体生成各种组件类及方法Desktop中使用Python•3、PythonAdd-ina)定制工具:工作目录——》Install——》工具同名的py文件(如GISResources_addin.py)b)加载项编译:工作目录——》makeaddin.py,生成工具同名的esriaddin例:定制ArcGIS资源导航工具栏Desktop中使用Python•3、PythonAdd-inc)双击安装加载项:d)加载项管理器进行加载:查看所有Add-Ins的详细信息删除Add-InsDesktop中使用Python•3、PythonAdd-inDesktop中使用Python•4、PythonScriptToolDesktop中使用Python•5、ModelBuilderServer中使用Python•1、调用ArcGISServerPython命令行实用程序-ArcGISforServer安装目录tools/admin目录下-提供一套管理ArcGISServer的脚本命令行工具-uArcGISServer用户名,根据不同操作的角色权限-p指定用户的密码-s站点的URL,如

1 / 57
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功