Coder Social home page Coder Social logo

ggetzie / archaeological-survey-location-collector Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hl1028/archaeological-survey-location-collector

0.0 0.0 1.0 6.58 MB

An app for use in archaeological field survey to collect high-accurate point locations, photographs, and other data, using affordable differential GNSS equipment.

License: GNU General Public License v3.0

Java 100.00%

archaeological-survey-location-collector's Introduction

Archaeology Survey - Android App

This Android app is designed to support data collection during archaeological fieldwork. Specifically, this app can be modified to fit the data structures and infrastructure of a field surface survey project that involves fieldwalking. The main goal of this app is to geolocate field observations, objects, and other remains (finds) at a high level of accuracy. An external GNSS hardware device is the central feature of this application. New technology enables the inexpensive use of differential GNSS, where one GNSS receiver placed over a known point transmits corrections of the satellite signals to this app that is connected to a roving GNSS unit with the field walkers. These devices communicate over the internet.

Although it can be easily modified, the default data collection enabled by the application includes the normal types of data collected during surface survey: the GNSS coordinates of a find, photographs of the find, and descriptive information. The app is initially designed to capture point information, though polygons and 3d information could eventually be recorded as well.

A second git project called [archaeological-survey-location-service] is designed to support a server-side implementation that will enable the upload of the data collected during fieldwalking to a project's central datastore. This upload process could happen in real-time or be delayed until wifi is available.

In order to better enable reuse of this code base for other projects and data structures, the intent of this documentation is to briefly overview the flow of the application. Readme files within certain important subfolders also help provide details on the files in those folders.

Project File and Folder Structure

This section provides a brief overview of the structure and location of the files in this Android app, as well as links to further information about each.

  • The build settings file for this app details the target Android SDK version, the current app version name and number, dependencies, and other information. This file is found here: /app/build.gradle

  • The Java code containing the Activities classes for the app can be found here: /app/src/main/java/edu/upenn/sas/archaeologyapp/. That folder also contains an additional readme file specific to the Java side of the app, for further information.

  • Resources are the graphical elements of the app and include screen layouts, display text, colors, images, etc. These can be found here: /app/src/main/res/ That folder also contains an additional readme file specific to the Resources side of the app, for further information.

    • Text can be displayed in multiple languages, current support is for Turkish and English. Additional languages can be supported by adding a values subfolder and strings.xml specific to the language in /app/src/main/res/.

    • Screen layouts are .xml files that determine how other resources appear on each screen

  • An Android manifest file contains information about which workflows and Java classes, known as Actvities, need to be packaged into the application, and the overall permissions that the application requires from the device. The manifest file can be found here: /app/src/main/AndroidManifest.xml.

  • Debug APKs with details about each version can be found here: /debug-APKs/

The User Experience

This section provides an overivew of how the user experiences the app, and contains links to the Java Activity classes and Resource files that impact each screen.

  • The app starts with a brief splash screen followed by a screen that lists the records currently present on the device. These data were collected earlier but have not yet been uploaded.

  • The records list screen has a '+' floating action button at the bottom that takes a user to the data entry screen where they can enter new data.

  • When the new data entry screen opens, it immediately attempts to read a GNSS point. This point can be updated mnaully by pressing the GNSS button again while still on the screen. The user can now take multiple photos of the item, and fill out some descriptive data. Once done, the user hits back and the record is automatically saved if the two mandatory fields have been entered (GNSS point and at least one photograph). A warning message will popup if either is missing, allowing the user to either continue back to the list screen without saving the data, or stay on the new data entry form.

  • Selecting an existing record from the records list screen opens up the data entry screen with a display of the current information about the selected record. The user can make any necessary changes, and hit back to save and go back to the records list screen again.

  • On the top right of the records list screen is the 'settings' button for configuring server information.

LICENSE

The use of this project is governed by the license found here

archaeological-survey-location-collector's People

Contributors

bertknl avatar anatolian avatar colinroberts avatar hl1028 avatar eanvith avatar cbesser avatar atlab-hku avatar jsigmier avatar

Forkers

bertknl

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.