距離計を使用したデータ収集の準備

距離計を使用して、ターゲット オブジェクトに関する位置、オフセット、高さの情報を取得できます。 通常は以下の状況で距離計が使用されます。

  • 到達が困難であるか、オブジェクトまで到達するのが安全ではないために、アクセスできないオブジェクトの位置をマッピングする場合。 例: 島の木、交通量が多い道路にあるマンホール。
  • GPS 信号、または十分な精度の GPS 位置を受信できないオブジェクトの位置をマッピングする場合。 例: 大きな木の下、幅が狭い通り (都市の谷間)。

計測値を記録するための調査の準備

はじめに、記録する計測値を決定する必要があります。

少なくとも、距離計から返される値を格納する、表示設定が rangefinder のテキストの質問を作成する必要があります。 複数の距離計の計測値を記録 (JSON オブジェクト全体が格納される) する場合はテキストの質問、1 つの計測値のみを記録 (1 つの数値が格納される) する場合は整数または小数の質問を使用できます。

measurement=」の後にカンマで区切ったパラメーターのリストを追加することで、[bind::esri:parameters] 列で計測タイプを指定します (例: measurement=height,azimuth,horizontalDistance,slopeDistance,inclination)。

[multipleHeight] パラメーターの後にカンマで区切った高さラベルのリストを追加することで、鉛直構造で複数の高さ計測ルーチンを実行することもできます。 いずれかの高さラベルにスペースが含まれている場合 (例: measurement="multipleHeight,Height 1,Height 2,Height 3")、パラメーターのリストを引用符で囲みます。 複数の高さ計測ルーチンを他の計測値と結合することはできず、別々にしか使用できません。

調査の別のテキストの質問に個別の計測値を格納できます。 距離計から返される JSON オブジェクトからプロパティを取得するには、pulldata 関数を使用します。 たとえば、「pulldata("@json",${tree},"azimuth")」の場合には進行方向の値 (方位角) だけが返されます。

以下は距離計から返される JSON オブジェクトの例です。 さきほどと似たような pulldata 式を使用して、これらのいずれかのプロパティを取得して質問に格納できます。

{
    "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]
}

表示設定が rangefinder の質問を含む調査を起動すると、ユーザーには質問の横に距離計アイコンが表示されます。 計測値を取得するには、アイコンをタップして距離計を起動し、調査に戻って残りの質問に回答します。

ワークフローで使用するための調査の準備

調査に対して代替構成を行い、Survey123 ギャラリーの [距離計] タイルから選択できるようにすることができます。

距離計の計測値が調査のデータ入力の大半を占める繰り返しの収集プロジェクトに合わせて距離計タイルが調整されます。 距離計の計測値を受け付けるように複数の調査を構成することも、取得時に選択することもできます。

距離計タイルの調査リストに調査が表示されるように構成するには、次のいずれかの値を [bind::esri:workflow] 列に追加します。

  • rangefinderMode=height
  • rangefinderMode=offset
  • rangefinderMode=height,offset
  • rangefinderHeight

実行している距離計計測ワークフローがこのパラメーターからアプリに通知され、返される JSON オブジェクトが関連付けられているテキストの質問に格納されます。 これらの質問は調査で非表示にすることが可能 (hidden 表示設定を使用) で、それぞれの計測値を追加の質問に格納できます。

それぞれの高さ値を格納する追加の少数の質問とともに、rangefinderMode=height でテキストの質問を含めることで、複数の高さ計測ワークフローを構成することもできます。 XLSForm の [bind::esri:workflow] 列でそれぞれの少数の質問に「rangefinderHeight」という値を指定します。

調査の追加の質問に他の個別の計測値を格納できます。 距離計から返される JSON オブジェクトからプロパティを取得するには、「計測値を記録するための調査の準備」の説明に従って pulldata 関数を使用します。