GIS基础系列(二)-ArcGIS Runtime SDK

一、模块介绍

ArcGIS Runtime SDK 由多个核心模块组成,每个模块负责不同的 GIS 任务。以下是主要的模块和它们的功能:


1. 核心模块

模块 功能
地图(Map & MapView) 2D/3D 地图渲染、图层管理
场景(Scene & SceneView) 3D 场景、倾斜摄影、地形数据
图层(Layers) 添加矢量、栅格、影像、WMS/WMTS 等地图服务
几何(Geometry) 点、线、多边形等空间数据管理
渲染(Symbology) 矢量数据符号化、3D 模型
地图交互(Map Tools) 平移、缩放、旋转、点击事件
空间查询(Query) 查询地图上的要素
地理数据库(Geodatabase) 读取和编辑 FileGDB、SQLite、Shapefile
地理编码(Geocoding) 地址查询、逆地理编码
网络分析(Network Analysis) 路径规划、最短路径计算
地理处理(Geoprocessing) 运行服务器端 GP 工具
离线功能(Offline Maps) 下载地图,离线使用
实时数据(Real-time Data) GPS 轨迹、IoT 传感器数据
三维分析(3D Analysis) 可视域分析、剖面分析、高度测量
测绘工具(Sketch Editor) 绘制点、线、面,用户交互绘制
任务(Tasks) 任务调度、异步执行操作
Web 服务(ArcGIS REST) 访问 ArcGIS Server/Online 数据

2. 具体 API

ArcGIS Runtime SDK 提供多个 API,主要包括:

  • C++(Qt)(适合跨平台开发)
  • .NET(C# WPF/MAUI)
  • Java(适用于 Android)

ArcGIS Runtime SDK 的每个模块都有一系列核心接口(类、方法)用于实现 GIS 功能。下面是各模块的主要接口:


1. 地图模块(Map & MapView)

用于加载和显示地图(2D/3D)

接口(类) 功能
Map 2D 地图对象,管理图层、底图
MapView 2D 地图视图,渲染 Map
Scene 3D 场景对象,管理 3D 数据
SceneView 3D 场景视图,渲染 Scene
Basemap 底图(影像、矢量地图等)
Camera 3D 摄像机(控制视角)
Viewpoint 地图视角(缩放、旋转)
LocationDisplay 显示 GPS 位置

2. 图层模块(Layers)

用于管理和显示数据(矢量、影像、服务)

接口(类) 功能
FeatureLayer 矢量图层(点、线、面)
GraphicsLayer 临时绘制图层(用户交互)
RasterLayer 影像图层(栅格数据)
ArcGISTiledLayer 瓦片地图图层(WMTS/WMS)
ArcGISMapImageLayer 动态地图服务
SceneLayer 3D 场景图层(倾斜摄影、3D 模型)
KmlLayer 加载 KML/KMZ 数据
OGCFeatureLayer OGC Web Feature Service (WFS)

3. 几何模块(Geometry)

用于处理 GIS 空间数据(点、线、面、缓冲区等)

接口(类) 功能
Point 点对象(经纬度坐标)
Polyline 线对象
Polygon 面对象
Envelope 矩形范围
SpatialReference 坐标系管理
GeometryEngine 空间运算(缓冲区、裁剪、合并)

4. 渲染模块(Symbology)

用于设置矢量符号、颜色、图标等

接口(类) 功能
SimpleMarkerSymbol 点符号(圆形、正方形)
SimpleLineSymbol 线符号(虚线、实线)
SimpleFillSymbol 面符号(填充颜色)
PictureMarkerSymbol 图片符号(自定义点样式)
Renderer 符号渲染器
UniqueValueRenderer 唯一值渲染(按类别着色)
ClassBreaksRenderer 分级渲染(按数值大小着色)

5. 地图交互模块(Map Tools)

用于处理鼠标、触摸屏事件

接口(类) 功能
GeoViewTappedEventArgs 处理地图点击事件
MapViewInteractionOptions 设置交互方式(旋转、缩放)
SketchEditor 让用户绘制点、线、面

6. 空间查询模块(Query)

用于查询地图上的矢量数据

接口(类) 功能
QueryParameters 查询条件
FeatureQueryResult 查询结果
SpatialQuery 空间查询(相交、包含、缓冲)
IdentifyLayerResult 识别地图上的要素

7. 地理数据库模块(Geodatabase)

用于存储、编辑 GIS 数据(FileGDB、SQLite)

接口(类) 功能
Geodatabase 加载地理数据库(GDB)
FeatureTable 表(存储矢量数据)
Feature 矢量数据(点、线、面)
AttributeQueryFilter 按属性查询数据

8. 地理编码模块(Geocoding)

用于地址解析(地址转坐标)

接口(类) 功能
LocatorTask 地址查询
GeocodeParameters 地址解析参数
ReverseGeocodeResult 逆地理编码结果

9. 网络分析模块(Network Analysis)

用于路径规划、最短路径计算

接口(类) 功能
RouteTask 计算路线
RouteParameters 设定起点、终点
RouteResult 返回路径数据
ClosestFacilityTask 计算最近设施
ServiceAreaTask 计算服务范围

10. 地理处理模块(Geoprocessing)

运行服务器端 GIS 分析工具

接口(类) 功能
GeoprocessingTask 运行 GP 任务
GeoprocessingParameters 设定输入数据
GeoprocessingResult 处理结果

11. 离线功能模块(Offline Maps)

支持下载地图,在离线模式下使用

接口(类) 功能
OfflineMapTask 下载离线地图
GenerateOfflineMapParameters 设定下载参数
GenerateOfflineMapResult 生成的离线地图

12. 三维分析模块(3D Analysis)

用于 3D GIS 计算(可视域、剖面分析)

接口(类) 功能
ViewshedAnalysis 视域分析
LineOfSightAnalysis 视线分析
SliceAnalysis 剖面分析

13. 实时数据模块(Real-time Data)

支持 GPS、传感器数据

接口(类) 功能
StreamLayer 实时数据流
GPSLocationDataSource GPS 数据源

14. Web 服务模块(ArcGIS REST)

用于访问 ArcGIS Server/Online 数据

接口(类) 功能
ServiceFeatureTable 从 REST API 访问矢量数据
FeatureLayer 读取服务器端要素
WebTiledLayer 读取 Web 地图

二、模块接口介绍

(一)地图模块(Map & MapView)详细接口介绍

地图模块 主要用于管理 2D 地图(Map)3D 场景(Scene),并提供相应的 视图控件(MapView & SceneView) 来进行渲染、交互。


1. Map(地图)

  • 接口Map
  • 实现类Map
  • 功能:用于管理 2D 地图,包括底图(Basemap)、图层(Layers)、坐标系统(SpatialReference)等。

主要属性

属性 类型 描述
basemap Basemap* 设置底图(影像、矢量等)
operationalLayers LayerListModel* 维护地图的图层列表
initialViewpoint Viewpoint 设定初始视角
spatialReference SpatialReference 设置地图的坐标系统

主要方法

方法 返回类型 描述
setBasemap(Basemap* basemap) void 设置地图底图
operationalLayers()->append(Layer* layer) void 添加图层
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值