中文

操作方法:使用 XY 坐标和现有要素服务中的属性,启动并填充 Collector for ArcGIS 中的 Survey123 调查。

摘要

Collector for ArcGIS 18.1.0 的新特性 中所述,现在支持 Arcade 表达式。 一直以来,对 Collector for ArcGIS 和 Survey123 之间的集成的需求一直很高,我们现在有机会使用 Arcade 表达式来构建 Survey123 的自定义 URL 方案。
 
“该内容为什么重要?”

如果您有一个基于现有服务的 Collector Web 地图,并希望填充使用其他要素服务的 Survey123 调查,请使用自定义 URL 方案和自定义属性弹出窗口来执行此操作,例如:

arcgis-survey123://?itemID=&field:AssetID={otherfeatid}

使用现有服务中带有“otherfeatid”的“AssetID”字段填充调查。 但是,Survey213 将默认设置为当前位置,而不是您在启动 Survey123 时在 Collector 地图中可能使用过的点。

 

过程

要将 Web 地图的弹出窗口配置为使用属性表达式,请参阅:配置弹出窗口
 
粘贴以下内容,使用您的调查的项目 ID 修复

function MetersToLatLon(x, y) {
    // 将 XY 点从球面墨卡托 EPSG:3857(Web 墨卡托辅助球体)转换为 WGS84 基准面 (EPSG:4326) 中的经度/纬度。
    // 源:http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/
    var originShift = 2.0 * PI * 6378137.0 / 2.0;
 
    var lon = (x / originShift) * 180.0;
    var lat = (y / originShift) * 180.0;
 
    lat = 180.0 / PI * (2.0 * Atan( Exp( lat * PI / 180.0)) - PI / 2.0);
    return [lat, lon];
}
function CreateURLSurvey(lat, lon) {
    var url_scheme = "arcgis-survey123://?itemID=";
    var url = url_scheme + "?";
        url = url + "&field:AssetID={otherfeatid}";// 基于您要填充的字段数将此行重复所需的次数。 在此示例中,将从 otherfeatid 字段填充 AssetID
    url = url + "¢er=" + lat + "," + lon;// 此行用于定义位置
    Console(url);
    return url;
}
 
var latlon = MetersToLatLon(Geometry($feature).X, Geometry($feature).Y);
var url = CreateURLSurvey(latlon[0], latlon[1]);
return url;
var latlon = MetersToLatLon(Geometry($feature).X, Geometry($feature).Y);
var url = CreateURLSurvey(latlon[0], latlon[1]);
return url;

相关信息

上次修改时间: 7/23/2020

文章 ID: 000020624

软件: ArcGIS Online 8.2 Collector for ArcGIS (iOS) 19.0.2, 18.0.3, 18.0.2, 18.0.1, 17.0.4, 17.0.3, 17.0.2, 17.0.1 Survey123 for ArcGIS 3.9, 3.8, 3.7, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1, 3.0, 2.9.Classic, 2.8 Portal for ArcGIS 10.8, 10.7.1, 10.7, 10.6.1, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3, 10.2.2, 10.2.1, 10.2