Użycie aplikacji Survey123 z istniejącymi warstwami obiektowymi

Domyślnie w momencie publikowania ankiety w aplikacji ArcGIS Survey123 Connect na podstawie schematu tej ankiety tworzona jest warstwa obiektowa. Alternatywnie można powiązać ankietę z istniejącą warstwą obiektową.

Przygotowanie warstwy obiektowej

Aby możliwe było użycie warstwy obiektowej z aplikacją Survey123, musi być ona elementem w oprogramowaniu ArcGIS Enterprise lub usłudze ArcGIS Online. Dotyczy to hostowanych warstw obiektowych oraz warstw obiektowych opublikowanych na serwerach sfederowanych i niesfederowanych.

Notatka:

Do pracy z niesfederowanymi usługami obiektowymi wymagana jest dodatkowa konfiguracja: należy w instytucji ArcGIS ręcznie utworzyć element warstwy obiektowej, który reprezentuje usługę. Szczegółowe informacje na ten temat zawiera artykuł w bazie wiedzy o nawiązywaniu połączenia z niesfederowanymi usługami serwera ArcGIS Server.

Właściciel i użytkownicy ankiety muszą mieć dostęp do tej warstwy obiektowej i musi ona być edytowalna. Zwróć też uwagę na następujące kwestie:

  • Jeśli użytkownicy gromadzą nowe ankiety, wymagana jest funkcja Create (utwórz).
  • Jeśli użytkownicy edytują istniejące ankiety, w warstwie wymagana jest funkcja Update (aktualizuj).
  • Jeśli użytkownicy przechwytują obrazy, dźwięki lub pliki, właściwość hasAttachments (ma załączniki) musi mieć wartość true (prawda).

Podczas włączania załączników w warstwie obiektowej domyślnie nie są do schematu dodawane kolumny KEYWORD i EXIFINFO. Ta kolumna jest potrzebna do kojarzenia załączników z prawidłowym rekordem. Po włączeniu załączników uruchom narzędzie geoprzetwarzania Aktualizuj załączniki, aby włączyć słowa kluczowe.

Notatka:
Zalecane jest dodanie kolumn KEYWORD i EXIFINFO przed zebraniem rekordów za pomocą aplikacji Survey123. Dzięki temu przesyłane załączniki będą zawierały słowa kluczowe. Jeśli kolumny KEYWORD i EXIFINFO nie istniały przed przesłaniem załączników, można zaktualizować załączniki za pomocą notatnika Python Aktualizuj słowa kluczowe załączników.

Powtórzenia nie mogą odnosić się do powiązanych warstw i tabel, chyba że w podrzędnej warstwie lub tabeli relacja ta jest definiowana za pomocą pola GUID.

Jeśli zamierzasz edytować swoje ankiety, upewnij się, że warstwa obiektowa dopuszcza wartości null lub ankieta używa wymaganych pól. Aplikacja Survey123 używa wartości null podczas edycji, jeśli odpowiedź została usunięta i nie jest zastąpiona przez inną. Z tego powodu aplikacja Survey123 nie prześle ankiety z warstwy obiektowej, która nie pozwala na używanie wartości null.

Następujące dodatkowe właściwości muszą być ustawione na wartość true (prawda) dla warstwy obiektowej:

  • supportsAttachmentsByUploadId — ta funkcja jest automatycznie włączana, jeśli w warstwie obiektowej są włączone załączniki. Umożliwia ona aplikacji przesyłanie wszystkich załączników powiązanych z ankietą przed przesłaniem ankiety. Jeśli przesłanie któregoś załącznika nie powiedzie się, proces przesyłania całej ankiety zostaje wycofany, co zapobiega utracie danych.
  • supportsApplyEditsWithGlobalIds — warstwa obiektowa musi obsługiwać wprowadzanie zmian z identyfikatorami globalnymi. Umożliwia ona aplikacji tworzenie identyfikatorów globalnych i zarządzanie nimi w tworzonych obiektach (w przeciwieństwie do tworzenia przez serwer nowych identyfikatorów globalnych dla tworzonych obiektów).

Aby warstwa obiektowa mogła obsługiwać wprowadzanie zmian z identyfikatorami globalnymi, muszą być spełnione następujące wymagania:

  • Warstwy w warstwie obiektowej muszą mieć kolumnę GlobalId z unikalnym indeksem. Najlepszym sposobem rozwiązania tego problemu jest włączenie synchronizacji podczas publikowania warstwy obiektowej.
  • Gdy używana jest geobaza dostępna dla wielu użytkowników, w warstwach może być używane wersjonowanie rozgałęzień, ale nie wersjonowanie tradycyjne. W przypadku korzystania z geobazy z wersjonowaniem rozgałęzień aplikacja Survey123 będzie kierować do wersji domyślnej. Więcej informacji można znaleźć w temacie Typy wersjonowania.
  • Identyfikatory globalne muszą istnieć w warstwie obiektowej lub tabeli przed włączeniem obsługi załączników dla każdego z tych elementów.
  • Jeśli warstwa obiektowa zawiera warstwy z włączonymi wartościami M, konieczne jest włączenie edycji bez wartości M.

Więcej informacji dotyczących obsługi edycji w warstwie obiektowej zawiera temat sekcja supportsApplyEditsWithGlobalIds tematu Warstwa obsługi obiektowej w dokumentacji interfejsu ArcGIS REST API.

Notatka:

Aplikacja Survey123 obsługuje tylko relacje „jeden-do-wielu” pola GUID przy zadaniach związanych z istniejącymi już warstwami obiektowymi i tabelami powiązanymi. Relacje „jeden-do-jednego” nie są obsługiwane.

Tworzenie ankiety na podstawie warstwy obiektowej

W aplikacji Survey123 Connect można utworzyć nową ankietę na podstawie istniejącej warstwy obiektowej. Warstwa obiektowa musi być przygotowana do użycia z aplikacją Survey123. Zaloguj się do swojej instytucji ArcGIS i kliknij opcję Nowa ankieta. Wybierz kategorię Usługa obiektowa. Przejdź do warstwy obiektowej i ją wybierz, a następnie kliknij przycisk Utwórz ankietę. Na podstawie warstwy obiektowej jest generowany formularz XLSForm. Następnie można natychmiast opublikować tę ankietę lub dostosować ją. Na przykład można dodać bardziej opisowe etykiety do pytań albo uporządkować je w postaci grup.

Jeśli wybrana warstwa obiektowa ma więcej niż jedną warstwę, ankieta jest generowana na podstawie pierwszej warstwy. Aby ankieta powstała na podstawie innej warstwy należącej do warstwy obiektowej, należy opracować tę ankietę ręcznie i zaktualizować właściwości form_id oraz submission_url na karcie settings (ustawienia) arkusza kalkulacyjnego. Więcej informacji zawiera sekcja Tworzenie ankiety zgodnej z warstwą obiektową.

Jeśli wybrana warstwa obiektowa zawiera załączniki, w ankiecie zostanie utworzone pojedyncze pytanie typu image (obraz) o nazwie <nazwa_warstwy>_image. Ta nazwa nie będzie pasować do słowa kluczowego w tabeli załączników i należy ją zaktualizować. Jeśli istniejące załączniki reprezentują więcej niż jedno pytanie, należy dodać pytania typu image (obraz) do ankiety, aby dopasować każde ze słów kluczowych w tabeli załączników.

Notatka:

Jeśli tworzona ankieta wymaga pytań typu audio (dźwięk) lub file (plik), należy dodać je ręcznie. Po wygenerowaniu ankiety otwórz arkusz kalkulacyjny i dodaj te pytania. Więcej informacji zawiera sekcja Pytania multimedialne. W warstwie obiektowej muszą być także włączone załączniki.

Tworzenie ankiety zgodnej z warstwą obiektową

Możliwe jest ręczne utworzenie nowej ankiety zgodnej z istniejącą warstwą obiektową, ale wymaga to zaktualizowania właściwości form_id i submission_url na karcie settings (ustawienia) arkusza kalkulacyjnego w celu zdefiniowania łącza między ankietą a elementem warstwy obiektowej w portalu lub usłudze ArcGIS Online.

Właściwość form_id jawnie definiuje nazwę warstwy w warstwie obiektowej używanej przez ankietę. Więcej szczegółów na ten temat zawiera artykuł w bazie wiedzy dotyczący sposobu tworzenia ankiety zgodnej z usługą obiektową.

Właściwość submission_url jest adresem URL elementu warstwy obiektowej.

Adres URL zgłoszenia w formularzu aplikacji Survey123
Wskazówka:

Należy podać adres URL elementu warstwy obiektowej, jak pokazano powyżej. Częstym błędem jest użycie adresu URL warstwy obiektowej, który nie jest obsługiwany.

Aby utworzyć ten adres URL, należy połączyć Identyfikator pozycji z Katalogiem głównym zasobów portalu. Przykład w powyższym obrazie przedstawia łącze do elementu usługi ArcGIS Online, łącze do tego samego elementu w portalu wygląda następująco:

https://<host>:<port>/arcgis/sharing/rest/content/items/21a6c530b31a4523bdff7gg94c9c5d9a

Jeśli potrzebna jest ankieta, która nie wymaga wszystkich pól istniejącej warstwy obiektowej, zalecane jest wygenerowanie ankiety z warstwy obiektowej (zgodnie z powyższym opisem) i usunięcie przed jej publikacją zbędnych pytań. W ten sposób właściwości form_id i submission_url są tworzone automatycznie.

Modyfikuj schemat

Po utworzeniu ankiety z istniejącej warstwy obiektowej nowe pytania i wartości list wyboru można dodać do tej ankiety tylko po dodaniu odpowiedniego pola lub domeny do tej warstwy obiektowej. Jeśli ankieta jest tworzona z widoku warstwy obiektowej, nowe pytania i wartości list wyboru można dodać do tej ankiety tylko po dodaniu odpowiedniego pola lub domeny do bazowej warstwy obiektowej i ich przekazaniu do widoku warstwy obiektowej.