iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
自我挑戰組

用 ODK 和 Access VBA 打造行動化資料收集流程系列 第 13

Day13: XLSForm設計教學:問題類型/資料類型(Question Types) Part 3

  • 分享至 

  • xImage
  •  

排名小工具(Rank widget)

  • [type]欄位: 輸入rank list_name

排名小工具允許使用者從清單中,對選項進行排序。儲存在表單中並傳送到伺服器的值是一個以空格分隔的有序選項清單。
與「選擇」小工具一樣,選項清單要放在 XLSForm 中的「choices」(選項)的工作表內。
若要變更清單中選項的順序,請點選「對項目進行排序」按鈕。在出現的對話框中,長按某個項目,一旦它周圍出現邊框,請將其向上或向下拖曳以更改順序。如果未提供預設值,則問題的值為空,直到使用者在排名對話方塊中點下「確定」。

若要變更清單中選項的順序,請點選「對項目進行排序」按鈕。在出現的對話框中,長按某個項目,一旦它周圍出現邊框,請將其向上或向下拖曳以更改順序。

type name label hint
rank opt_abcd rank_widget  手動排序   若要變更清單中選項的順序,請點選「對項目進行排序」按鈕。在出現的對話框中,長按某個項目,一旦它周圍出現邊框,請將其向上或向下拖曳以更改順序。 

https://ithelp.ithome.com.tw/upload/images/20240925/20007221Jntyq2uaIB.jpg

https://ithelp.ithome.com.tw/upload/images/20240925/20007221pa6NsUcGx6.jpg

地點小工具(Location widget)

地理位置(Geopoint widget)

  • [type]欄位: 選擇 geopoint

從設備捕獲目前地理位置。位置以度-分-秒 (DMS) 表示法顯示,並以十進制儲存高度和精確度。在位置小部件部分了解有關結果資料格式的更多資訊。 此問題類型顯示一個具有當前精確度的對話框,並讓資料收集者決定何時捕獲該點。若要在背景紀錄位置,後面會提到使用 start-geopoint來記錄初始位置。若要讓使用者直接標記地點,可使用placement-map外觀。

type name label hint parameters
geopoint geopoint_widget Geopoint widget geopoint type capture-accuracy=10 warning-accuracy=10 allow-mock-accuracy=true

https://ithelp.ithome.com.tw/upload/images/20240925/20007221nIbosVyxUR.jpg

可以使用三個參數來自訂地理點問題的行為:

* capture-accuracy:當設備精度達到該值或更好時,將自動捕獲該點並關閉對話框。如果您始終希望資料收集器就接受某個點做出明確的決定,請將此值設為 0。我們通常不建議將此值設為低於 3(公尺),除非您使用外部 GPS 裝置。您也可以設定精度約束。

* warning-accuracy:當設備精確度為該值或更差時,對話方塊呈紅色並顯示一則訊息,指出精確度不可接受。沒有強制執行閾值,因此如果資料收集者需要以不可接受的精確度數值(例如沒時間等待),他們可以這樣做。如果您通常希望資料收集器一直等到自動擷取點,請將此值設為與 capture-accuracy 相同的值。預設為 100(米),大約是一個城市街區的長度。在極端條件下,例如在茂密的森林樹冠下,任何報告的準確性都可以被認為是可以接受的。在這種情況下,您可以將此值設定為非常大的數字。

* allow-mock-accuracy:設定為 true 以使用使用模擬 GPS 提供者的外部 GPS 裝置。否則,從模擬提供者捕獲的任何位置的精度將為 0。

彈出的小視窗,用於向資料收集者提供有正在取得的位置的訊息:
https://ithelp.ithome.com.tw/upload/images/20240925/20007221u1PyEAgfI5.jpg

此對話方塊用於跟資料收集者提供目前GPS的精確程度,以供資料收集者評估是否使用該位置資訊。

目前精確度顯示在對話方塊頂部:
https://ithelp.ithome.com.tw/upload/images/20240925/200072210njnSeGjdc.png

  1. 誤差範圍
  2. 準確性評估資訊(例如不可接受、差)和建議的操作(例如等待)
  3. 進度條,可直觀的顯示達到可接受精度的進度

https://docs.getodk.org/_images/geopoint-dialog.png

對話方塊的下半部顯示故障排除訊息:
4. 顯示自動擷取點的精確度。這是由 capture-accuracy 參數設定的
5. 經過的時間,可觀察系統是否花了很長時間才能獲得高精度值。這可能設備有問題,或者有遮蔽的情況。

您還可以訓練資料收集者利用經過的時間來採取某些行動。例如,您可以讓他們知道在等待 2 分鐘後捕捉任何可用的點。

  1. 衛星數量,如果數量較少(少於 4 顆)可能表示設備或其位置出現問題。

請參閱如何提高定位效能: https://docs.getodk.org/collect-location/

https://ithelp.ithome.com.tw/upload/images/20240925/20007221s3X66sUfgP.jpg
如果精準度不足,會出現這樣的情況。

地理位置含顯示地圖(Geopoint with map display)

  • [type]欄位: 選擇 geopoint
  • [appearance]欄位: 選擇 maps

預設的 Geopoint 小工具不會向使用者顯示地圖。當外觀屬性為maps(地圖)時,小工具會顯示地圖以幫助使用者確定方向並確認所選點是否正確且足夠準確。
當設備的地理位置可用時,它會在地圖上以藍色十字顯示。十字周圍的藍色陰影圓圈表示地理位置的精確半徑。可以點擊螢幕右上角的「新增標記」按鈕,在藍色十字中間指示的位置新增一個點。所選點以帶有紅色輪廓的小圓圈表示。
當再次開啟具有選定點的地圖視圖時,地圖將以該點為中心。若要變更選擇,請先點擊「垃圾桶」圖標,然後選擇一個新點。

type name label appearance hint
geopoint geopoint_widget_maps Geopoint widget maps geopoint type with maps appearance

https://ithelp.ithome.com.tw/upload/images/20240925/20007221nn1vXRMStC.jpg

地理位置含使用者自選地圖位置(Geopoint with user-selected location)

  • [type]欄位: 選擇 geopoint
  • [appearance]欄位: 選擇 placement-map

預設的地理點小工具不允許使用者將點放置在裝置目前地理位置之外的任何位置。
使用placement-map外觀屬性,則是允許使用者從地圖中選擇任何點。使用者可以長按螢幕將該點放置在任何位置,或如果裝置知道其地理位置,則點擊螢幕右上角的「新增點」按鈕。選定的點由帶有紅色輪廓的小圓圈表示。
儲存按鈕儲存所選點並返回到問題畫面。如果通過長按選擇點,則精度半徑和高度都將為0。
當使用現有點再次開啟地圖視圖時,地圖將以所選點為中心。若要變更選擇,請先點擊「垃圾桶」圖標,然後選擇一個新點。

type name label appearance hint
geopoint geopoint_widget_placementmap Geopoint widget placement-map geopoint type with placement-map appearance

https://ithelp.ithome.com.tw/upload/images/20240925/20007221CnlE3U04lj.jpg

地理追蹤小工具(Geotrace widget)

  • [type]欄位: 選擇 geotrace

使用geotrace小工具可以將移動路徑記錄下來,進而產生一系列的點,它與後面要介紹的 geoshape小工具,紀錄方式相同,只是第一個點和最後一個點可以不同且至少需要 2 個點。

可以透過點擊螢幕放置每個點,也可以透過讀取設備隨時間的地理位置讀數來建立資料。在地圖上,每個座標都由帶有紅色輪廓的小圓圈表示。它們由紅線連接。
若要收集地理軌跡,請先點擊螢幕右上角的「新增點」按鈕來選擇位置記錄模式。所選模式將顯示在螢幕底部的灰色欄中。當點收集正在進行時,「新增標記」按鈕變為「暫停」按鈕。
「後退箭頭」按鈕可用於在主動收集點或暫停時刪除最後輸入的點。任何時候都可以透過點擊並拖曳它來手動移動任何點。只有當首先透過點擊「垃圾桶」按鈕清除現有線路時才能更改模式。必須暫停錄製以清除現有線路。
透過點擊輸入或拖曳調整的點的精度半徑始終為 0。

儲存軌跡後,其點的座標將顯示在問題畫面上。透過點擊新增更多點、移動現有點或刪除最後新增的點,可以開啟軌跡進行手動編輯。跡線保存一次後,無法在手動或自動定位記錄模式下新增。

三種位置記錄模式分別是:

  • 透過點擊螢幕選擇位置: 使用者點擊地圖來選擇位置。
  • 手動定位記錄: 使用者可點擊螢幕頂部的「記錄點」按鈕來擷取當時的裝置地理位置。
  • 自動定位記錄: 系統會提示使用者選擇記錄間隔和精確度要求。如果精度要求設定為[無],則始終按記錄間隔採集點。如果精度要求設定為任何其他值,則僅在滿足要求時才會捕獲點。例如,假設記錄間隔為 20 秒,精度要求為 10 米,如果位置精度達到 10 米或更好,則應用程式每 20 秒在設備位置記錄一個點。
type name label
geotrace trace_example 你要去哪兒? 

https://ithelp.ithome.com.tw/upload/images/20240925/20007221qXO3z0PzbN.jpg

地理形狀小工具(Geoshape)

  • [type]欄位: 選擇 geoshape

使用geoshape小工具,可以建立閉合多邊形,與 geotrace 相同,是記錄一系列點,但是不同地方,是第一個點和最後一個點始終相同並且至少需要 3 個點。
操作方法與使用邏輯,均與geotrace相同。

type name label
geoshape shape_example 選擇一個地理區域 

https://ithelp.ithome.com.tw/upload/images/20240925/20007221wvW9D99kCI.jpg

計算地理形狀的面積(Calculating the area of a geoshape)

  • [type]欄位: 選擇 calculate
  • [calculation]欄位: 輸入area(${geoshape})

area() 函數可用於計算 geoshape 中定義的多邊形的土地面積(以平方公尺為單位)。該值將包含在您完成的調查資料中,也可以在表單中的後續小工具中使用。

type name label calculation
geoshape shape  記錄Geoshape資訊 
calculate shape_area area(${shape})
calculate rounded_shape_area round(${shape_area}, 2)
note shape_area_note 此區域面積為: ${rounded_shape_area} m²

https://ithelp.ithome.com.tw/upload/images/20240925/20007221sJ7nO45D4u.jpg

陀螺儀小工具(Bearing widget)

  • [type]欄位: 選擇 decimal
  • [appearance]欄位: 選擇 bearing

讀取手機陀螺儀的方位訊,並將其儲存為十進制資料。

type name label appearance hint
decimal bearing_widget 陀螺儀小工具(Bearing widget)  bearing decimal type with bearing appearance

https://ithelp.ithome.com.tw/upload/images/20240925/20007221BJp0gPOj8d.jpg

影像小工具(Image widgets)

  • [type]欄位: 選擇 image

從設備擷取影像。使用者可以選擇使用裝置相機拍攝新照片,或從裝置照片庫中選擇影像。

type name label hint
image image_widget 請拍照或選擇圖片  image type with no appearance

https://ithelp.ithome.com.tw/upload/images/20240925/20007221KMBitvMKnZ.jpg

有註釋功能的影像小工具(Image widget with annotation)

  • [type]欄位: 選擇image
  • [appearance]欄位: 選擇 annotation

添加annotate(註釋)外觀,允許用戶在提交影像前,可以在上面進行繪圖。

  • 如果您有要註釋的標準圖片,則可以在default(預設)欄位中新增該圖像的檔案名稱。例如,將檔名 template.png 放入default(預設)欄位中,Central 會提示您將該檔案附加到表單中。填寫表格的任何人都會看到相同的圖片。 *

若要強制對該預設圖片進行註釋,您可以使用諸如 not(. = 'jr://images/template.png')) 之類的約束描述,並寫在constraint(約束)欄位中,因為 Collect 會在使用註釋後,重命名圖片。

type name label appearance hint
image annotate_image_widget 請拍照或選擇圖片,並標記問題  annotate image type with annotate appearance

https://ithelp.ithome.com.tw/upload/images/20240925/20007221FK0CydXHnm.jpg

需要新影像的影像小工具(Image widget with required new image

type欄位輸入[image] ,appearance欄位輸入[new]
不包含“選擇圖像”按鈕的圖像小工具。這需要用戶拍攝新照片

type name label appearance hint
image image_widget_no_choose 請拍攝照片  new image type with new appearance (can also be added with annotate appearance and on audio and video types)

https://ithelp.ithome.com.tw/upload/images/20240925/20007221Fyzg1XZKW0.jpg

使用第三方相機軟體(Image widget with custom camera app)

嘗試擷取照片時,ODK Collect 預設會開啟內建相機應用程式。但是,如果您希望使用特定的相機應用程序,則可以透過包含 app 參數並提供所需相機應用程式的套件名稱來實現。

type name label hint parameters
image image_widget_app 開啟OpenCamara  image type with custom camera app app=net.sourceforge.opencamera

若要尋找相機應用程式的套件名稱,請在 Web 瀏覽器中在 Play 商店中搜尋,當您開啟網頁後,套件名稱將在網址列中的 id= 後提供。
https://ithelp.ithome.com.tw/upload/images/20240925/200072218reVEvKbPQ.jpg

有些第三方軟體可以考慮使用:

  • Timestamp Camera 可以覆蓋時間戳、位置等
  • Open Camera 提供更多進階功能

https://ithelp.ithome.com.tw/upload/images/20240925/20007221cPGkAawxU6.jpg

設備上必須安裝具該套件名稱的應用程式。如果沒有,則無法拍照。

https://ithelp.ithome.com.tw/upload/images/20240925/200072213uojViRfOf.jpg

預設情況下,可以從裝置中選擇圖片。使用new外觀可以防止這種情況發生。 Collect 會要求提供圖片,但某些相機應用程式可能仍允許使用者拍攝影片,那將會無法取得資料。

自拍影像小工具(Self portrait (selfie) image widget)

  • [type]欄位: 選擇 image
  • [appearance]欄位: 選擇 new-front

使用前置(自拍)相機拍照。不顯示選擇圖像按鈕。

type name label hint appearance
image self-portrait 開啟前置鏡頭拍照  image type with new-front appearance new-front

https://ithelp.ithome.com.tw/upload/images/20240925/20007221stxLag5yD3.jpg

外部程式影像小工具(External app image widget)

  • [type]欄位: 選擇 image
  • [appearance]欄位: 填寫ex:開頭的字串資訊

啟動外部應用程式並接收從外部應用程式傳回的影像。如果指定的外部應用程式不可用,則無法使用該小工具。
https://ithelp.ithome.com.tw/upload/images/20240925/20007221JNP6sfbwan.jpg

當外觀屬性以 ex: 開頭時,將顯示外部應用程式影像小工具。外觀字串的其餘部分指定要啟動的應用程式。

type name label appearance hint
image ex_image_widget 外部程式影像小工具  ex:com.example.collectanswersprovider(questionImage='') image type with ex:com.example.collectanswersprovider(questionImage='') appearance (can use other external apps)

繪製小工具(Draw widget)

  • [type]欄位: 選擇 image
  • [appearance]欄位: 選擇 draw

為使用者提供繪圖板並收集繪製的圖像。

type name label appearance hint
image draw_image_widget 請繪圖說明  draw image type with draw appearance

https://ithelp.ithome.com.tw/upload/images/20240925/20007221BByDGI7PMa.jpg

縮小影像(Scaling down images)

使用上述任何影像小工具建立的影像,都可以使用 max-pixels 參數在儲存時自動縮小。如果影像的長邊大於指定的最大尺寸,則按比例調整影像大小,以使長邊與提供的像素值相符。當頻寬有限時,這對於減少上傳大小很有用。

所有縮小的 jpg 影像均以 80% 的品質儲存,極少數情況下:

  • 附加了 jpg 影像,但未捕獲
  • 附件品質低於80%
  • 其原始大小與使用 max-pixels 指定的值之間的差異不夠大,輸出影像的檔案可能比原始影像大。
type name label parameters hint
image my_scaled_image  縮放影像  max-pixels=1024  影像縮放至最長邊 1024 像素 

https://ithelp.ithome.com.tw/upload/images/20240925/20007221aZGIb3g1z2.jpg


上一篇
Day12: XLSForm設計教學:問題類型/資料類型(Question Types) Part 2
下一篇
Day14: XLSForm設計教學:問題類型/資料類型(Question Types) Part 4
系列文
用 ODK 和 Access VBA 打造行動化資料收集流程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言