Kluczowe komponenty specyfikacji XLSForm

XLSForm to otwarty standard, który upraszcza proces tworzenia formularzy. Tworzenie treści odbywa się w czytelnym formacie przy użyciu arkusza kalkulacyjnego. Informacje o standardzie XLSForm można znaleźć w witrynie https://xlsform.org/. Aplikacja Survey123 obsługuje większość (ale nie wszystkie) funkcji standardu XLSForm.

Istnieje wiele programów służących do tworzenia arkuszy kalkulacyjnych zgodnych ze specyfikacją XLSForm. Program Microsoft Excel jest najczęściej używany, ale dostępne są też inne opcje, takie jak Kingsoft Spreadsheets, Google Sheets lub OpenOffice Calc. Istnieją także internetowe kreatory formularzy XForm umożliwiające eksportowanie arkuszy kalkulacyjnych XLSForm, które mogą być następnie używane w aplikacji ArcGIS Survey123.

Aby ułatwić tworzenie formularzy, aplikacja ArcGIS Survey123 zawiera narzędzie komputerowe Survey123 Connect, które współpracuje z narzędziem do tworzenia formularzy XLSForm podczas tworzenia plików XLS. Aplikacja Survey123 Connect umożliwia wyświetlanie podglądu plików XLSForm podczas ich tworzenia lub edytowania, publikowanie formularzy w usłudze ArcGIS Online i oprogramowaniu ArcGIS Enterprise oraz tworzenie warstw obiektowych na podstawie specyfikacji formularza służącego do zbierania danych. Aplikacja ArcGIS Survey123 Connect jest dostępna dla systemu Windows.

Po opublikowaniu formularzy w systemie ArcGIS można użyć witryny Survey123 do udostępnienia formularzy członkom instytucji ArcGIS. Można także analizować mapy i tabele pod kątem danych zgromadzonych w aplikacji terenowej Survey123, jak również eksportować wyniki ankiety.

Na potrzeby tego tematu przyjmijmy, że do tworzenia formularzy używane są aplikacja ArcGIS Survey123 Connect i program Microsoft Excel.

Każdy skoroszyt programu Excel zawiera zwykle dwa arkusze: survey (ankieta) i choices (możliwości wyboru). Trzeci arkusz o nazwie settings (ustawienia) także został opisany poniżej. Arkusze zawierają zestaw kolumn obowiązkowych, które są wymagane do działania formularza. Dodatkowo każdy arkusz zawiera zestaw kolumn opcjonalnych, które zapewniają dodatkową kontrolę nad zachowaniem każdej pozycji w formularzu. Dla każdej pozycji wszystkie kolumny obowiązkowe muszą zawierać wartości, a kolumny opcjonalne mogą być puste. Kolumny można dodawać do skoroszytu programu Excel w dowolnej kolejności, niezależnie od tego, czy są to kolumny obowiązkowe, czy opcjonalne. Można pominąć opcjonalne kolumny i pozostawić dowolną liczbę pustych wierszy. Wszystkie opcje formatowania pliku .xls są ignorowane, zatem można używać linii podziału, cieniowania i innych opcji formatowania czcionek, które mogą zwiększyć czytelność formularza.

Arkusz ankiety

Arkusz nadaje formularzowi ogólną strukturę. Zawiera on pełną listę pytań i informacje o tym, jak będą one wyglądać w formularzu. Każdy wiersz reprezentuje zwykle jedno pytanie. Poniżej opisano więcej funkcji, które można dodać do formularza, aby ułatwić pracę użytkownikom.

Arkusz ankiety zawiera trzy kolumny obowiązkowe: type (typ), name (nazwa) oraz label (etykieta) albo hint (wskazówka).

  • W kolumnie type (typ) podawany jest typ dodawanego pytania XLSForm. Istnieje dobrze zdefiniowana lista typów pytań, które można umieścić w tej kolumnie.
  • W kolumnie name (nazwa) ustalana jest nazwa pola w warstwie obiektowej, w której będą przechowywane odpowiedzi na dane pytanie. W tej kolumnie nie jest dozwolone używanie spacji i znaków specjalnych. Nazwy muszą być unikalne dla wszystkich pytań w każdej warstwie.
  • Kolumny label (etykieta) i hint (wskazówka) zawierają tekst pytań. Ten tekst będzie widoczny w formularzu. Pytanie musi zawierać co najmniej jedną etykietę lub wskazówkę. Podanie etykiety jest zalecane, gdyż pozwala uniknąć komunikatów ostrzegawczych. W tych kolumnach można używać spacji i znaków specjalnych. Alternatywnie można użyć kolumn, w których przechowywane są tłumaczenia. W etykietach i wskazówkach obsługiwany jest również kod HTML w ograniczonym zakresie, a także zmienne, które zostaną w ankiecie zastąpione odpowiedzią udzieloną na inne pytanie. Więcej informacji można znaleźć w temacie Uwagi.

Informacje ogólne o kolumnach arkusza ankiety można znaleźć w sekcji Kolumny arkusza ankiety.

Arkusz choices (możliwości wyboru)

W tym arkuszu podawane są możliwe do wybrania odpowiedzi na pytania z wieloma możliwościami odpowiedzi. Każdy wiersz reprezentuje jedną z możliwych odpowiedzi. Możliwe do wybrania odpowiedzi o tej samej nazwie listy są uważane za część powiązanego zestawu odpowiedzi i są wyświetlane razem w pytaniu. Dzięki temu zestaw możliwości wyboru może być ponownie wykorzystywany w wielu pytaniach (na przykład pytania tak lub nie).

Arkusz możliwości wyboru zawiera trzy kolumny obowiązkowe: list name (nazwa listy), name (nazwa) i label (etykieta).

  • W kolumnie list name (nazwa listy) można grupować zestaw powiązanych możliwych do wybrania odpowiedzi. Możliwości wyboru o tej samej nazwie listy są prezentowane jako zestaw odpowiedzi na pytanie.
  • W kolumnie name (nazwa) podawana jest wartość, która jest utrwalana w systemie ArcGIS. Wartości w kolumnie nazwy nie mogą zawierać znaków specjalnych. Nie zaleca się używać zduplikowanych nazw wyborów na liście wyboru. Więcej informacji na temat zduplikowanych nazw wyborów zawiera sekcja Pytania z wieloma możliwościami odpowiedzi.
  • Możliwa do wybrania odpowiedź jest wyświetlana w kolumnie label (etykieta) dokładnie w takiej formie, w jakiej będzie wyświetlana w formularzu. Alternatywnie można użyć kolumn, w których przechowywane są tłumaczenia etykiet.

Podczas tworzenia formularzy w programie Excel składnia musi być stosowana dokładnie. Jeśli zamiast wartości choices zostanie użyta wartość Choices lub choice, formularz nie będzie działał.

Arkusz settings (ustawienia)

Arkusz settings (ustawienia) jest opcjonalny, jednak umożliwia on dalsze dostosowanie formularza. Dostępne możliwości dostosowywania obejmują m.in. tytuł, który jest wyświetlany podczas edytowania formularza, nazwę instancji w celu jednoznacznego zidentyfikowania każdego ukończonego formularza oraz unikalny identyfikator wersji ankiety. Więcej informacji można znaleźć w sekcji Ustawienia.

Dodatkowe arkusze

Szablony aplikacji Survey123 obejmują arkusze zawierające właściwości, operatory i funkcje, których można używać w formularzu. Arkusze te są również używane do zapełniania list rozwijanych i innych reguł weryfikacji danych w ankiecie oraz arkuszach ustawień. Aby zapewnić zgodne z oczekiwaniami działanie weryfikacji danych, zaleca się nie zmieniać zawartości dodatkowych arkuszy.

Typy pytań

W specyfikacji XLSForm obsługiwanych jest wiele typów pytań. Aby na przykład pobrać nazwę i lokalizację sklepu, napisz:

Pytanie typu text (tekst) i geopoint (punkt geograficzny) w formularzu

W poniższej tabeli podano pytania, które można wprowadzać w kolumnie type (typ) formularza XLSForm, informacje o danych wejściowych akceptowanych przez dane pytania i o typach pól, które są tworzone dla poszczególnych pytań w powiązanej warstwie obiektowej ArcGIS podczas publikowania formularza. Autor ankiety może zmienić typ pola wielu z tych typów pytań. Więcej informacji o typach pól można znaleźć w sekcji Niestandardowe kolumny Esri.

Typ pytaniaDane wejściowe odpowiedziDomyślny typ pola
integer

Dane wejściowe w postaci liczby całkowitej.

esriFieldTypeInteger

decimal

Dane wejściowe w postaci dziesiętnej.

esriFieldTypeDouble

range

Dane wejściowe w podanym zakresie liczbowym.

esriFieldTypeInteger

text

Odpowiedź tekstowa.

esriFieldTypeString

select_one list_name

Pytanie z wieloma możliwościami odpowiedzi, w którym można wybrać tylko jedną odpowiedź. Zastąp list_name nazwą listy wyboru. Można zmienić typ pola, jeśli jednak nazwa listy możliwości wyboru jest używana w wyrażeniach, jest ona zawsze traktowana w aplikacji terenowej jako ciąg znakowy.

esriFieldTypeString

select_multiple list_name

Pytanie z wieloma możliwościami odpowiedzi, w którym można wybrać wiele odpowiedzi. Zastąp list_name nazwą listy wyboru. Nie można zmienić typu pola, ale jeśli nazwa listy możliwości wyboru jest używana w wyrażeniach, jest ona zawsze traktowana w aplikacji terenowej jako ciąg znakowy.

esriFieldTypeString

rank list_name

Pytanie typu ranking; lista możliwości wyboru uporządkowana według rangi. Zastąp list_name nazwą listy wyboru. Nie można zmienić typu pola, ale jeśli nazwa listy możliwości wyboru jest używana w wyrażeniach, jest ona zawsze traktowana w aplikacji terenowej jako ciąg znakowy.

esriFieldTypeString

note

Wyświetla na ekranie uwagę, nie wymaga danych wejściowych. Może także zawierać ukryte obliczenia.

esriFieldTypeString

geopoint

Zbiera dane w postaci współrzędnych GPS pojedynczego punktu. Nie można zmienić typu pola.

esriFieldTypeGeometry

geotrace

Rejestruje linię na mapie. Nie można zmienić typu pola.

esriFieldTypeGeometry

geoshape

Rejestruje poligon na mapie. Nie można zmienić typu pola.

esriFieldTypeGeometry

date

Dane wejściowe w postaci daty.

esriFieldTypeDate

time

Dane wejściowe w postaci czasu.

esriFieldTypeString

dateTime

Dane wejściowe w postaci daty i czasu.

esriFieldTypeDate

image

Zrób zdjęcie.

Załącznik

begin group

Rozpoczyna grupę pytań.

Nie dotyczy

end group

Kończy grupę pytań.

Nie dotyczy

begin repeat

Rozpoczyna zestaw pytań powtarzalnych.

Nie dotyczy

end repeat

Kończy zestaw pytań powtarzalnych.

Nie dotyczy

calculate

Wykonuje obliczenia na wartościach w formularzu. Ten typ pytania jest ukryty i nie jest widoczny w formularzu.

esriFieldTypeString

username¹

Po zalogowaniu się w usłudze ArcGIS Online lub w oprogramowaniu ArcGIS Enterprise w tym polu jest automatycznie umieszczana nazwa użytkownika konta. Ten typ pytania jest ukryty i nie jest widoczny w formularzu.

esriFieldTypeString

email¹

Po zalogowaniu się w usłudze ArcGIS Online lub w oprogramowaniu ArcGIS Enterprise w tym polu jest automatycznie umieszczany adres e-mail konta. Ten typ pytania jest ukryty i nie jest widoczny w formularzu.

esriFieldTypeString

hidden

To pole nie jest widoczne w formularzu. Za pomocą kolumn bind::esri:fieldType i bind::esri:fieldLength można zdefiniować schemat danych.

esriFieldTypeString

barcode

Zeskanuj kod paskowy.

esriFieldTypeString

start

Data i czas rozpoczęcia ankiety.

esriFieldTypeDate

end

Data i czas ukończenia ankiety.

esriFieldTypeDate

deviceid

Unikalny identyfikator wygenerowany przez aplikację Survey123 reprezentujący konkretne urządzenie, na którym wypełniono ankietę. Nie jest to numer IMEI (International Mobile Equipment Identity) urządzenia przenośnego, ponieważ aplikacja Survey123 działa także na urządzeniach, które nie mają numeru IMEI.

esriFieldTypeString

audio

Zarejestruj próbkę dźwięku.

Załącznik

file

Prześlij plik na urządzenie.

Załącznik

¹Bardziej elastyczną opcją pobierania wartości jest użycie funkcji pulldata("@property"). Patrz sekcja Właściwości urządzenia i użytkownika.

Przykładowy formularz Typy pytań zawiera wszystkie typy pytań obsługiwane przez aplikację ArcGIS Survey123. Informacje na temat sposobu reprezentacji pytań tego typu w kreatorze internetowym i aplikacji internetowej Survey123 można znaleźć także we wskazówkach aplikacji.

Metadane

W specyfikacji XLSForm dostępne są następujące opcje typów danych służące do zbierania metadanych:

Typ metadanychOpis
start

Data i czas rozpoczęcia ankiety.

end

Data i czas ukończenia ankiety.

username

Zarejestruj nazwę użytkownika aktualnie zalogowanego w usłudze ArcGIS Online lub oprogramowaniu ArcGIS Enterprise. W przypadku tego typu danych dane wejściowe nie są wymagane.

email

Zarejestruj adres e-mail użytkownika aktualnie zalogowanego w usłudze ArcGIS Online lub oprogramowaniu ArcGIS Enterprise. W przypadku tego typu danych dane wejściowe nie są wymagane.

deviceid

Unikalny identyfikator wygenerowany przez aplikację Survey123 reprezentujący konkretne urządzenie, na którym wypełniono ankietę. Nie jest to numer IMEI urządzenia mobilnego, ponieważ aplikacja Survey123 działa także na urządzeniach, które nie mają numeru IMEI.

Notatka:

Następujące elementy metadanych standardu XLSForm nie są obsługiwane: subscriberid, simserial i phonenumber.

Aby zebrać wszystkie te metadane, dodaj na początku ankiety następujące elementy:

Pytanie o metadane w formularzu

Opisane powyżej pozycje metadanych są automatycznie zbierane przez aplikację ArcGIS Survey123. Nie są one reprezentowane jako pytania w formularzu, ale po przesłaniu ankiety można będzie wyświetlić ich wartości.

Po dodaniu typu start (początek) lub end (koniec) aplikacja ArcGIS Survey123 automatycznie umożliwia rejestrowanie danych czasowych w warstwie obiektowej ankiety. Dzięki temu można filtrować zawartość ankiety na podstawie daty przesłania tych danych. Dodawanie pozycji start (początek) i end (koniec) jest także przydatne w sytuacji, gdy trzeba sprawdzić, ile dokładnie czasu minęło od momentu otwarcia formularza do momentu oznaczenia go jako ukończonego.

Wskazówki

Czasami istnieje potrzeba dodania do pytania w formularzu wskazówki, zawierającej porady przeznaczone dla użytkownika, dotyczące odpowiedzi na pytanie, ale wskazówka ta nie powinna być częścią pytania. W specyfikacji XLSForm można dodawać wskazówki do pytań. Dodaj kolumnę hint (wskazówka) i umieść w niej komunikat. Zapoznaj się z następującym przykładem:

Wskazówki dotyczące pytań w formularzu

Korzystając z kolumny guidance_hint, można dodać wskazówki do pytania. Wskazówki instruują użytkownika, jak odpowiedzieć na pytanie, ale są ukryte, dopóki nie kliknie on przycisku wskazówek wyświetlanego obok podpowiedzi. Wskazówek można użyć tylko wówczas, gdy dla pytania istnieje już podpowiedź.

Pytanie z podpowiedzią i wskazówką

Tekst zastępczy

Można także podać tekst zastępczy dla pytań, które akceptują wpisywane dane wejściowe, takich jak pytania typu text (tekst), integer (liczba całkowita), decimal (wartość dziesiętna) oraz select_one (wybierz jedną) z wyglądem autocomplete (autouzupełnianie), ustawiając parametr placeholderText w kolumnie body::esri:style. Użycie parametru placeholderText=@[hint] lub placeholderText=@[guidance_hint] powoduje, że podpowiedź lub wskazówka zostaje ukryta, a tekst wskazówki jest umieszczany wewnątrz obszaru wejściowego pytania. Jeśli pytanie jest puste, w obszarze wejściowym jest wyświetlany tekst zastępczy.

Notatka:

Wskazówki nie są obsługiwane w przypadku pytań typu begin repeat (rozpocznij powtórzenie) i begin group (grupa początkowa).

W aplikacji internetowej Survey123 nie jest obsługiwany tekst zastępczy.

Aktualizacja szablonu

Szablon zaawansowany zawiera wszystkie obiekty XLSForm obsługiwane w aplikacji Survey123 i jest dostępny w oknie dialogowym Nowa ankieta w aplikacji Survey123 Connect. Ten szablon jest regularnie aktualizowany o nowe funkcje i usprawnienia procesu tworzenia ankiet. Wprawdzie bez problemu można nadal używać poprzedniej wersji szablonu, jednak aby skorzystać z najnowszych zmian, można zaktualizować istniejące ankiety do najnowszego szablonu XLSForm.

Narzędzie Aktualizuj szablon formularza XLSForm aktualizuje istniejący szablon XLSForm dla ankiet do najnowszej wersji zaawansowanego szablonu. Kopiuje ono zawartość arkuszy survey (ankieta), choices (możliwości wyboru) oraz settings (ustawienia) do ich odpowiednich wierszy i kolumn w nowym szablonie. Wszystkie dodane kolumny są również kopiowane do nowego szablonu, a jeśli używane są wybory zewnętrzne, kopiowany jest także arkusz external_choices (zewnętrzne możliwości wyboru).

Aby uruchomić narzędzie, należy skonfigurować środowisko Python w aplikacji Survey123 Connect. Więcej informacji na ten temat zawiera sekcja Konfigurowanie aplikacji Python.

W aplikacji Survey123 Connect otwórz ankietę do zaktualizowania. Kliknij Narzędzia, a następnie kliknij Aktualizuj szablon formularza XLSForm. Podczas działania narzędzia w oknie dialogowym są wyświetlane komunikaty. Po zakończeniu procesu plik .xlsx w folderze ankiety zostaje zaktualizowany do najnowszego szablonu, a podgląd formularza Survey123 Connect zostaje wczytany ponownie. Jeśli podczas działania narzędzia wystąpi błąd, istniejący szablon XLSForm zostanie zachowany.

Notatka:

Formularz XLSForm ankiety musi być plikiem .xlsx. Narzędzie Aktualizuj szablon formularza XLSForm nie może być uruchamiane na plikach .xls.

Zaleca się sprawdzenie, czy kolumny, weryfikacja danych, formatowanie komórek i style czcionek z pierwotnego formularza XLSForm są obecne w zaktualizowanym formularzu XLSForm. To narzędzie tworzy kopię zapasową formularza XLSForm i plik dziennika w katalogu C:\Users\<username>\ArcGIS\My Survey Designs\<surveyName>\debug\template_updater. Aby przywrócić ankietę z kopii zapasowej, skopiuj plik .xlsx z folderu template_updater do folderu głównego ankiety. Usuń istniejący formularz XLSForm i zmień nazwę kopii zapasowej na zgodną z pierwotną.

Notatka:

W zaktualizowanym szablonie kolor wypełnienia komórki w pierwszej kolumnie każdego wiersza jest stosowany do całego wiersza.

W przypadku ankiet wielojęzycznych kolumny języka domyślnego, takie jak label::language (xx) i hint::language (xx), zostaną wykluczone ze zaktualizowanego szablonu.