ArcGIS Python API 功能一瞥
继上一篇部署 ArcGIS Python API 之后,再来试试 Python API 的渲染和分析的功能。 通过这两个功能来摸索下 ArcGIS Python API 的使用方法。
渲染
1 导入gis模块,创建GIS对象
在 ArcGIS Python API 中 gis 是个核心模块,提供了对组织内成员、群组、内容的创建、读取、更新和删除等功能,你的组织既可以是托管在ArcGIS Online中,也可以是自己部署的门户(Portal for ArcGIS),或者更准确的说,在10.5版本应该称为 ArcGIS Enterprise.
GIS对象是gis模块最重要的对象,我们可以理解为,GIS对象是通过ArcGIS Python API编写脚本的入口。
下面以我的 ArcGIS Enterprise 测试环境为例:
1 | from arcgis.gis import GIS |
2 获取感兴趣的内容
通过 gis.content.search() 方法可以在组织中查找所需内容。例如我查找命名包含 “China_Railways” 的要素服务。
1 | ### Search My Portal |
结果:
1 | [<Item title:"China_Railways" type:Feature Service owner:portaladmin>, |
3 使用地图微件
GIS对象中包含一个地图微件,可以用来渲染(可视化)组织中的内容,比如要素服务。我们还可以通过关键字来确定地图的显示位置,和指定地图的幅面尺寸等。
1 | ### Create a map widget |
4 添加图层并渲染
例如使用热度图/Heatmap 渲染器
1 | ### Add layer using heatmap renderer |
分析
假设需求是实现采样点插值,数据来源是桌面产品自带的ArcGIS Tutorial中的数据(Geostatistical Analyst\ca_ozone.gdb\O3_Sep06_3pm)。
除了通过搜索的方法,如果知道 itemid ,也能直接获得到内容,可以使用方法 gis.content.get()
1 | from arcgis import gis |
还是使用地图微件,用来显示下数据和分析结果。
1 | mymap = gis.map('California') |
1 | O3layer = search_result.layers[0] |
Portal 中提供了一系列的“工具”,可以辅助我们实现分析的需求,包括 标准的分析工具、矢量大数据分析GeoAnalytics Tools、栅格数据分析等,一系列分析功能都可以通过 ArcGIS Python API 调用。 这里就以 interpolate points 为例。
1 | from arcgis.features.analyze_patterns import interpolate_points |