[ODK Developers] Other GPS Functions: GPS Track, Moving Map Widget.?

If you develop these and can contribute them back to the project, we'd love
to incorporate them.

W.r.t. tracks, there are 3 ways you could go:

(1) maintain the tracks as a separate file that is attached to the survey.
The widget to develop would be a general external file-attachment widget
(to parallel the capabilities of the 3rd party string widget
ExStringWidget), the interaction with the external app would be similar to
the interactions with the 'choose image' functionality of the image widget
(i.e., copying the returned file into the instance directory from wherever
it originated). OI File Manager is a free, nice, generic file manager,
with a published choose-file intent that you could use for testing
functionality, prior to writing your own app to construct and return the
file holding the geotrack.

The down side of this approach is that the tracks would not be
interpretable directly by ODK Aggregate or any downstream processing
without custom code. The up side is that this would the be quickest way to
add this functionality.

(2) define a new data type in javarosa that supported geotracks. This
would be a big endeavor, touching a lot of code, and would also lead to
problems with downstream processing. I don't see the value in doing this,
as you can use XForms field primitives to compose a geotrack as a repeat
group of geolocations, and can then add annotations, etc., as needed. Much
more powerful to use the primitives to define what you mean by a geotrack
than to do a one-off special data extension to javarosa.

(3) support geo-tracks using groups containing geolocations.
Detect that the group is to be managed by an external app, and
handle extracting and passing the current content of the repeat group to
that app for its processing (e.g., collecting a track, or annotating it,
etc.), and then, upon return, copying the data out of the result intent
from that app back into the group within ODK Collect. This is
along the lines of the
http://code.google.com/p/opendatakit/wiki/XFormControlExtensionProposal ,
but is more complex because of the way repeat groups work within javarosa.
The advantage of this approach is that the data, and any extra features you
support in your external app (e.g., annotation), are all captured as field
values within the XForm, and are therefore all immediately available to all
downstream processing tools (e.g., Fusion Tables).

I would recommend (3) for generic usability. If you wanted to do that, I
recommend first getting the simple group-of-data collection to work
(perhaps collaborating with others on that). Then delving into the
treatment of repeats within javarosa and ODK Collect. Note that javarosa
has a linear repeat and non-linear repeat navigation, and there may be
others working on adding the non-linear navigation into ODK Collect --
again, you would want to be aware and work with anyone on that to ensure
that a merge would not break anything.


··· On Thu, Mar 14, 2013 at 11:32 AM, zach wrote:

First let me say I’m a big time amateur in the OKD/ app development world.
However, I am trying to learn and explore. I generally create a XLSForm
and then convert/edit the resulting XML in Notepad ++ to develop my final

I was curious if anyone could point me to some sample snippets that would
allow user to submit GPS track logs as part of their form.

Another geospatial function I would like to incorporate into the form is a
moving map. Users would be able to upload a goePDF or geoTIFF (from file.)
Their location would be projected onto the map (much like Google Maps.)
and the user would be able to annotate important points and/or lines onto
the map. The finial submitted output would be their geo-referenced feature
annotations. For example, locations for possible trigger point, fireline,
drop point, hazards, etc.

I’m guessing these widget are possible (perhaps not for me), but I have no
clue on where to even begin.

Any recommendations or guidance is gladly welcomed


You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Mitch Sundt
Software Engineer
University of Washington