Geopuntos

Las preguntas geopoint permiten capturar una ubicación concreta en una encuesta. Aunque las respuestas de las encuestas en Survey123 siempre intentarán capturar la ubicación de un dispositivo incluso si no hay ninguna pregunta geopoint, una pregunta geopoint visible en el formulario mejorará la captura de la información de ubicación.

Pregunta de geopunto predeterminada

Se debe tener en cuenta lo siguiente al usar geopuntos:

  • Puede agregar varias preguntas geopoint, geotrace o geoshape a una encuesta, pero solo se puede utilizar una de ellas como geometría del registro de la encuesta. Se pueden usar varias preguntas de mapa si todas las preguntas, excepto una, tienen el valor bind::esri:fieldType definido como null.
  • Cada repetición de una encuesta también puede tener más de una pregunta geopoint, geotrace o geoshape, pero solo se puede utilizar una de ellas como geometría de un registro repetido. Se pueden usar varias preguntas de mapa con el mismo método descrito anteriormente.
  • De forma predeterminada, Survey123 mostrará valores de latitud y longitud WGS84 en formato de grados/minutos/segundos. Esta visualización se puede cambiar para una encuesta abriendo la pestaña Mapa y seleccionando otro Formato de coordenadas.
  • De manera predeterminada, una pregunta geopoint usa un mapa base en línea. Si la encuesta se va a usar sin conexión, consulte Usar mapas base sin conexión.
  • Si no incluye ninguna pregunta geopoint, geotrace o geoshape en la encuesta, la capa de entidades principal de su encuesta tendrá un tipo de geometría de esriGeometryPoint. La ubicación de punto se rellenará con la información de ubicación disponible en el dispositivo en el momento en que se abre la encuesta. Este comportamiento se aplica incluso si la encuesta tiene repeticiones que contienen preguntas de mapa, pero no incluye ninguna pregunta de mapa fuera de las repeticiones.

Umbral de precisión de ubicación

De manera predeterminada, Survey123 no comprueba la precisión en los valores de posición que captura. Si la precisión de la posición es importante en los resultados de la encuesta, puede definir un umbral de precisión con promedio de ubicación. Puede hacerlo introduciendo un valor numérico en la columna body::accuracyThreshold de la pregunta geopoint; este valor será el umbral de precisión por encima del cual dejan de capturarse valores cuando se promedia una ubicación.

Mensaje de error cuando la respuesta sobrepase el umbral de precisión de 5 metros

Cuando no se promedia, el panel de mapa de la aplicación de campo Survey123 muestra una advertencia si la precisión de la posición es mayor que el umbral definido, pero no impide que el usuario capture ubicaciones. Si desea capturar una ubicación que satisfaga el umbral, espere hasta que no haya advertencia y toque el botón de ubicación. Las posiciones que no cumplen el umbral de precisión se pasan por alto automáticamente al promediar.

Expresiones de calidad de ubicación

El umbral de precisión de ubicación es un número único, un valor mínimo para la precisión horizontal de una ubicación determinada. Para advertir a un usuario de que su ubicación no cumple con otros requisitos de calidad más complejos, o impedirle que envíe esa ubicación, se puede utilizar una expresión. Existen dos columnas (y sus columnas de mensaje asociadas) en las que se pueden introducir estas expresiones:

  • Las columnas constraint y constraint_message se pueden utilizar para evitar que el usuario capture una ubicación en una pregunta geopoint.
  • Las columnas bind::esri:warning y bind::esri:warning_message pueden utilizarse para mostrar una advertencia al usuario si la expresión no se cumple. Si la expresión no se cumple, la barra que contiene el valor de coordenada de la parte superior de la pregunta geopoint cambiará al color amarillo. En tal caso, el usuario puede capturar la ubicación a pesar de ello.
Mensaje de advertencia cuando la respuesta no cumple la expresión de calidad de ubicación

Es posible crear una expresión en cualquiera de estas columnas utilizando cualquier pregunta de la encuesta, pero se suelen utilizar preguntas o parámetros relacionados con la ubicación de la encuesta.

Para conocer los parámetros de ubicación que se pueden utilizar, consulte la sección Extraer valores de geopuntos a continuación.

Por ejemplo, esta expresión puede utilizarse para garantizar que el usuario se ha detenido casi por completo antes de capturar una ubicación, y que la precisión horizontal sea superior a 5 metros.

pulldata("@geopoint", ., "horizontalAccuracy") < 5 and pulldata("@geopoint", ., "speed") < 0.1

Sugerencia:

En la práctica, si bien es posible que desee que el usuario capture un punto cuando está parado, muy rara vez un dispositivo reportará un valor de velocidad de exactamente cero. Por esta razón, el ejemplo anterior busca en cambio una velocidad inferior a 0,1 para introducir un margen de error aceptable.

Si es vital que la ubicación solo deba capturarse bajo estas condiciones, esta expresión debe introducirse en la columna constraint. Si es solo una recomendación, al introducir esta expresión en la columna bind::esri:warning solo se mostrará al usuario el mensaje de advertencia correspondiente. El usuario puede seguir capturando la ubicación en la pregunta geopoint.

Los mensajes de constraint y bind::esri:warning se muestran si la expresión en estas columnas se evalúa como falsa.

Para expresiones muy grandes o complejas, es mejor separar estas funciones de extracción de datos en preguntas individuales, y luego referirse a estos nombres de preguntas en la expresión. Por ejemplo, para realizar la misma función que en el ejemplo anterior, una pregunta denominada hAccuracy podría utilizar el siguiente cálculo:

pulldata("@geopoint",${location}, "horizontalAccuracy")

A continuación, una pregunta denominada currentSpeed podría usar este cálculo:

pulldata("@geopoint",${location}, "speed")

Por último, se podría usar el siguiente cálculo como la restricción o expresión de advertencia para la pregunta geopoint:

(${hAaccuracy} < 5) and (${currentSpeed} < 0.1)

Reportar rango de confianza del 95 por ciento

Es posible que su organización necesite que los datos recopilados se reporten como rango de confianza (IC) específico. De forma predeterminada, cuando el tipo de precisión que se devuelve es cuadrático medio (RMS), el IC será del 68 por ciento. Para alcanzar el 95 por ciento de IC en su encuesta, debe multiplicar la precisión horizontal por 1,7308 y la precisión vertical por 1,9600. Para obtener más información sobre estos factores de conversión, consulte la Norma nacional de EE. UU. sobre precisión de datos espaciales.

Ejemplo de alta precisión

En este ejemplo, se debe alcanzar el mínimo absoluto del conjunto de variables; sin embargo, la captura de ubicaciones con algunas variables menos estrictas se deja a criterio del usuario. Puede ser que haya problemas de seguridad o riesgos que eviten que el usuario se quede en la ubicación el tiempo necesario para cumplir los requisitos deseados. En tal caso, se muestra una advertencia y el usuario puede decidir si capturar la ubicación o esperar más tiempo.

El requisito de precisión mínima absoluta puede ser de la siguiente manera:

  • La precisión horizontal con un 95 por ciento de IC es menor que dos metros.
  • La precisión vertical con un 95 por ciento de IC es menor que dos metros.
  • La dilución de la precisión de posición (PDOP) es menor o igual que 6,0.
  • Se usan cinco satélites o más.

El requisito de precisión deseada puede ser de la siguiente manera:

  • La precisión horizontal con un 95 por ciento de IC es menor que un metro.
  • La precisión vertical con un 95 por ciento de IC es menor que un metro.
  • La PDOP es menor o igual que 2,0
  • Se usan siete satélites o más.

Una pregunta denominada haccuracy68cep podría usar el siguiente cálculo:

pulldata("@geopoint",${location}, "horizontalAccuracy")

Después, una pregunta denominada haccuracy95ci podría usar el siguiente cálculo:

${haccuracy68cep}*1.7308

Con cálculos similares hechos para la precisión vertical, se introduciría la siguiente expresión en la columna constraint para representar la precisión mínima absoluta:

${accuracyType} = 0 and ${haccuracy95ci} < 2 and ${vaccuracy95ci} < 2 and ${pdop} <= 6 and ${satellitesInUse} >= 5

La siguiente expresión se introduciría en la columna bind::esri:warning para representar la precisión deseada. Los valores que se usan aquí suelen ser más pequeños que los que se usan para la precisión mínima absoluta. Se prefieren valores más pequeños, pero se pueden utilizar los valores mínimos más grandes.

${accuracyType} = 0 and ${haccuracy95ci} < 1 and ${vaccuracy95ci} < 1 and ${pdop} <= 2 and ${satellitesInUse} >= 7

Capas de entidades 3D

De manera predeterminada, las preguntas geopoint de Survey123 no admiten valores del eje z (altitud); solo capturan la latitud y la longitud en una capa de entidades bidimensional. Puede cambiarlo introduciendo esriFieldTypePointZ en el campo bind::esri:fieldType de la pregunta, lo que permite que el valor de la altitud se capture en la capa de entidades. También permite que el campo de altitud se modifique al especificar un valor de geopunto.

Valores predeterminados

Es posible establecer una ubicación predeterminada para una pregunta geopoint proporcionando un conjunto de valores de longitud y latitud (en grados decimales) separados por espacios en la columna default. Por ejemplo, -37.814552 144.966071 hará que el geopunto sea predeterminado a una ubicación en Melbourne, Australia.

Sugerencia:

Los valores predeterminados de ubicación situados en el hemisferio sur generan un error en Microsoft Excel, ya que este intenta leer el valor como una fórmula porque comienza con un signo menos (-). En estos casos, introduzca un apóstrofo antes del primer valor, y Excel lo leerá de la forma prevista. Si agrega apóstrofos, no se provoca ningún cambio en el comportamiento de Survey123.

Si no se proporciona un valor predeterminado, el geopunto se actualizará automáticamente a la ubicación actual del dispositivo. Para forzar que el geopunto no capture automáticamente su ubicación, cambie el valor predeterminado a null. En su lugar, mostrará las opciones para habilitar la captura de la ubicación, cargar la página del mapa para establecer una ubicación manualmente o refrescar un cálculo si se aplica al geopunto.

Cálculos

Puede llenar una pregunta geopoint usando los resultados de otras preguntas. Para hacerlo, primero tiene que entender que la respuesta de una pregunta geopoint tiene el formato de una lista de valores de longitud y latitud (en grados decimales) separados por comas y seguidos de valores opcionales, empezando por la altitud y la precisión (en metros decimales). Al rellenar la respuesta de una pregunta geopoint, debe seguir esta estructura para que la respuesta sea válida.

Como no puede hacer esto directamente al rellenar desde las preguntas select_one, se recomienda usar la función substr() para ayudar a crear una respuesta válida. Por ejemplo, el nombre del geopunto podría ser el siguiente:

+059.38330_+018.00000

Este valor usa un número fijo de caracteres para la latitud y la longitud, y rodea los valores de ceros que normalmente se truncarían con un guion bajo entre los dos valores, ya que la columna name no admite espacios. Esto crea un valor que se puede descomponer fácilmente con la función substr() para rellenar el siguiente ejemplo de pregunta geopoint:

substr(${previous_question}, 0, 10) + " " + substr(${previous_question}, -10)

Este ejemplo toma los 10 primeros caracteres del valor (la latitud) y los 10 últimos caracteres (la longitud) y los presenta separados por un espacio como un resultado de geopunto válido.

También puede usar la función pulldata() para rellenar una pregunta geopoint usando un archivo CSV adjunto. En primer lugar, agregue el archivo CSV a la carpeta Media de la encuesta. A continuación, agregue a la columna calculation algo parecido a lo siguiente:

pulldata('Intersections', 'Lat', 'IntersectionID', ${intersection}) + " " + pulldata('Intersections', 'Long', 'IntersectionID', ${intersection})

Al igual que en el ejemplo substr(), esto combina los valores de latitud y longitud de una ubicación con un espacio para crear una respuesta válida para una pregunta geopoint basada en una pregunta anterior.

Encontrará ejemplos de estas dos alternativas en acción en las muestras de Survey123 Connect.

Obligatorias y de solo lectura

Las preguntas geopoint rellenan automáticamente una encuesta con una ubicación proporcionada por el dispositivo si hay alguna disponible. Si el dispositivo no proporciona una ubicación válida en la respuesta de la encuesta, Survey123 devolverá una ubicación de 0,0; este punto está en el océano a cierta distancia de la costa de África. Si se marca la pregunta geopoint como required, no se podrá enviar la encuesta con este valor vacío. La encuesta solo se aceptará una vez que el dispositivo proporcione una ubicación o se introduzca una manualmente.

Al marcar una pregunta geopoint como read-only, no se podrán introducir respuestas manuales. Esto puede resultar útil para preguntas en las que es necesaria una respuesta automática y una respuesta manual causaría problemas con el conjunto de datos. Es preferible usarlo con uno de los cálculos que se han descrito antes, ya que proporcionaría un valor de geopunto discreto que los usuarios no podrán cambiar.

Geobúsqueda y geocodificación

Las preguntas geopoint incluyen una funcionalidad de geobúsqueda, que permite a los usuarios buscar una dirección o un punto de interés y hacer que el mapa se acerque y coloque el marcador de geopunto en esta ubicación. Para usar esta funcionalidad, seleccione el mapa en la encuesta para abrir una vista completa de geopuntos. Escriba la dirección o ubicación deseadas en el cuadro de texto de la parte superior de la pantalla y seleccione el resultado correcto de los resultados de autocompletar; el mapa se acercará a su ubicación.

La vista completa de geopuntos también es capaz de utilizar la geocodificación inversa para mostrar los detalles de su geopunto. Para ello, mantenga pulsada la ubicación en el mapa o la visualización de coordenadas en la parte inferior de la pantalla. La ubicación se imprimirá sobre la visualización de coordenadas. La ubicación en la que se ha utilizado la geocodificación inversa no se enviará con la respuesta de su encuesta.

De manera predeterminada, la funcionalidad de geobúsqueda devuelve resultados de todo el mundo, ArcGIS World Geocoder para buscar las direcciones. Puede modificar estas opciones pulsando la opción de globo a la izquierda del cuadro de búsqueda. Con ello se abre un cuadro de diálogo que le permite cambiar el modo de búsqueda a Buscar en cualquier parte o Buscar dentro de las extensiones de mapa visibles o aceptar Solo entrada de coordenada de mapa. También puede utilizar cualquier geocodificador a disposición de su organización, tanto para la geobúsqueda como para la geocodificación inversa. Si aún no ha iniciado sesión, solamente tendrá acceso a ArcGIS World Geocoder.

Extraer valores de geopuntos

Si desea deconstruir una respuesta de geopunto, puede usar la función pulldata() para extraer los valores y rellenar los valores de otras preguntas.

Survey123 mejora la función pulldata() cuando se usa el símbolo @ al inicio del primer parámetro. Esta mejora permite recuperar más de los cuatro parámetros estándar. Se pueden recuperar parámetros adicionales de una pregunta geopoint usando una función pulldata() mejorada. El siguiente ejemplo extrae el valor de precisión horizontal de una pregunta geopoint:

pulldata("@geopoint", ${location}, "horizontalAccuracy")

La disponibilidad de las propiedades de geopunto depende del hardware. En la tabla siguiente se enumeran las propiedades que se pueden extraer de un geopunto:

Nombre de propiedadDescripciónUnidad

x

Longitud, valor positivo en el hemisferio oriental, valor negativo en el hemisferio occidental.

Grados decimales

y

Latitud, valor positivo en el hemisferio norte, valor negativo en el hemisferio sur.

Grados decimales

z

Altitud, metros sobre el nivel del mar (predeterminado) o altura por encima del elipsoide (si se selecciona en la configuración de la aplicación de campo).

Metros

horizontalAccuracy

Precisión horizontal de las coordenadas x e y.

Metros

verticalAccuracy

Precisión vertical de la coordenada z.

Metros

velocidad

Velocidad en el suelo.

Metros por segundo

verticalSpeed

Velocidad vertical.

Metros por segundo

dirección

La dirección de viaje se mide en el sentido de las agujas del reloj desde el norte.

Grados decimales

positionSourceType

Categoría del origen de posición. Los resultados posibles son: Desconocido (0), Usuario (1), Ubicación del sistema (2), Dispositivo externo (3) y Dispositivo de red (4)

N/A

positionSourceInfo.antennaHeight

Altura de la antena del dispositivo. La distancia desde la antena hasta la superficie del suelo se resta de los valores de la altitud.

Metros

positionSourceInfo.altitudeType

Tipo de altitud seleccionado. Los resultados potenciales son la altitud sobre el nivel medio del mar (0) y la altura sobre el elipsoide (1). Está disponible para todos los tipos de proveedores de ubicación.

N/A

En la tabla siguiente se enumeran las propiedades adicionales que se pueden extraer de un geopunto capturado con un receptor de alta precisión:

Nombre de propiedadDescripciónUnidad

magneticVariation

Ángulo entre el norte magnético y el norte verdadero.

Grados decimales

fixType

Tipo de ajuste de posición que tiene la coordenada. Los resultados posibles son NoFix (0), GPS (1), DifferentialGPS (2), PrecisePositioningService (3), RTKFixed (4), RTKFloat (5), Estimated (6), Manual (7), Simulator (8) y SBAS (9).

N/A

positionSourceInfo

Información del dispositivo como un objeto JSON. Resulta útil para depuraciones y validaciones. También se pueden devolver elementos individuales mediante un nombre completo de elemento. Consulte las siguientes filas de la tabla para conocer todos los elementos disponibles.

N/A

positionSourceInfo.pluginName

Nombre de origen de posición interno. Solo está disponible en el caso del proveedor de ubicación integrado del dispositivo.

N/A

positionSourceInfo.deviceAddress

Dirección del dispositivo. Solo está disponible para los receptores GNSS externos.

N/A

positionSourceInfo.deviceName

Nombre del dispositivo. Solo está disponible para los receptores GNSS externos.

N/A

positionSourceInfo.deviceType

Tipo de dispositivo externo. Los resultados posibles son: Desconocida (-1), Bluetooth (0), Puerto de serie (1) y Bluetooth LE (2). Solo está disponible para los receptores GNSS externos.

N/A

positionSourceInfo.networkName

Nombre del origen de posición de red. Solo está disponible para los proveedores de ubicación de red.

N/A

positionSourceInfo.networkAddress

Dirección del origen de posición de red. Solo está disponible para los proveedores de ubicación de red.

N/A

positionSourceInfo.networkPort

Puerto del origen de posición de red. Solo está disponible para los proveedores de ubicación de red.

N/A

positionSourceInfo.geoidSeparationCustom

Diferencia entre el elipsoide terrestre WGS-84 y el nivel medio del mar según define el usuario en la configuración de la aplicación.

Metros

geoidSeparation

Diferencia entre el elipsoide terrestre WGS-84 y el nivel medio del mar según informa el receptor GNSS. También se suele denominar altura ortométrica.

Metros

accuracyType

Tipo de precisión según indican las propiedades horizontalAccuracy y verticalAccuracy. Los resultados posibles son RMS (0) y DOP (1). RMS es la precisión cuadrática media. Se calcula siguiendo un rango de confianza del 68 por ciento para la latitud, la longitud y los errores de altitud reportados en la sentencia GST proporcionada por el receptor. Si el receptor no admite GST, se usa en cambio DOP. DOP es la precisión basada en la dilución de la precisión. Usa un valor de rango de error estimado del usuario (UERE) constante para estimar las precisiones horizontal y vertical.

N/A

positionAccuracy

Error esférico radial medio. Abarca errores horizontales y verticales.

Metros

latitudeError

Valor del error 1-sigma de latitud. Esta propiedad solo se rellena si su dispositivo de posicionamiento es compatible con sentencias GST en transmisiones de NMEA.

Metros

longitudeError

Valor del error 1-sigma de longitud. Esta propiedad solo se rellena si su dispositivo de posicionamiento es compatible con sentencias GST en transmisiones de NMEA.

Metros

altitudeError

Valor del error 1-sigma de altitud. Esta propiedad solo se rellena si su dispositivo de posicionamiento es compatible con sentencias GST en transmisiones de NMEA.

Metros

hdop

Dilución de la precisión horizontal (HDOP) de los datos de posición.

N/A

vdop

Dilución de la precisión vertical (VDOP) de los datos de posición.

N/A

pdop

Dilución de la precisión posicional (PDOP) de los datos de posición. La ecuación utilizada para determinar PDOP es PDOP^2 = HDOP^2 + VDOP^2.

N/A

differentialAge

Antigüedad de la señal y corrección diferenciales que usa el receptor GPS para corregir de forma diferencial la posición.

Segundos

referenceStationId

Id. de estación de referencia diferencial (DSID) de la estación que usa el receptor GPS.

N/A

satellitesVisible

Cantidad de satélites de posicionamiento que son visibles en el momento de la captura de la ubicación.

N/A

satellitesInUse

Cantidad de satélites de posicionamiento que se usan para devolver los datos de posición.

N/A

Formato de coordenadas

La función pulldata() también se puede usar para extraer valores de geopunto y aplicarles formatos de coordenadas adicionales. Estos formatos de coordenadas también admiten los siguientes parámetros específicos adicionales:

  • pulldata("@geopoint",${location},"MGRS") devuelve el geopunto como un valor de cuadrícula del Sistema de Referencia de Cuadrícula Militar (MGRS) con una precisión de 1 metro. Al proporcionar un parámetro decimal opcional, es posible modificar la precisión; por ejemplo, pulldata("@geopoint",${location},"MGRS",100) devuelve un valor de cuadrícula con una precisión de 100 metros.
  • pulldata("@geopoint",${location},"USNG") devuelve el geopunto como un valor de cuadrícula de la Cuadrícula Cartográfica Nacional de EE. UU. (USNG) con una precisión de 1 metro. Al igual que en el caso del MGRS, el parámetro decimal opcional puede utilizarse para modificar la precisión del valor de cuadrícula.
  • pulldata("@geopoint",${location},"UTM") devuelve el geopunto como coordenadas de la Proyección Universal Transversa de Mercator (UTM). Se devuelve como un objeto JSON:
    {
    	"band": "S",
    	"easting": 452994,
    	"northing": 4423429,
    	"text": "50S 452994E 4423429N",
    	"type": "UTM",
    	"zone": 50
    }
    Es posible extraer estos valores individuales utilizando parámetros adicionales. Por ejemplo, pulldata("@geopoint",${location},"UTM.easting") devuelve solo el valor Este.
  • pulldata("@geopoint",${location},"DMS") devuelve el geopunto como grados, minutos y segundos. Se devuelve como un objeto JSON:
    {
    	"latitudeDegrees": 39,
    	"latitudeHemisphere": "N",
    	"latitudeMinutes": 57,
    	"latitudeSeconds": 36.3,
    	"latitudeText": "39°57'36.3\"N",
    	"longitudeDegrees": 116,
    	"longitudeHemisphere": "E",
    	"longitudeMinutes": 27,
    	"longitudeSeconds": 4,
    	"longitudeText": "116°27'04.0\"E",
    	"text": "39°57'36\"N 116°27'4\"E"
    }
    Es posible extraer estos valores individuales utilizando parámetros adicionales. Por ejemplo, pulldata("@geopoint",${location},"DMS.latitudeMinutes") devuelve solo los minutos de latitud.
  • Los geopuntos también se pueden devolver como grados y minutos decimales con pulldata("@geopoint",${location},"DDM"), o como grados decimales con pulldata("@geopoint",${location},"DD"). También se devuelven como objetos JSON y es posible extraer de ellos valores individuales con parámetros adicionales del mismo modo que el formato de grados, minutos y segundos que aparece arriba.

Geocodificación inversa

Puede realizar geocodificación inversa en la aplicación de campo con una pulsación larga en el mapa o las coordenadas con la vista completa de geopuntos abierta, pero no se guarda ni se envía en la encuesta. El valor con geocodificación inversa puede obtenerse del geopunto si utiliza pulldata("@geopoint",${location},"reversegeocode"), que devuelve la ubicación como un objeto JSON. Puede extraer propiedades individuales del objeto al indicar el nombre de la propiedad, pero estas propiedades varían en función del localizador utilizado. En el caso de ArcGIS World Geocoder, se devolverá un objeto JSON similar al siguiente:

{
	"address":{
		"Match_addr":"570 St Kilda Rd, Melbourne, Victoria, 3004",
		"LongLabel":"570 St Kilda Rd, Melbourne, Victoria, 3004, AUS",
		"ShortLabel":"570 St Kilda Rd",
		"Addr_type":"PointAddress",
		"Type":"",
		"PlaceName":"",
		"AddNum":"570",
		"Address":"570 St Kilda Rd",	"Block":"",
		"Sector":"",
		"Neighborhood":"Melbourne",
		"District":"",
		"City":"Melbourne",
		"MetroArea":"",
		"Subregion":"",
		"Region":"Victoria",
		"Territory":"",
		"Postal":"3004",
		"PostalExt":"",
		"CountryCode":"AUS"
		},
	"location":{
		"x":144.97914150000003,
		"y":-37.847384999999996,
		"spatialReference":{
			"wkid":4326,
			"latestWkid":4326
		}
	}
}

Para extraer solo un valor específico del objeto JSON, utilice una función de extracción de datos similar a la siguiente, que extraería la propiedad Match_addr:

pulldata("@geopoint",${location},"reversegeocode.address.Match_addr")

Para la geocodificación inversa se utilizará el servicio de localizador predeterminado de su organización. Para utilizar otro servicio de localizador, introduzca la URL del localizador como parámetro opcional en la función con el formato pulldata("@geopoint",${location},"reversegeocode",${locatorURL}). Si el servicio está protegido o la encuesta está destinada a usuarios públicos, debe configurar un elemento de proxy que tenga guardadas credenciales de acceso.

Para configurar un elemento de geocodificador de proxy, siga estos pasos:

  1. Inicie sesión en su organización de ArcGIS con una cuenta que tenga privilegios de geocodificación.
  2. En la página Contenido, busque Agregar elemento > Desde una URL para ArcGIS Online, o bien Agregar elemento > Desde la web para ArcGIS Enterprise, y asegúrese de que el tipo seleccionado sea Servicio web de ArcGIS Server.
  3. Use la URL como geocodificador deseado, por ejemplo, http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer en el caso de ArcGIS World Geocoder. Se detectará como un servicio seguro.
  4. Agregue el nombre de usuario y la contraseña de una cuenta de ArcGIS que tenga privilegios de geocodificación.
  5. Elija Almacenar credenciales con el elemento de servicio. No solicitar autenticación.
  6. Seleccione un título y las etiquetas.
  7. Haga clic en Agregar elemento.
  8. Comparta este elemento de localizador en línea públicamente.

Para obtener más información, consulte Requisitos para configurar sus propios localizadores para ArcGIS Online o Configurar los servicios de utilidades con un portal para ArcGIS Enterprise.

Si se proporciona una URL del localizador, se pueden proporcionar parámetros adicionales que se entregarán a la URL. Al igual que con las propiedades proporcionadas dentro del objeto JSON, estos parámetros difieren en función del servicio de localizador utilizado. Este ejemplo utiliza el parámetro featureTypes, que limita el valor devuelto a un tipo específico de ubicación para devolver solo el negocio o el hito más cercano:

pulldata("@geopoint",${location},"reversegeocode.address.Match_addr","https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer","featureTypes=" + "POI")

Sugerencia:

Si el servicio de localizador predeterminado para su ArcGIS Enterprise es ArcGIS World Geocoder, o si utiliza ArcGIS World Geocoder como parámetro de URL del localizador en una encuesta corporativa, como se muestra en los pasos mostrados arriba, podría aparecer un error de token al realizar la geocodificación inversa. Para evitarlo, cree un elemento de proxy que tenga credenciales de acceso a ArcGIS Online guardadas para un usuario con permisos para realizar geocodificación. Este elemento se puede definir como el servicio de localizador predeterminado para un portal o el destino de un parámetro de URL de localizador en la función de geocodificación inversa.

Para obtener más información sobre los parámetros de la URL de geocodificación inversa, incluida una lista completa de parámetros que se pueden entregar a la URL, consulte la documentación de la API REST de ArcGIS sobre la operación reverseGeocode.

Puede incluir varios cálculos de geocodificación inversa sin que ello afecte al rendimiento ni a los créditos. Por ejemplo, podrían incluirse estas tres llamadas para propiedades individuales:

pulldata("@geopoint",${location},"reversegeocode.address.Match_addr")

pulldata("@geopoint",${location},"reversegeocode.address.LongLabel")

pulldata("@geopoint",${location},"reversegeocode.address.ShortLabel")

Se realizará una geocodificación inversa para el primer cálculo, lo que consumiría créditos. A continuación, la respuesta se almacena en caché y se utiliza para los otros dos cálculos. Solo se requiere una nueva llamada al geoservicio si la URL de solicitud de geocodificación inversa ha cambiado, ya sea debido a un cambio de ubicación, a la utilización de otro parámetro de solicitud o a la caducidad del token de acceso original.