Español

Cómo: Iniciar y rellenar una encuesta de Survey123 desde Collector for ArcGIS utilizando coordenadas XY y atributos de un servicio de entidades existente

Resumen

Como quizá sepa de Novedades de Collector for ArcGIS 18.1.0, ya se admiten las expresiones de Arcade. La integración entre Collector for ArcGIS y Survey123 ha sido algo muy esperado desde siempre y ahora tenemos la oportunidad de construir el esquema de URL personalizado de Survey123 utilizando una expresión de Arcade.
 
"¿Por qué es importante?"

Si tiene un mapa web de Collector basado en un servicio existente y desea rellenar una encuesta de Survey123 que utiliza otro servicio de entidades, utilice el esquema de URL personalizado y la ventana emergente de atributos personalizados para hacerlo, por ejemplo:

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

rellena la encuesta aplicando al campo "AssetID" el valor de "otherfeatid" del servicio existente. Sin embargo, Survey213 utiliza de forma predeterminada su ubicación actual y no el punto que haya utilizado en el mapa de Collector al iniciar Survey123.

 

Procedimiento

Para configurar el elemento emergente del mapa web para que use una expresión de atributos, consulte Configurar ventanas emergentes.
 
Pegue lo siguiente, corrigiendo el con el Id. del elemento de su encuesta.

function MetersToLatLon(x, y) {
    // Convierte el punto XY de Spherical Mercator EPSG:3857(Web Mercator Auxiliary Sphere) a lat/lon en datum WGS84 (EPSG:4326).
    // Fuente: 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}";// Repita esta línea tantas veces como sea necesario en función del número de campos que desee rellenar. Para este ejemplo, AssetID se rellenará con otherfeatid
    url = url + "¢er=" + lat + "," + lon;// Esta es la línea que define la ubicación
    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;

Información relacionada

Última modificación: 7/23/2020

Id. de artículo: 000020624

Software: 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