Skip to content
m-haas edited this page Mar 17, 2017 · 4 revisions

Welcome to the REM_RRVS wiki!

Remote Rapid Visual Screening (RRVS) Tool

Contact: Marc Wieland marc.wieland@gfz-potsdam.de, Michael Haas michael.haas@gfz-potsdam.de

The RRVS (Rapid Remove Visual Screening) is a system for analysing the panoramic images acquired along the sampling route from REM Optimized Routing using the omni-directional camera system (GFZ-MOMA – MObile Mapping system). While using the RRVS platform requires no information technological knowledge, the installation of the tool requires advanced proficiency in system administration. Thus in order to provide training possibilities to the endusers GFZ is hosting the RRVS system on a publicly accessible Webserver. For reasons of security and privacy, the system requires the user to provide login credentials. On e-mail request any user who is interested in a training possibility is provided credentials which can be used to access a training dataset on the system. This training dataset comprises images and buildings in Cologne. Among the buildings some are already screened so the user can get an impression about how a fully screened building looks like and some are unmodified so the users can experience the screening procedure themselves. The classification is based on the GEM Taxonomy 2.0 and for each attribute and value specifiable via the system there exists a documentation on the GEM glossary: https://www.nexus.globalquakemodel.org/gem-building-taxonomy/overview/glossary

Structure

The main application is in the folder webapp. In the root directory are the scripts for running the application (rrvs.wsgi/runserver.py and rrvs_config.py). In scripts are some useful scripts for the application (creation of the database, populating the database and creating tasks).

Installation

Example

Modifying the dataentry form

A short step-by-step guideline on how to add a new QuerySelectField to the dataentry form:

models.py: define a new column in the db model

mat_type = db.Column(db.String(254))

forms.py: define a new field in the form

mat_type_field = QuerySelectField("Material Type", query_factory=getMatType, get_label='description', allow_blank=True)

add a new query factory which fills the dropdown menu

def getMatType(): 
    return dic_attribute_value.query.filter_by(attribute_type_code='MAT_TYPE') 

rrvsform.html: add the new field to the html template

{{ rrvs_form.mat_type_field.label }} 
{{ rrvs_form.mat_type_field }}

add new return value from .getJSON function

('select[name="mat_type_field"]').val(data.mat_type_gid);

views.py: in update_rrvsform() define the query attribute_value for the select fields

mat_type_val = ve_resolution1.query.filter_by(gid=gid_val).first().mat_type

and the return gid

mat_type_gid = dic_attribute_value.query.filter_by(attribute_value=mat_type_val).first().gid,

in rrvsform() add a new entry to the row.update() function to update database with form content

ve_resolution1.mat_type: rrvs_form.mat_type_field.data.attribute_value,

Known issues

Each asset in a rem db asset.object_attribute.height_1/year_1
has to have an initial value (fp2rem_db.py assigns 99) in order for the application to work properly.
Panoramic images are limited in size, if too large they will show up black in the pannellum 
viewer recommended resolution is: 3500px*1750px
Clone this wiki locally