ジオポイントの質問により、調査で特定の位置を取得できます。 ジオポイントの質問が含まれていない場合でも、Survey123 の調査の回答は常にデバイスの位置を取得しようとしますが、フォーム上に明白なジオポイントの質問を含めることで、位置情報をさらに詳細に取得できます。
ジオポイントを使用する場合、以下を検討してください。
- 調査には、ジオポイント、ジオトレース、ジオシェープの質問を複数追加できますが、調査レコードのジオメトリとして使用できるのはそのうちの 1 つだけです。 1 つ以外のすべての質問の [bind::esri:fieldType] が null に設定されている場合は、複数のマップの質問を使用できます。
- また、調査の個々の繰り返しにも 2 つ以上のジオポイント、ジオトレース、ジオシェープの質問が含まれることがありますが、繰り返しレコードのジオメトリとして使用できるのは、そのうちの 1 つだけです。 前述と同じ方法で、複数のマップの質問を使用できます。
- デフォルトでは、Survey123 は WGS84 緯度経度値を度/分/秒形式で表示します。 調査でこの表示を変更するには、[マップ] タブを選択し、[座標形式] で別の値を選択します。
- デフォルトでは、ジオポイントの質問はオンライン ベースマップを使用します。 オフラインで調査を使用する場合には、「オフライン ベースマップの使用」をご参照ください。
- 繰り返し内の最初のジオポイントの質問のポイント位置は調査のどのマップにも表示できます。 詳細については、「マップのポイント オーバーレイ」をご参照ください。
- ジオポイント、ジオトレース、ジオシェープの質問が調査に含まれない場合、調査の主なフィーチャ レイヤーのジオメトリ タイプは esriGeometryPoint になります。 調査を開いた時点でデバイスから取得できる位置の情報が、ポイントの場所に入力されます。 この振舞いは、マップの質問を含む繰り返しが調査に含まれているが、繰り返しを除くマップの質問は含まれていない場合にも適用されます。
- ジオポイントの質問の [appearance] 列を press-to-locate に設定することで、Survey123 は、ユーザーが質問と対話するときのみポイントを取得します。
- マップを使用して回答を取得する場合、Web アプリでは Survey123 フィールド アプリの一部の機能がサポートされません。 Survey123 フィールド アプリでは以下の機能がサポートされていますが、Web アプリではサポートされていません。
- オフライン ベースマップ。
- ジオポイントの質問の位置の平均化。
- ジオポイント シンボル。
- 位置の精度の閾値と位置の品質の式。
- すべての pulldata("@geopoint") のプロパティ。 Web アプリは、x、y、z、horizontalAccuracy、verticalAccuracy、speed、direction プロパティのみサポートします。
位置の精度の閾値
デフォルトでは、Survey123 は収集した位置の値の精度をチェックしません。 位置の精度が調査結果にとって重要な場合、位置の平均化によって精度の閾値を定義できます。 このためには、ジオポイントの質問の [body::accuracyThreshold] 列に数値を入力します。 この値が精度の閾値になり、位置を平均化した場合、この値を超える値は取得されません。
平均化しない場合、位置の精度が定義された閾値より大きいと、Survey123 フィールド アプリのマップ パネルに警告が表示されますが、位置の取得が妨げられるわけではありません。 閾値を満たす位置を取得するには、警告が表示されなくなるまで待って、位置のボタンを選択します。 精度の閾値を満たさない位置は平均化の際に自動的に無視されます。
位置の品質の式
位置の精度の閾値は、特定の位置の水平精度の最小値である 1 つの数字です。 ユーザーにその位置がより複雑な他の品質要件を満たさないことを警告するか、またはユーザーがその位置を送信することを制限するには、式を使用できます。 これらの式を入力できる次のような列 (およびそれらに関連付けられたメッセージ列) があります。
- [constraint] 列と [constraint_message] 列を使用すると、位置品質の式を満たしていない場合に、ユーザーがジオポイントの質問で位置情報を取得できないようにすることができます。
- [bind::esri:warning] 列と [bind::esri:warning_message] 列を使用すると、位置品質の式を満たしていない場合にユーザーに警告を表示できます。 位置品質の式を満たしていない場合は、ジオポイントの質問の上部で座標値を含むバーが黄色に変わります。 この場合、ユーザーはそれでも位置を取得できます。
これらの列のどちらでも、調査の任意の質問を使用して式を作成できますが、通常は調査位置に関連する質問またはパラメーターが使用されます。
使用できる位置パラメーターについては、以下の「ジオポイント値の抽出」セクションをご参照ください。
たとえば、次の式を使用して、ユーザーが位置を取得する前にほぼ静止していること、および水平精度が 5 メートルより高いことを保証できます。
pulldata("@geopoint", ., "horizontalAccuracy") < 5 and pulldata("@geopoint", ., "speed") < 0.1
ヒント:
ユーザーに静止した状態でポイントを取得してもらいたいかもしれませんが、デバイスがゼロの速度値を報告するのはまれです。 そのため、上記の例では 0.1 未満の速度を検索し、許容可能な誤差を導入しています。
この式によって表される条件で位置を取得する必要がある場合は、[constraint] 列にこの式を入力します。 これが推奨事項にすぎない場合は、[bind::esri:warning] 列にこの式を入力すると、付随する警告メッセージがユーザーに表示されます。 ユーザーはそれでもジオポイントの質問で位置を取得できます。
これらの列の式が false と評価された場合、[constraint] および [bind::esri:warning] のメッセージが表示されます。
非常に大きいまたは複雑な式では、これらの pulldata("@geopoint") 関数を個別の質問に分割してから、式でこれらの質問名を参照することをお勧めします。 たとえば、上記の例と同じ関数を実行するには、hAccuracy という名前の質問で次の計算を使用できます。
pulldata("@geopoint", ${location}, "horizontalAccuracy")
次に、currentSpeed という名前の質問で次の計算を使用できます。
pulldata("@geopoint", ${location}, "speed")
次の計算をジオポイントの質問の制限または警告の式として使用できます。
(${hAaccuracy} < 5) and (${currentSpeed} < 0.1)
95% 信頼区間の報告
組織では、収集したデータを特定の信頼区間 (CI) で報告する必要がある場合があります。 デフォルトでは、返される精度タイプが二乗平均平方根 (RMS) である場合、CI は 68% です。 調査で 95% の CI を報告するには、水平精度を 1.7308、鉛直精度を 1.9600 で乗算します。 これらの変換係数の詳細については、「National Standard for Spatial Data Accuracy」をご参照ください。
高精度な精度の例
この例では、一連の変数の絶対最小値を満たす必要はありますが、ユーザーの裁量で変数の厳密性を落として位置情報を収集することができます。 これは、安全や危険に関する問題のためにユーザーがその位置に長く留まれず、推奨される要件を満たせない場合が考えられます。 この場合、警告が表示され、ユーザーは位置情報を取得するか、もう少し待機するかを決定できます。
調査の作成者によって、次のような絶対最小精度の要件が設定されています。
- 95% CI の水平精度は 2 メートル未満です。
- 95% CI の鉛直精度は 2 メートル未満です。
- 位置精度低下率 (PDOP) は 6.0 以下です。
- 5 つ以上の衛星が使用されます。
調査の作成者によって、次のような推奨される精度の要件が設定されています。
- 95% CI の水平精度は 1 メートル未満です。
- 95% CI の鉛直精度は 1 メートル未満です。
- PDOP は 2.0 以下です。
- 7 つ以上の衛星が使用されます。
haccuracy68cep という名前の質問で次の計算が使用されます。
pulldata("@geopoint", ${location}, "horizontalAccuracy")
そのあと、haccuracy95ci という名前の質問で次の計算が使用されます。
${haccuracy68cep} * 1.7308
鉛直精度に行われたのと同様の計算を使用して、絶対最小精度を表す次の式が [constraint] 列に入力されます。
${accuracyType} = 0 and ${haccuracy95ci} < 2 and ${vaccuracy95ci} < 2 and ${pdop} <= 6 and ${satellitesInUse} >= 5
推奨される精度を表す次の式が [bind::esri:warning] 列に入力されます。 通常、ここで使用される値は、絶対最小精度に使用される値より小さくなります。 小さな値を推奨しますが、大きな最小値も使用できます。
${accuracyType} = 0 and ${haccuracy95ci} < 1 and ${vaccuracy95ci} < 1 and ${pdop} <= 2 and ${satellitesInUse} >= 7
3D フィーチャ レイヤー
デフォルトでは、Survey123 のジオポイントの質問は Z 軸 (高度) の値をサポートしません。2D フィーチャ レイヤーの緯度と経度のみを取得します。 これは、質問の [bind::esri:fieldType] フィールドに「esriFieldTypePointZ」と入力することで変更できます。これによって、フィーチャ レイヤーに高度の値を取り込むことができます。 これにより、ジオポイントの値の指定時に高度のフィールドも変更可能になります。
デフォルト
[default] 列にスペースで区切られた緯度と経度の値のセット (度 (10 進) 単位) を入力することで、ジオポイントの質問にデフォルトの位置を設定できます。 たとえば、-37.814552 144.966071 では、ジオポイントの質問のデフォルトがオーストラリアのメルボルン内の場所になります。
ヒント:
場所のデフォルトが南半球にある場合、Microsoft Excel でエラーが発生します。これは、値がマイナス記号 (-) で始まっているので、値が式として読み取られるためです。 このような場合は、最初の値の前にアポストロフィを入力すると、Excel でこれが意図したとおりに読み取られます。 アポストロフィを追加しても、Survey123 での動作には何の変更もありません。
デフォルトが指定されていない場合、ジオポイントの質問がデバイスの現在の位置に自動的に更新されます。 これを回避するには、デフォルト値を null に設定します。 その場合、ジオポイントの質問では、位置の取得、位置を手動で設定するためのマップ ページの読み込み、計算の更新 (ジオポイントに計算が適用される場合) を行うためのオプションが表示されます。
関連しない状態から関連する状態に切り替えられるジオポイントの質問は、デバイスの位置を自動的に更新しません。 デフォルト値を「位置」として設定すると、質問に関連性がある場合に、デバイスによって特定される現在位置が自動的に取得されます。
[受信トレイ]、[下書き]、[送信トレイ] から開始した調査に含まれるジオポイントの質問は、デバイスの現在の位置に自動的に更新されません。 デフォルト値を「位置」として設定すると、調査がフォルダーから開かれたときに、デバイスによって特定される現在位置が自動的に取得されます。
計算
他の質問の結果を使用して、ジオポイントの質問を設定することができます。 ジオポイントの質問の回答は、緯度と経度 (10 進角度) の値と、高度と精度 (メートル) で始まるオプションの値からなる、スペース区切りのリストの形式です。 ジオポイントの質問の回答を設定するには、この構造を厳守して、有効な回答を作成する必要があります。
select_one の質問から設定する場合にはこれを直接実行することができないので、substr() 関数を使用して、有効な回答を構築できるようにします。 たとえば、ジオポイントの名前は次のようになります。
+059.38330_+018.00000
この値では、緯度と経度の両方に固定の文字数を使用し、通常は切詰められるゼロが含まれ、2 つの値の間がアンダースコアで区切られます。[name] ではスペースの使用が許可されないからです。 これにより、substr() 関数で分解できる値が作成され、次の例のようなジオポイントの質問を設定できるようになります。
concat(substr(${LocationValue}, 0, 10), " ", substr(${LocationValue}, -10))
この例では、値の最初の 10 文字 (緯度) と最後の 10 文字 (経度の値) を使用して、スペース区切りで有効なジオポイントの結果を作成します。
添付された pulldata() ファイルを使用して、csv 関数によってジオポイントの質問を設定することもできます。 はじめに、.csv ファイルを調査のメディア フォルダーに追加します。 その後、[calculation] 列に次のような内容を追加します。
pulldata('Intersections', 'Lat', 'IntersectionID', ${intersection}) + " " + pulldata('Intersections', 'Long', 'IntersectionID', ${intersection})
substr() の例のように、これは位置の緯度と経度の値をスペースで結合し、以前の質問に基づいて、ジオポイントの質問に対する有効な回答を作成しています。
この両方の計算の例については、Survey123 Connect に含まれるサンプルをご参照ください。
必須と読み取り専用
ジオポイントの質問は、デバイスが使用可能な場合は、デバイスが提供する位置情報を調査に自動的に入力します。 デバイスが調査の回答で有効な位置を提供しない場合、Survey123 は 0,0 という位置を返します。これはアフリカ西海岸の範囲に該当します。 ジオポイントの質問を [必須] としてマークすると、この NULL 値を含む調査結果は送信できなくなり、デバイスが位置情報を提供した場合か、手動で位置を入力した場合のみ調査の送信が許可されます。
ジオポイントの質問を [読み取り専用] としてマークすると、手動で回答を入力できなくなります。 この機能は、自動的な回答が必要で、手動の回答だとデータ設定で問題が発生する可能性がある質問に対して役立ちます。 前述の計算のいずれかと併用することをお勧めします。ユーザーは変更不可な個別のジオポイント値を提供できるからです。
ジオサーチとジオコード
ジオポイントの質問にジオサーチ機能が含まれるため、ユーザーは対象の住所またはポイントを検索し、マップをその位置にズームして、その位置にジオポイント マーカーを配置できます。
デフォルトでは、ジオサーチ機能は、ArcGIS Geocoding service を使用して住所を検索し、世界全体から結果を返します。
デフォルトでは、ジオサーチは、ArcGIS Geocoding service を使用して住所を検索し、世界全体から結果を返します。 サイン インしたユーザーは、組織のすべての構成済みジオコーディング サービスも表示できます。
結果を返すために特定のロケーターを設定するには、[bind::esri:parameters] 列にロケーターのアイテム ID を指定します (例: geocode=36ff9e8c13e042a58cfce4ad87f55d19)。 ArcGIS Online の調査で使用されるロケーターは ArcGIS Online のアイテムである必要があります。 ArcGIS Enterprise の調査で使用されるロケーターは調査と同じポータルのアイテムである必要があります。
[geocode] 表示設定を持つテキストの質問を追加することで、質問でジオコードのみを実行するよう設定することもできます。 詳細については、「ジオコードの表示設定」をご参照ください。
リバース ジオコーディング
フィールド アプリでジオポイントの全体ビューが開いているときにマップまたは座標を長押しすることで、リバース ジオコーディングを実行できます。ただし、これは調査に保存されることも送信されることもありません。 リバース ジオコーディングされた値は、pulldata("@geopoint", ${location}, "reversegeocode") (位置を JSON オブジェクトとして返す) を使用してジオポイントから取得できます。 オブジェクトの個々のプロパティは、プロパティの名前を指定することで抽出できます。ただし、これらのプロパティは、使用するロケーターによって異なります。 ArcGIS Geocoding service の場合、次のような JSON オブジェクトが返されます。
{
"address": {
"Match_addr": "207-361 Flinders St, Melbourne, Victoria, 3000",
"LongLabel": "207-361 Flinders St, Melbourne, Victoria, 3000, AUS",
"ShortLabel": "207-361 Flinders St",
"Addr_type": "StreetAddress",
"Type": "",
"PlaceName": "",
"AddNum": "283",
"Address": "283 Flinders St",
"Block": "",
"Sector": "",
"Neighborhood": "Melbourne",
"District": "Melbourne",
"City": "Melbourne",
"MetroArea": "",
"Subregion": "",
"Region": "Victoria",
"RegionAbbr": "VIC",
"Territory": "",
"Postal": "3000",
"PostalExt": "",
"CntryName": "Australia",
"CountryCode": "AUS"
},
"location": {
"x": 144.96721048751365,
"y": -37.81768543612741,
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
}
}
}
JSON オブジェクトから特定の値を抽出するには、次のような pulldata("@geopoint") 関数を使用します。これは、Match_addr プロパティを抽出します。
pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr")
リバース ジオコーディングの際は、組織のデフォルトのジオコード サービスが使用されます。 別のジオコード サービスを使用するには、pulldata("@geopoint", ${location}, "reversegeocode", ${locatorURL}) という形式でロケーターの URL をオプション パラメーターとして関数に入力します。 サービスがセキュリティで保護されている場合、または調査が一般ユーザーを対象にしている場合は、アクセス認証情報が保存されたプロキシ アイテムを構成する必要があります。
ロケーターの URL が入力されている場合、その URL に渡される追加のパラメーターを入力できます。 JSON オブジェクトで提供されるプロパティと同様に、これらのパラメーターは、使用されるジオコード サービスによって異なります。 次の例では、featureTypes パラメーターを使用しています。このパラメーターは、返される値を特定のタイプの位置に制限し、一番近い目標物またはランドマークだけを返します。
pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr", "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer", "featureTypes=POI")
ヒント:
ArcGIS Enterprise デプロイメントのデフォルト ジオコード サービスが ArcGIS Geocoding service の場合や、上記の手順のように ArcGIS Geocoding service がエンタープライズ調査でロケーター URL パラメーターとして使用される場合、リバース ジオコーディングを実行するとトークン エラーが発生する場合があります。 これを回避するには、ジオコーディングの実行権限を持つユーザーに対して、ArcGIS Online へのアクセス認証情報を内部に保存したプロキシ アイテムを作成します。 このアイテムをポータルのデフォルト ジオコード サービス、またはリバース ジオコーディング関数内のロケーター URL パラメーターの指定先として設定します。
リバース ジオコーディングの URL パラメーターの詳細 (URL に渡すことができるパラメーターの完全なリストを含む) については、ArcGIS REST API ドキュメントの「reverseGeocode」をご参照ください。
パフォーマンスにもクレジットにも影響を及ぼさずに、複数のリバース ジオコーディング計算を含めることができます。 たとえば、次の 3 つの個々のプロパティの呼び出しをすべて含めることができます。
pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr")
pulldata("@geopoint", ${location}, "reversegeocode.address.LongLabel")
pulldata("@geopoint", ${location}, "reversegeocode.address.ShortLabel")
最初の計算でリバース ジオコーディングが実行され、クレジットが消費されます。 その後、レスポンスがキャッシュされ、残り 2 つの計算に使用されます。 ジオサービスへの新しい呼び出しは、位置の変更、異なるリクエスト パラメーターの使用、元のアクセス トークンの期限切れによって、リバース ジオコーディングのリクエスト URL が変更された場合にのみ必要となります。
プロキシ ロケーター アイテムの構成
プロキシ ロケーター アイテムを構成するには、次の手順に従います。
- ジオコーディング権限を持つアカウントで ArcGIS 組織にサイン インします。
- [コンテンツ] ページで、[アイテムの追加] > [URL から] (ArcGIS Online の場合) または [アイテムの追加] > [Web 上] (ArcGIS Enterprise の場合) の順に参照して、選択されたタイプが [ArcGIS Sever Web サービス] であることを確認します。
- 対象のロケーターの URL を使用します。たとえば、ArcGIS Geocoding service の場合は https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer です。
これは、セキュリティで保護されたサービスとして検出されます。
- ジオコーディング権限を持つ ArcGIS アカウントのユーザー名とパスワードを追加します。
- [サービスのアイテムと一緒に認証情報を保存します。 認証のプロンプトは表示されません。] を選択します。
- タイトルとタグを入力します。
- [アイテムの追加] をクリックします。
- このオンライン ロケーターをパブリックに共有します。
詳細については、「ArcGIS Online における独自のロケーターの構成要件」または「ArcGIS Enterprise におけるポータルを使用したユーティリティ サービスの構成」をご参照ください。
ジオポイント値の抽出
ジオポイントの回答を分解するには、pulldata("@geopoint") 関数を使用して値を抽出し、他の質問の値を設定することができます。 次の例では、ジオポイントの質問から水平精度を抽出しています。
pulldata("@geopoint", ${location}, "horizontalAccuracy")
ジオポイントのプロパティの利用可能性はハードウェアに依存します。 次の表に、ジオポイントから抽出できるプロパティを示します。
プロパティ名 | 説明 | 単位 |
---|---|---|
x | 経度: 東半球の場合は正の値で、西半球の場合は負の値。 | 度 (10 進) |
y | 緯度: 北半球の場合は正の値で、南半球の場合は負の値。 | 度 (10 進) |
z | 高度。海面からのメートル数 (デフォルト) または楕円体高 (フィールド アプリの設定で選択した場合)。 | メートル |
horizontalAccuracy | x 座標および y 座標の水平精度。 | メートル |
verticalAccuracy | z 座標の垂直精度。 | メートル |
speed | 対地速度。 | メートル/秒 |
verticalSpeed | 鉛直速度。 | メートル/秒 |
direction | 北から時計回りに計測される移動方向。 | 度 (10 進) |
positionSourceType | 位置の取得元のカテゴリ。 可能な結果は、Unknown (0)、User (1)、System Location (2)、External Device (3)、Network Device (4)、File (5) です。 | N/A |
positionSourceInfo.antennaHeight | デバイスのアンテナの高さ。 アンテナから地表までの距離が高度値から引かれます。 | メートル |
positionSourceInfo.altitudeType | 選択された高度タイプ。 可能性がある結果は、平均海水面より上の高度 (0) および楕円体高 (1) です。 これは、すべての位置プロバイダー タイプに対して使用できます。 | N/A |
次の表に、高精度な受信機で取得したジオポイントから抽出できる追加プロパティを示します。
プロパティ名 | 説明 | 単位 |
---|---|---|
magneticVariation | 磁北と真北の間の角度。 | 度 (10 進) |
fixType | 座標の位置補正のタイプ。 可能な結果は、NoFix (0)、GPS (1)、DifferentialGPS (2)、PrecisePositioningService (3)、RTKFixed (4)、RTKFloat (5)、Estimated (6)、Manual (7)、Simulator (8)、SBAS (9) です。 | N/A |
positionSourceInfo | デバイス情報 (JSON オブジェクトとして)。 これはデバッグや検証に役立ちます。 完全なエレメント名を使用して、個別のエレメントを返すこともできます。 利用可能なすべてのエレメントについては、以下の表の各行をご参照ください。 | N/A |
positionSourceInfo.pluginName | 内部の位置ソースの名前。 これは、デバイスの内蔵の位置プロバイダーに対してのみ使用できます。 | N/A |
positionSourceInfo.deviceAddress | デバイスのアドレス。 これは、GNSS 外部受信機に対してのみ使用できます。 | N/A |
positionSourceInfo.deviceName | デバイスの名前。 これは、GNSS 外部受信機に対してのみ使用できます。 | N/A |
positionSourceInfo.deviceType | 外部デバイスのタイプ。 可能な結果は、Unknown (-1)、Bluetooth (0)、Serial Port (1)、Bluetooth LE (2) です。 これは、GNSS 外部受信機に対してのみ使用できます。 | N/A |
positionSourceInfo.networkName | ネットワークの位置の取得元の名前。 これは、ネットワーク位置プロバイダーに対してのみ使用できます。 | N/A |
positionSourceInfo.networkAddress | ネットワークの位置の取得元のアドレス。 これは、ネットワーク位置プロバイダーに対してのみ使用できます。 | N/A |
positionSourceInfo.networkPort | ネットワークの位置の取得元のポート。 これは、ネットワーク位置プロバイダーに対してのみ使用できます。 | N/A |
positionSourceInfo.geoidSeparationCustom | ユーザーがアプリ設定で定義した WGS-84 の地球楕円体と平均海面の差です。 | メートル |
geoidSeparation | GNSS 受信機が報告した WGS-84 の地球楕円体と平均海面の差。 これは、楕円体の高さと呼ばれます。 | メートル |
accuracyType | horizontalAccuracy と verticalAccuracy プロパティで報告される精度のタイプ。 可能な結果は RMS (0) および DOP (1) です。 RMS は二乗平均平方根の精度です。 これは、受信機から提供される GST センテンスで報告された緯度、経度、高度のエラーの 68% 信頼区間に基づいて計算されます。 受信機が GST をサポートしていない場合は、代わりに DOP が使用されます。 DOP は精度低下率に基づく精度です。 これは、水平精度と鉛直精度の推定に、一定のユーザー推定範囲誤差 (UERE) を使用します。 | N/A |
positionAccuracy | MRSE (Mean Radial Spherical Error)。 これには水平誤差と垂直誤差の両方が含まれます。 | メートル |
latitudeError | 緯度の 1 シグマ誤差の値。 このプロパティは、測位デバイスが NMEA ストリームの GST センテンスをサポートしている場合のみ指定されます。 | メートル |
longitudeError | 経度の 1 シグマ誤差の値。 このプロパティは、測位デバイスが NMEA ストリームの GST センテンスをサポートしている場合のみ指定されます。 | メートル |
altitudeError | 高度の 1 シグマ誤差の値。 このプロパティは、測位デバイスが NMEA ストリームの GST センテンスをサポートしている場合のみ指定されます。 | メートル |
hdop | 位置データの水平精度低下率 (HDOP)。 | N/A |
vdop | 位置データの鉛直精度低下率 (VDOP)。 | N/A |
pdop | 位置データの水平精度低下率 (PDOP)。 PDOP を求める方程式は、PDOP^2 = HDOP^2 + VDOP^2 です。 | N/A |
differentialAge | 位置を差分補正するために GPS 受信機が使用する差分信号および補正の時間です。 | 秒 |
referenceStationId | GPS 受信機が使用する基準局の DSID (Differential Reference Station ID)。 | N/A |
satellitesVisible | 位置の取得時に確認できる測位衛星の数。 | N/A |
satellitesInUse | 位置データを返すために使用中の測位衛星の数。 | N/A |
座標形式
pulldata("@geopoint") 関数を使用して、ジオポイント値を抽出し、それらを追加の座標形式に書式設定することもできます。
- pulldata("@geopoint", ${location}, "DMS") では、ジオポイントが度、分、秒として返されます。 これは、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" }
- pulldata("@geopoint", ${location}, "DDM") はジオポイントを度、および分 (10 進) として返し、pulldata("@geopoint", ${location}, "DD") はジオポイントを度 (10 進) として返します。 これらも JSON オブジェクトとして返され、上記の度、分、秒形式と同様に追加のパラメーターで個々の値を抽出できます。
オプションの精度パラメーターである、10 の累乗の 10 進値 (0.01、0.1、1、10、100 など) とともに以下の座標系式を使用できます。
- pulldata("@geopoint", ${location}, "MGRS") では、ジオポイントが 1 メートルの精度の MGRS (Military Grid Reference System) グリッド値として返されます。 オプションの精度パラメーターを指定することで、精度を変更できます。 たとえば、pulldata("@geopoint", ${location}, "MGRS", 100) では、100 メートルの精度のグリッド値が返されます。
- pulldata("@geopoint", ${location}, "USNG") では、ジオポイントが 1 メートルの精度の USNG (United States National Grid) グリッド値として返されます。
- pulldata("@geopoint", ${location}, "UTM") では、1 メートルの精度で UTM (ユニバーサル横メルカトル) 座標としてジオポイントが返されます。 これは、JSON オブジェクトとして返されます。
{ "band": "S", "easting": 452994, "northing": 4423429, "text": "50S 452994E 4423429N", "type": "UTM", "zone": 50 }
ジオポイント シンボル
ジオポイントの質問では、調査の [body::esri:style] 列で symbol パラメーターを使用して、マップ上のポイント マーカーにカスタム シンボルを表示することができます。 パラメーターはカスタム シンボルのファイル名を提供する必要があり、このファイルは、調査のメディア フォルダー内の .png ファイルである必要があります。 以下の例をご参照ください。
symbol=hydrant.png
symbol パラメーターは、オプション パラメーターを受け取って、マップ上のシンボルの表示を構成します。 これらのパラメーターとファイル名は疑問符を使用して区切り、パラメーター同士はアンパサンド (&) を使用して区切ります。 たとえば、symbol パラメーターには、次のように x、y、scale プロパティを設定できます。
symbol=hydrant.png?x=0.2&y=0.7&scale=2
- x パラメーターは、シンボルの水平方向のアンカー ポイントを指定します。 このパラメーターは、0 (画像の左端を表す) ~ 1 (右端を表す) の範囲内の値を受け取ります。 定義されなかった場合のデフォルト値は 0.5 です。
- y パラメーターは、シンボルの鉛直方向のアンカー ポイントを指定します。 このパラメーターは、0 (画像の上端を表す) ~ 1 (下端を表す) の範囲内の値を受け取ります。 定義されなかった場合のデフォルト値は 1 です。
- scale パラメーターは、画像が表示される縮尺を指定します。 1 未満の値は画像を縮小し、1 を超える値は画像を拡大します。
指定する値は、定数または質問への参照を使用できます (例: symbol=${symbol_question})。 インライン式はサポートされていません。
マップのポイント オーバーレイ
繰り返し内の最初のジオポイントの質問のポイント位置を調査の任意のマップ質問に表示するには、ジオポイント、ジオトレース、ジオシェープの質問の [body::esri:style] 列を overlay=repeat_name に設定します。 この繰り返し内の最初のジオポイントの質問で取得されたすべてのポイントがマップに表示されます。 他のパラメーターを使用してオーバーレイ シンボルをカスタマイズできます。
オーバーレイ スタイルでサポートされているオプションのパラメーターは以下のとおりです。これらはアンパサンドで区切って複数を同時に使用できます (例: overlay=repeat_name&preview=true)。
パラメーター | 説明 | 例 |
---|---|---|
view | マップの質問にオーバーレイ ポイントを表示します。 デフォルト値は true です。 | view=false |
preview | プレビュー マップにオーバーレイ ポイントを表示します。 デフォルト値は false です。 | preview=true |
icon | マップのピンで使用するポイント シンボルの名前。 利用可能なシンボルについては、Esri Developer ドキュメントの [ポイント シンボル] のライブラリをご参照ください。 | icon=esri_pin_two |
iconColor | マップのピンで使用するアイコンの色。 このパラメーターでは標準の色の名前と 16 進数の色コードを使用できます。 デフォルト値は黒です。 | iconColor=Blue |
iconOutlineColor | マップのピンで使用するアウトラインの色。 このパラメーターでは標準の色の名前と 16 進数の色コードを使用できます。 デフォルト値は白です。 | iconOutlineColor=#FF4500 |
iconSize | マップに表示されるアイコンのサイズ。 デフォルト値は 30 です。 | iconSize=40 |
label | ラベルとして使用する調査の質問名。 | label=question_name |
labelColor | ポイントのラベルの色。 このパラメーターでは標準の色の名前と 16 進数の色コードを使用できます。 デフォルト値は黒です。 | labelColor=#FFD700 |
labelOutlineColor | ラベルのアウトラインの色。 このパラメーターでは標準の色の名前と 16 進数の色コードを使用できます。 デフォルト値は白です。 | labelOutlineColor=Black |
fontSize | ポイントのラベルのフォント サイズ。 デフォルト値は 13 です。 | fontSize=16 |
質問のスタイル
マップの質問ではベースマップ、マップ ツール、質問の高さを構成できます。
[body::esri:style] 列の map パラメーターを使用して、個々のマップの質問に対してデフォルトのベースマップを設定できます。 たとえば、map="World Topography" では、地形図 (World Topography) ベースマップを使用するようマップの質問を設定します。 マップのアイテム ID を使用して map パラメーターを設定することもできます (例: map=de26a3cf4cc9451298ea173c4b324736)。 自身の Web マップを含む、オンラインとオフラインのマップにこのパラメーターは対応しています。 詳細については、「調査にマップを含める」をご参照ください。
[body::esri:style] 列にmapTools パラメーターを使用して、マップの質問で使用できるマップ ツールを制御できます。 マップ ツール パラメーターが設定されていない場合、すべてのツールが表示されます。 次の値を使用できます。
- mapTools=search
- mapTools=mapSwitcher
- mapTools=zoom
- mapTools=home
- mapTools=locate
値をカンマで区切ることで複数のツールを設定できます (例: mapTools=search,locate)。
[body::esri:style] 列はマップの質問の height パラメーターを受け入れます。
質問の高さは、height パラメーターに数字 (任意で単位) を指定することで設定できます。 デフォルトの単位は lines です。これは、現在の入力テキスト フォントの高さを表します。 たとえば height=5 は、質問の高さを 5 行で表示します。
あるいは、単位を画面高さの割合やピクセル数で設定することもできます。その場合は、スペースを入れずに値への接尾辞として追加します。 たとえば、次の値はすべて受け入れられます。
- height=5
- height=5lines
- height=25%
- height=250pixels
スペースで区切ることで高さとマップ ツールを設定できます (例: height=25% mapTools=search,zoom)。