Os telêmetros podem ser usados para capturar informações de localização, deslocamento e altura sobre um objeto alvo. Os telêmetros são normalmente usados nas seguintes situações:
- Ao mapear a localização de um objeto que é inacessível, seja porque é difícil chegar ou não é seguro chegar até o objeto. Por exemplo, uma árvore em uma ilha ou um bueiro no meio de uma estrada movimentada.
- Ao mapear a localização de um objeto onde não é possível obter um sinal de GPS ou uma posição de GPS com precisão suficiente. Por exemplo, sob uma grande árvore ou em uma rua estreita ou “canyon urbano”.
Prepare uma pesquisa para registrar as medições
Primeiro, você deve decidir quais medições serão registradas.
No mínimo, você deve criar uma pergunta de texto com aparência de rangefinder para armazenar os valores retornados do telêmetro. Esta pergunta pode ser uma pergunta de texto se você estiver registrando várias medições do telêmetro (todo o objeto JSON será armazenado) ou uma pergunta inteira ou decimal se você estiver registrando apenas uma medição (um único valor numérico é armazenado).
Os tipos de medição são especificados na coluna bind::esri:parameters utilizando measurement= seguido por uma lista separada por vírgulas de parâmetros, por exemplo, measurement=height,azimuth,horizontalDistance,slopeDistance,inclination.
Uma rotina de medição de altura múltipla também pode ser realizada em uma estrutura vertical usando o parâmetro multipleHeight, seguido pela lista separada por vírgulas de rótulos de altura. Coloque a lista de parâmetros entre aspas se algum dos rótulos de altura contiver espaços, por exemplo, measurement="multipleHeight,Height 1,Height 2,Height 3". Múltiplas rotinas de medição de altura não podem ser combinadas com outros valores de medição; eles só podem ser usados isoladamente.
Perguntas de texto adicionais na pesquisa podem armazenar medições individuais. Use a função pulldata para retirar as propriedades do objeto JSON que é retornado pelo telêmetro. Por exemplo, o seguinte retornará apenas o valor da direção (azimute): pulldata("@json",${tree},"azimuth").
Veja a seguir um exemplo de um objeto JSON retornado por um telêmetro. Qualquer uma dessas propriedades pode ser recuperada e armazenada em uma pergunta usando uma expressão pulldata semelhante à anterior:
{
"referenceCoordinates": {
"latitude":-37.8479578,
"longitude":144.9792849
},
"targetCoordinates": {
"latitude":-37.847956857525,
"longitude":144.979303248161
},
"height":0.6,
"heightUnits":"m"
"horizontalDistance":2.1,
"horizontalDistanceUnits":"m",
"slopeDistance":2.1,
"slopeDistanceUnits":"m",
"azimuth":50.1,
"azimuthUnits":deg",
"inclination":-4.4,
"inclinationUnits":"deg",
"heightArray":[0.6,0.9,1.1,1.4,2]
}
Quando uma pesquisa que contém perguntas com aparência de telêmetro é iniciada, o usuário verá um ícone de telêmetro ao lado da pergunta. Para capturar uma medição, eles tocarão no ícone, dispararão o telêmetro e retornarão à pesquisa para concluir as perguntas restantes.
Preparar uma pesquisa para uso em um fluxo de trabalho
Uma configuração alternativa pode ser feita para uma pesquisa para permitir que ela seja selecionada no mosaico do Telêmetro na galeria Survey123.
O mosaico do telêmetro é adequado para projetos de captura repetitiva onde as medições do telêmetro formam a maior parte da entrada de dados para a pesquisa. Múltiplas pesquisas podem ser configuradas para aceitar medições de telêmetro e podem ser selecionados no momento da captura.
Para configurar uma pesquisa para aparecer na lista do mosaico do telêmetro, adicione um dos seguintes valores à coluna bind::esri:workflow:
- rangefinderMode=height
- rangefinderMode=offset
- rangefinderMode=height,offset
- rangefinderMode=offset
Esse parâmetro informará ao aplicativo qual fluxo de trabalho de medição do telêmetro você está executando e armazenará o objeto JSON retornado na pergunta de texto associada. Essas perguntas podem ser ocultadas na pesquisa (usando a aparência oculta) e os valores de medição individuais podem ser armazenados em perguntas adicionais.
O fluxo de trabalho de medição de altura múltipla também pode ser configurado incluindo a pergunta de texto com rangefinderMode=height, juntamente com questões decimais adicionais para armazenar cada valor de altura. Dê a cada pergunta decimal o valor de rangefinderHeight na coluna bind::esri:workflow do XLSForm.
Perguntas adicionais na pesquisa podem armazenar outros valores de medição individuais. Use a função pulldata para extrair as propriedades do objeto JSON que é retornado pelo telêmetro, conforme descrito em Preparar uma pesquisa para registrar as medições.