このページでは、Survey123 フィールド アプリを使用して調査を実行するときに発生する既知の問題と、それらを解決するためのヒントを示します。
送信エラー
次のエラーは、完了した調査を送信できなかった場合に表示されます。
調査に戻って、回答を編集してから送信するには、このメッセージ ボックスで [はい] をタップします。 [いいえ] をタップするとエラー メッセージが閉じて、送信箱に戻ります。
よくある送信エラーを次の表に示します。
エラー番号 | エラーの説明 | 診断 |
---|---|---|
なし | フィーチャ サービスが要件を満たしていません。supportsApplyEditsWithGlobalIDs は true である必要があります。 | フィーチャ レイヤーの supportsApplyEditsWithGlobalIds プロパティが true に設定されていません。 このブログ記事の手順を使用して、supportsApplyEditsWithGlobalIds を有効化します。 |
400 | 無効な URL | フォームの読み込み時に指定したフィーチャ レイヤーが、存在しなくなりました。これはフォームに対するスキーマ定義の変更によるものです。 これに対する唯一の解決策は、回復手法を使用してデータを手動で移行することです。 |
498 | 無効なトークン | フィールド アプリが ArcGIS に渡そうとしているトークンが拒否されました。 多くの場合、アプリが渡そうとしているトークンが期限切れであることが原因です。 この場合は、アクションを繰り返すとエラーは再発しません。 |
1000 | String or binary data would be truncated | フィーチャ レイヤーのフィールドに対して、質問の結果が長すぎます。 文字数制限に合うように回答を編集してください。 |
1000 | Invalid column name 'Shape__Extents' | 送信されているポイントは、フィーチャ レイヤーの範囲全体から外れています。 この問題が繰り返し発生し、送信しようとしている場所は正しい場合、フィーチャ サービスをさらに広い範囲に再公開する必要があります。 ただし、これを行うと、フィーチャ レイヤーにすでに保存されている情報が失われることに注意してください。 |
1003 | Survey123 Operation rolled back | 調査の [hidden] または [calculate] 質問に誤ったデータ タイプが含まれている場合に発生します。 計算のデータ タイプは、計算の各エレメントのデータ タイプに依存します。 [hidden] と [calculate] の質問の XLSForm のデフォルトのバインド タイプは string です。 このデフォルトを上書きするには、質問に対して必要なタイプを bind::type 列に入力します (たとえば、int や decimal など)。 |
1019 | The specified feature could not be updated | このエラーは、繰り返しを含む調査の編集をサポートしていないバージョンの Survey123 フィールド アプリで、繰り返しを含む編集済みの調査を送信しようとしたときに発生する可能性があります。 繰り返しを含む調査の編集は、バージョン 2.4 以降の Survey123 フィールド アプリでサポートされています。 |
受信トレイのエラー
エラー [このリソースにアクセスする権限、またはこの操作を実行する権限がありません。 コード 403] は、調査作成者以外のユーザーが [受信トレイ] を更新した場合に表示されることがあります。 調査の初回公開前に受信トレイを有効にすると、必須の権限がデフォルトで有効になります。 受信トレイが無効になっている調査を調査作成者が初めて公開し、後から有効にした場合、フィーチャ レイヤーの設定で [削除] か [更新] を有効にして必須権限が更新されるようにする必要があります。
マップのダウンロード時にサポートされない空間参照
このメッセージは、デバイスにベースマップをダウンロードしようとすると、Survey123 フィールド アプリに表示されることがあります。 Survey123 では、ベースマップで Web メルカトル球体補正投影法を使用している必要があります。 これは、Esri の地形図 (World Topography) やその他のベースマップで使用されるものと同じ空間参照です。 Survey123 フィールド アプリは、ユーザーの調査が Web メルカトル球体補正投影法でないか、不正または見つからないオフライン ベースマップと関連付けられていることを検出すると、警告を表示します。 オフライン ベースマップは空間参照についての情報を持っていない場合があります。 こうしたケースでは、空間参照が「なし」であることを示す警告メッセージが表示されます。 ただし、実際のベースマップが Web メルカトル球体補正投影法で構築されている場合は、空間参照が不明な (「なし」と表示される) オフライン ベースマップでも Survey123 で正しく機能する場合があります。
自動保存
調査の記入中にデバイスまたはアプリが強制終了した場合、調査の回答を回復することができます。 ユーザーが新しい質問をアクティブにするなど、調査のフォーカスが変更されると、過去に記入したすべての質問の内容が autosave.json ファイルに書き込まれます。 このファイルは、調査の入力中は調査フォルダーに存在し、調査がデータベースに正常に書き込まれずにアプリが異常終了した場合に使用されます。
Survey123 フィールド アプリは、起動時に自動保存ファイルの存在を確認します。 ファイルが見つかった場合、調査の回答が回復されたことが通知され、調査名とインスタンス名が表示されます。
[調査の破棄] をタップすると、autosave.json ファイルが削除され、回復されたデータが失われます。 [調査の続行] を選択すると調査が開き、回復されたデータが設定されます。 調査が正常に完了した場合やドラフトとして保存された場合、autosave.json ファイルは自動的に削除されます。
注意:
回復された調査には、強制終了時に記入中だった質問を除いて、過去に記入したすべての質問が含まれます。 これは、質問の保存がフォーカスの変更によって実行されるためです。
新しい質問を開始するたびに調査を自動保存したくない場合は、[bind::saveIncomplete] 列を使用して、保存のマイルストーンを調査に追加できます。 保存をトリガーする各質問の値を true に設定します。 [bind::saveIncomplete] 列は、以下の質問タイプに適用できます。
- テキスト
- Integer
- 時間
- Date
- Date-time
- 複数の選択肢
- 単一の選択肢
診断ロギングの有効化
このトピックで示されていないエラー メッセージが表示されたり、その他の予期しない動作が発生した場合、Survey123 フィールド アプリのログ情報を記録し、他者 (Esri テクニカル サポートなど) と共有してトラブルシューティングすることが有用だと考えられます。
ロギングを有効にするには、アプリのホーム ページでメニューを開き、[設定] をタップし、[診断] タブをタップします。
メッセージをファイルに取得するには、[ログ] 切り替えボタンをタップしてログ機能を有効にします。 [ログの出力場所] オプションにはデフォルトのログ ファイルの場所が自動的に設定されます。 このファイル パスは編集可能です。 syslog 対応のコンソールにオンラインでメッセージを取得するには、[ログの出力場所] テキスト ボックスに (ログ ファイルの場所ではなく) この URL を入力します。
ログ ファイルを共有したり、電子メールで送信したりできます。 アプリから電子メールでログを送信するよう選択した場合、アプリのバージョン番号、オペレーティング システム名、システム ロケールが電子メールの本文に記載され、ログは添付ファイルとして含まれます。
注意:
リアルタイムのロギングの場合、[診断] タブには、ネットワーク上で開いている AppStudio コンソールのインスタンスが表示されます。 実行中の AppStudio コンソールが検出されるまで、検索中であることを示す円形シンボルが [診断] タブに表示されます。 最初に AppStudio コンソールを選択して、次に [ログ] 切り替えボタンをタップしてログ情報を有効にすると、そのコンソールにログ情報が表示されます。 詳細については、ArcGIS AppStudio ヘルプの「コンソール出力の取得」をご参照ください。
デスクトップ フィールド アプリを使用してデータを復旧する
ワイヤレス インターネット接続が可能でなかったり、モバイルまたはサーバー データベースに予期しない事態が発生した場合、モバイル デバイスから調査を送信できないことがあります。
調査データはモバイル データベースに .sqlite データベースとして保存されます。 このデータベースをコピーおよび編集することで、データ復旧を支援できます。
モバイル デバイスからのインターネット接続に問題がある場合は、.sqlite データベースをデスクトップにコピーして、Survey123 フィールド アプリのデスクトップ バージョンでそれを開くことで、調査を送信できます。
以下の手順を開始する前に、結果を復旧しようとしている調査を、Survey123 フィールド アプリのデスクトップ バージョンにダウンロードしてください。
- .sqlite ファイルをデバイスからコピーします。
注意:
iOS デバイスを使用している場合は、iOS ファイル ブラウザー アプリを使用する必要があります。macOS バージョン 10.15 Catalina 以降では、ファイル ブラウザーとして Finder を使用できます。 以前のバージョンの macOS や Windows では、iTunes や別のファイル ブラウザー アプリを使用できます。 ファイルは Survey123/ArcGIS/My Surveys/Databases に自動保存されます。
Android デバイスを使用している場合、ファイルはアプリ固有の格納場所 (Android/data/com.esri.survey123/files/ArcGIS/My Surveys/Databases) に自動的に保存されます。 Survey123 バージョン 3.12 より前のファイルは、内部ストレージの場所 (ArcGIS/My Surveys/Databases) に保存されています。
- この .sqlite ファイルを、デスクトップ上の相当する Survey123 フォルダー (Windows であれば C:\Users\<username>\ArcGIS\My Surveys\Databases など) に貼り付けます。
注意:
デスクトップ上でデータを収集済みであれば、ここにはすでにデータベースが存在します。 この場合は、これをサブフォルダーに保存するか、データベース フォルダーの名前を変更して、コピーされたファイル用のフォルダーを作成することができます。 送信の必要がある完了した調査がない場合、デスクトップ上の既存のデータベースは安全に削除できます。
- また、調査に画像、オーディオ、またはファイルの質問がある場合、[My Survey Attachments] フォルダーをデバイスからデスクトップにコピーします。
- Survey123 フィールド アプリを起動して、[設定] > [高度な設定] の順に移動して、[データベースの修正] ボタンをタップします。
- 調査を参照して、調査を送信する準備ができていることを確認します。
- 調査を送信します。
デスクトップ フィールド アプリを使用してデータを復旧し、データベースを手動で編集する
データベースの修正ツールでデータが復旧できなかったり、データベースに他の問題があることもあります。 こうした場合は、.sqlite データベースに保存されているパスを手動で修正することもできます。
.sqlite データベースを手動で修正する手順は次のとおりです。
- .sqlite ファイルをデバイスからコピーします。 このファイルは ArcGIS/My Surveys/Databases にあります。
- この .sqlite ファイルを、デスクトップ上の相当する Survey123 フォルダー (Windows であれば C:\Users\<username>\ArcGIS\My Surveys\Databases など) に貼り付けます。
- データベース エディターで .sqlite データベースを開きます。 エディターの例としては、DB Browser for SQLite が挙げられます。
- DB Browser for SQLite を使用する場合は、[Browse Data] タブのパスの列を確認します。 各レコードが 1 つの完了した調査を表しており、それぞれに収集元のデバイスを参照するパスが含まれていることが確認できます。 デスクトップ上で調査を送信するには、デスクトップの調査データ パスと一致するように、このパスを変更する必要がありますます。
- レコードを変更するには、[Execute SQL] タブを開いて、次のように入力します (自分自身のローカル パスの詳細を使用)。
UPDATE Surveys SET path = REPLACE (path,"/sdcard", "C:/Users/Me") where path LIKE "/sdcard%"
- [Browse Data] タブに戻り、パスが変更されたことを確認します。
- SQLite アプリケーションを閉じます。
- Survey123 フィールド アプリを起動して、多くの調査が送信可能な状態にあることを確認します (調査のサムネイルの隅に赤色の数字が表示されます)。
- 調査を送信します。