如下图所示,如果需要使用ArcGIS Runtime 100 进行本地GIS数据处理,则需要依赖Local Server通过发布GP服务实现。
一、ArcGIS Runtime所使用的GPK是有版本限制的。
ArcGIS Runtime100.0 对应的GPK必须是ArcMap 10.4.1制作的。
ArcGIS Runtime100.1 对应的GPK必须是ArcMap 10.5.x制作的。
ArcGIS Runtime100.2.0 对应的GPK必须是ArcMap 10.5.x 制作的。
二、针对本地数据,所使用的GP Model输入参数和输出参数类型是有限制的。
原则是GP Model中所使用的ArcMap的GP参数类型要求能对应到支持的REST类型。该原则适用于输入和输出参数。
具体参见下表。
ArcGIS Runtime 参数类型 | REST 类型 | ArcMap GP 参数类型 |
---|---|---|
GeoprocessingString |
GPString |
String |
GeoprocessingDouble |
GPDouble |
Double |
GeoprocessingLong |
GPLong |
Long |
GeoprocessingBoolean |
GPBoolean |
Boolean |
GeoprocessingDate |
GPDate |
Date |
GeoprocessingLinearUnit |
GPLinearUnit |
Linear Unit |
GeoprocessingDataFile |
GPDataFile |
File |
GeoprocessingRaster |
GPRasterData |
无对应 |
GeoprocessingRaster |
GPRasterDataLayer |
无对应 |
GeoprocessingFeatures |
GPRecordSet |
RecordSet |
GeoprocessingFeatures |
GPFeatureRecordSetLayer |
FeatureSet |
GeoprocessingMultiValue |
GPMultiValue |
Multi Value类型 |
对于不支持的参数类型,需要使用ModelBuilder的Calculate Value工具或Python转换为相应类型。例如本地的要素图层,存在本地的File Geodatabase中,在制作GP模型时,就需要使用字符串类型作为输入参数,用来描述输入的要素图层所在路径,不能直接使用FeatureLayer或者FeatureClass参数类型。因为模型在通过LocalServer发布后,FeatureLayer和FeatureClass参数类型会转换为GPFeatureRecordSetLayer,该REST类型对应的ArcGIS Runtime参数类型为GeoprocessingFeatures,不支持通过本地路径方式进行初始化。