ArcGIS GeoAnalytics Server采用分布式计算,解决了单机无法处理和分析大数据的问题,主要提供以下五类工具:
- analyze_patterns module:calculate_density、find_hot_spots、create_space_time_cube
- find_locations module:find_similar_locations、detect_incidents、geocode_locations
- manage_data module:copy_to_data_store、calculate_fields
- summarize_data module:aggregate_points、join_features、reconstruct_tracks、summarize_attributes、summarize_within
- use_proximity module:create_buffers
基于这些工具,可以实现大数据的计算密度、查找热点、点聚合、链接要素、轨迹追踪、属性汇总、范围内汇总、创建缓冲区,以及数据的拷贝。大数据分析的结果将会存储在datastore的时空存储中,结果可以与要素图层相结合,进行进一步的空间分析。
1. 环境准备
需要有正常的GA环境,才可以使用arcgis.geoanalytics模块
2. 简单实用
1. 连接portal
2. 验证环境中ga是否可用
3. 查找环境中的大数据文件共享
(1)检索,可以发现arcgis用户中共有1个大数据文件共享
(2)查看大数据文件共享中的大数据文件
4. 用earthquakes数据进行聚合,对应于ga的聚合点工具
(1)执行聚合点工具
(2) 可以在server manager页面查看执行情况
(3) 将结果可视化
3. 代码附录
1. 使用python api
# 导入需要的包
from arcgis.gis import GIS
import arcgis.geoanalytics
#连接portal
gis = GIS("portal地址", "username", "password", verify_cert= False)
#检测环境是否有ga
arcgis.geoanalytics.is_supported()
#检索环境中的大数据文件共享,支持共享文件夹,HDFS,云存储等
search_result = gis.content.search("", item_type = "big data file share")
#查看大数据文件共享中的大数据
search_result[0].layers
#使用ga中的数据,以聚合点为例
from arcgis.geoanalytics.summarize_data import aggregate_points
earthquakes = search_result[0].layers[0]
agg_result = aggregate_points(earthquakes, bin_size = 1, bin_size_unit= "kilometers", output_name = "pythonapitest")
2. 涉及到ga,这里就增加一部份,通过rest api去使用ga的工具