Пример #1
0
def get_last_used_quality_instruments():
    """
    Returns quality instrumentids
    :return: A tuple with instrument ids from w_qual_field
    """
    sql = "select parameter, unit, instrument, staff, max(date_time) from w_qual_field group by parameter, unit, instrument, staff"
    connection_ok, result_dict = utils.get_sql_result_as_dict(sql)
    return returnunicode(result_dict, True)
Пример #2
0
def w_qual_field_parameter_units():
    sql = "select distinct parameter, unit from w_qual_field"
    connection_ok, result_dict = utils.get_sql_result_as_dict(sql)

    if not connection_ok:
        textstring = u"""Cannot get data from sql """ + utils.returnunicode(sql)
        utils.MessagebarAndLog.critical(bar_msg=u"Error, sql failed, see log message panel", log_msg=textstring)
        return {}

    return utils.returnunicode(result_dict, keep_containers=True)
Пример #3
0
def hydrocolors():
    """
    This dictionary is used for stratigraph plots (Qt) to set color depending on capacity
    Default method is to read the database table zz_capacity, the user may change zz_capacity table to change the stratigraphy plots
    Fallback methods use color codes found in code below
    """
    res, dict_qt1 = utils.get_sql_result_as_dict(
        "select a.capacity, a.explanation, b.color_qt from zz_capacity a, zz_capacity_plots b where a.capacity = b.capacity"
    )
    dict_qt = utils.unicode_2_utf8(dict_qt1)
    for k, v in dict_qt.iteritems():
        dict_qt[k] = v[0]
    # fallback method to maintain backwards compatibility
    if not res:
        print("using fallback method for backwards compat.")
        dict_qt = {
            "": ("okant", "gray"),
            " ": ("okant", "gray"),
            "0": ("okant", "gray"),
            "0 ": ("okant", "gray"),
            "1": ("ovan gvy", "red"),
            "1 ": ("ovan gvy", "red"),
            "2": ("ingen", "magenta"),
            "2 ": ("ingen", "magenta"),
            "3-": ("obetydlig", "yellow"),
            "3": ("obetydlig", "yellow"),
            "3 ": ("obetydlig", "yellow"),
            "3+": ("obetydlig", "darkYellow"),
            "4-": ("mindre god", "green"),
            "4": ("mindre god", "green"),
            "4 ": ("mindre god", "green"),
            "4+": ("mindre god", "darkGreen"),
            "5-": ("god", "cyan"),
            "5": ("god", "cyan"),
            "5 ": ("god", "cyan"),
            "5+": ("god", "darkCyan"),
            "6-": ("mycket god", "blue"),
            "6": ("mycket god", "blue"),
            "6 ": ("mycket god", "blue"),
            "6+": ("mycket god", "darkBlue"),
        }
    return dict_qt
Пример #4
0
def PlotTypesDict(international="no"):
    """
    This dictionary is used by sectionplot (matplotlib) to compare with all possible geoshorts in stratigraphy table
    (Also used to generate dictionaries for stratigraphy plot (Qt))
    Default method is to read the database table zz_strat and generate the dictionary from columns 'strat' and 'geoshorts'
    The user may update these fields in the zz_strat table to use other stratigraphy units and other abbreviations (in geoshorts)
    Fallback method use dictionary defined in the code below
    """
    # success, Dict = utils.create_dict_from_db_2_cols(('strata','geoshort','zz_strat'))
    success, Dict = utils.get_sql_result_as_dict("select strata, geoshort from zz_strat")
    succss_strata, strata_order = utils.sql_load_fr_db("select strata from zz_stratigraphy_plots order by ROWID")
    if not success:
        print("fallback method using PlotTypesDict from code")
        if international == "no" and utils.getcurrentlocale() == "sv_SE":
            """
            Dict = {u"Okänt" : u"not in ('berg','b','rock','ro','grovgrus','grg','coarse gravel','cgr','grus','gr','gravel','mellangrus','grm','medium gravel','mgr','fingrus','grf','fine gravel','fgr','grovsand','sag','coarse sand','csa','sand','sa','mellansand','sam','medium sand','msa','finsand','saf','fine sand','fsa','silt','si','lera','ler','le','clay','cl','morän','moran','mn','till','ti','torv','t','peat','pt','fyll','fyllning','f','made ground','mg','land fill')",
            "Berg"  : u"in ('berg','b','rock','ro')",
            "Grovgrus" : u"in ('grovgrus','grg','coarse gravel','cgr')",
            "Grus" : u"in ('grus','gr','gravel')",
            "Mellangrus" : u"in ('mellangrus','grm','medium gravel','mgr')",
            "Fingrus" : u"in ('fingrus','grf','fine gravel','fgr')",
            "Grovsand" : u"in ('grovsand','sag','coarse sand','csa')",
            "Sand" : u"in ('sand','sa')",
            "Mellansand" : u"in ('mellansand','sam','medium sand','msa')",
            "Finsand" : u"in ('finsand','saf','fine sand','fsa')",
            "Silt" : u"in ('silt','si')",
            "Lera" : u"in ('lera','ler','le','clay','cl')",
            u"Morän" : u"in ('morän','moran','mn','till','ti')",
            "Torv" : u"in ('torv','t','peat','pt')",
            "Fyll":u"in ('fyll','fyllning','f','made ground','mg','land fill')"}
            """
            dictionary = OrderedDict(
                [
                    (
                        u"Okänt",
                        u"not in ('berg','b','rock','ro','grovgrus','grg','coarse gravel','cgr','grus','gr','gravel','mellangrus','grm','medium gravel','mgr','fingrus','grf','fine gravel','fgr','grovsand','sag','coarse sand','csa','sand','sa','mellansand','sam','medium sand','msa','finsand','saf','fine sand','fsa','silt','si','lera','ler','le','clay','cl','morän','moran','mn','till','ti','torv','t','peat','pt','fyll','fyllning','f','made ground','mg','land fill')",
                    ),
                    ("Berg", u"in ('berg','b','rock','ro')"),
                    ("Grovgrus", u"in ('grovgrus','grg','coarse gravel','cgr')"),
                    ("Grus", u"in ('grus','gr','gravel')"),
                    ("Mellangrus", u"in ('mellangrus','grm','medium gravel','mgr')"),
                    ("Fingrus", u"in ('fingrus','grf','fine gravel','fgr')"),
                    ("Grovsand", u"in ('grovsand','sag','coarse sand','csa')"),
                    ("Sand", u"in ('sand','sa')"),
                    ("Mellansand", u"in ('mellansand','sam','medium sand','msa')"),
                    ("Finsand", u"in ('finsand','saf','fine sand','fsa')"),
                    ("Silt", u"in ('silt','si')"),
                    ("Lera", u"in ('lera','ler','le','clay','cl')"),
                    (u"Morän", u"in ('morän','moran','mn','till','ti')"),
                    ("Torv", u"in ('torv','t','peat','pt')"),
                    ("Fyll", u"in ('fyll','fyllning','f','made ground','mg','land fill')"),
                ]
            )
        else:
            """
            Dict = {u"Unknown" : u"not in ('berg','b','rock','ro','grovgrus','grg','coarse gravel','cgr','grus','gr','gravel','mellangrus','grm','medium gravel','mgr','fingrus','grf','fine gravel','fgr','grovsand','sag','coarse sand','csa','sand','sa','mellansand','sam','medium sand','msa','finsand','saf','fine sand','fsa','silt','si','lera','ler','le','clay','cl','morän','moran','mn','till','ti','torv','t','peat','pt','fyll','fyllning','f','made ground','mg','land fill')",
            "Rock"  : u"in ('berg','b','rock','ro')",
            "Coarse gravel" : u"in ('grovgrus','grg','coarse gravel','cgr')",
            "Gravel" : u"in ('grus','gr','gravel')",
            "Medium gravel" : u"in ('mellangrus','grm','medium gravel','mgr')",
            "Fine gravel" : u"in ('fingrus','grf','fine gravel','fgr')",
            "Coarse sand" : u"in ('grovsand','sag','coarse sand','csa')",
            "Sand" : u"in ('sand','sa')",
            "Medium sand" : u"in ('mellansand','sam','medium sand','msa')",
            "Fine sand" : u"in ('finsand','saf','fine sand','fsa')",
            "Silt" : u"in ('silt','si')",
            "Clay" : u"in ('lera','ler','le','clay','cl')",
            "Till" : u"in ('morän','moran','mn','till','ti')",
            "Peat" : u"in ('torv','t','peat','pt')",
            "Fill":u"in ('fyll','fyllning','f','made ground','mg','land fill')"}
            """
            dictionary = OrderedDict(
                [
                    (
                        "Unknown",
                        u"not in ('berg','b','rock','ro','grovgrus','grg','coarse gravel','cgr','grus','gr','gravel','mellangrus','grm','medium gravel','mgr','fingrus','grf','fine gravel','fgr','grovsand','sag','coarse sand','csa','sand','sa','mellansand','sam','medium sand','msa','finsand','saf','fine sand','fsa','silt','si','lera','ler','le','clay','cl','morän','moran','mn','till','ti','torv','t','peat','pt','fyll','fyllning','f','made ground','mg','land fill')",
                    ),
                    ("Rock", u"in ('berg','b','rock','ro')"),
                    ("Coarse gravel", u"in ('grovgrus','grg','coarse gravel','cgr')"),
                    ("Gravel", u"in ('grus','gr','gravel')"),
                    ("Medium gravel", u"in ('mellangrus','grm','medium gravel','mgr')"),
                    ("Fine gravel", u"in ('fingrus','grf','fine gravel','fgr')"),
                    ("Coarse sand", u"in ('grovsand','sag','coarse sand','csa')"),
                    ("Sand", u"in ('sand','sa')"),
                    ("Medium sand", u"in ('mellansand','sam','medium sand','msa')"),
                    ("Fine sand", u"in ('finsand','saf','fine sand','fsa')"),
                    ("Silt", u"in ('silt','si')"),
                    ("Clay", u"in ('lera','ler','le','clay','cl')"),
                    ("Till", u"in ('morän','moran','mn','till','ti')"),
                    ("Peat", u"in ('torv','t','peat','pt')"),
                    ("Fill", u"in ('fyll','fyllning','f','made ground','mg','land fill')"),
                ]
            )
    else:
        """manually create dictionary to reuse old code"""
        dictionary = OrderedDict({})
        # all_geoshorts = r"""not in ('"""
        # for key, value in sorted(Dict.iteritems()):
        for strata in strata_order:
            tl = r"""in ('"""
            for geoshort in Dict[strata[0]]:
                tl += geoshort[0] + r"""', '"""
                # all_geoshorts+=geoshort[0] + r"""', '"""
            tl = utils.rstrip(r""", '""", tl) + r""")"""
            # all_geoshorts = utils.rstrip(r""", '""",all_geoshorts) + r""")"""
            dictionary[strata[0]] = tl
        # all_geoshorts+=r"""')"""
    return dictionary
Пример #5
0
def geocolorsymbols():
    """
    This dictionary is used for stratigraph plots (Qt) to set color and brush style
    Default method is to read the database table zz_strat, the user may change zz_strat table to change the stratigraphy plots
    Predefined Qt colors are allowed (http://doc.qt.io/qt-4.8/qcolor.html#predefined-colors) and so is also svg 1.0 names (https://www.w3.org/TR/SVG/types.html#ColorKeywords)
    Fallback methods use color codes and brush styles found in code below
    """
    res1, dict_qt = utils.get_sql_result_as_dict("select strata, brush_qt, color_qt from zz_stratigraphy_plots")
    res2, dict_geo1 = utils.get_sql_result_as_dict("select strata, geoshort from zz_strat")
    # fallback method to maintain backwards compatibility
    if not (res1 and res2):
        # Fallback method - if using old databases where zz_strat is missing, then you may change the code below to reflect your own GEOLOGIC CODES, SYMBOLS AND COLORS
        print("using fallback method for backwards compat.")
        dictionary = {
            "": ("NoBrush", "white"),
            " ": ("NoBrush", "white"),
            "berg": ("DiagCrossPattern", "red"),
            "Berg": ("DiagCrossPattern", "red"),
            "BERG": ("DiagCrossPattern", "red"),
            "BERG": ("DiagCrossPattern", "red"),
            "B": ("DiagCrossPattern", "red"),
            "Rock": ("DiagCrossPattern", "red"),
            "rock": ("DiagCrossPattern", "red"),
            "Ro": ("DiagCrossPattern", "red"),
            "ro": ("DiagCrossPattern", "red"),
            "grovgrus": ("Dense7Pattern", "darkGreen"),
            "Grovgrus": ("Dense7Pattern", "darkGreen"),
            "Grg": ("Dense7Pattern", "darkGreen"),
            "grg": ("Dense7Pattern", "darkGreen"),
            "Coarse Gravel": ("Dense7Pattern", "darkGreen"),
            "coarse Gravel": ("Dense7Pattern", "darkGreen"),
            "coarse gravel": ("Dense7Pattern", "darkGreen"),
            "CGr": ("Dense7Pattern", "darkGreen"),
            "Cgr": ("Dense7Pattern", "darkGreen"),
            "cGr": ("Dense7Pattern", "darkGreen"),
            "cgr": ("Dense7Pattern", "darkGreen"),
            "grus": ("Dense7Pattern", "darkGreen"),
            "Grus": ("Dense7Pattern", "darkGreen"),
            "GRUS": ("Dense7Pattern", "darkGreen"),
            "Gr": ("Dense7Pattern", "darkGreen"),
            "gr": ("Dense7Pattern", "darkGreen"),
            "Gravel": ("Dense7Pattern", "darkGreen"),
            "gravel": ("Dense7Pattern", "darkGreen"),
            "mellangrus": ("Dense6Pattern", "darkGreen"),
            "Mellangrus": ("Dense6Pattern", "darkGreen"),
            "MELLANGRUS": ("Dense6Pattern", "darkGreen"),
            "Grm": ("Dense6Pattern", "darkGreen"),
            "grm": ("Dense6Pattern", "darkGreen"),
            "Medium Gravel": ("Dense6Pattern", "darkGreen"),
            "medium Gravel": ("Dense6Pattern", "darkGreen"),
            "medium gravel": ("Dense6Pattern", "darkGreen"),
            "MGr": ("Dense6Pattern", "darkGreen"),
            "mGr": ("Dense6Pattern", "darkGreen"),
            "Mgr": ("Dense6Pattern", "darkGreen"),
            "mgr": ("Dense6Pattern", "darkGreen"),
            "fingrus": ("Dense6Pattern", "darkGreen"),
            "Fingrus": ("Dense6Pattern", "darkGreen"),
            "FINGRUS": ("Dense6Pattern", "darkGreen"),
            "Grf": ("Dense6Pattern", "darkGreen"),
            "grf": ("Dense6Pattern", "darkGreen"),
            "Fine Gravel": ("Dense6Pattern", "darkGreen"),
            "fine Gravel": ("Dense6Pattern", "darkGreen"),
            "fine gravel": ("Dense6Pattern", "darkGreen"),
            "FGr": ("Dense6Pattern", "darkGreen"),
            "Fgr": ("Dense6Pattern", "darkGreen"),
            "fGr": ("Dense6Pattern", "darkGreen"),
            "fgr": ("Dense6Pattern", "darkGreen"),
            "grovsand": ("Dense5Pattern", "green"),
            "Grovsand": ("Dense5Pattern", "green"),
            "GROVSAND": ("Dense5Pattern", "green"),
            "Sag": ("Dense5Pattern", "green"),
            "sag": ("Dense5Pattern", "green"),
            "Coarse Sand": ("Dense5Pattern", "green"),
            "coarse Sand": ("Dense5Pattern", "green"),
            "coarse sand": ("Dense5Pattern", "green"),
            "CSa": ("Dense5Pattern", "green"),
            "Csa": ("Dense5Pattern", "green"),
            "cSa": ("Dense5Pattern", "green"),
            "csa": ("Dense5Pattern", "green"),
            "sand": ("Dense5Pattern", "green"),
            "Sand": ("Dense5Pattern", "green"),
            "SAND": ("Dense5Pattern", "green"),
            "Sa": ("Dense5Pattern", "green"),
            "sa": ("Dense5Pattern", "green"),
            "mellansand": ("Dense4Pattern", "green"),
            "Mellansand": ("Dense4Pattern", "green"),
            "MELLANSAND": ("Dense4Pattern", "green"),
            "Sam": ("Dense4Pattern", "green"),
            "sam": ("Dense4Pattern", "green"),
            "Medium Sand": ("Dense4Pattern", "green"),
            "medium Sand": ("Dense4Pattern", "green"),
            "medium sand": ("Dense4Pattern", "green"),
            "MSa": ("Dense4Pattern", "green"),
            "Msa": ("Dense4Pattern", "green"),
            "msa": ("Dense4Pattern", "green"),
            "mSa": ("Dense4Pattern", "green"),
            "finsand": ("Dense4Pattern", "darkYellow"),
            "Finsand": ("Dense4Pattern", "darkYellow"),
            "FINSAND": ("Dense4Pattern", "darkYellow"),
            "Saf": ("Dense4Pattern", "darkYellow"),
            "saf": ("Dense4Pattern", "darkYellow"),
            "Fine Sand": ("Dense4Pattern", "darkYellow"),
            "fine Sand": ("Dense4Pattern", "darkYellow"),
            "fine Sand": ("Dense4Pattern", "darkYellow"),
            "FSa": ("Dense4Pattern", "darkYellow"),
            "Fsa": ("Dense4Pattern", "darkYellow"),
            "fSa": ("Dense4Pattern", "darkYellow"),
            "fsa": ("Dense4Pattern", "darkYellow"),
            "silt": ("BDiagPattern", "yellow"),
            "Silt": ("BDiagPattern", "yellow"),
            "SILT": ("BDiagPattern", "yellow"),
            "Si": ("BDiagPattern", "yellow"),
            "si": ("BDiagPattern", "yellow"),
            "lera": ("HorPattern", "yellow"),
            "Lera": ("HorPattern", "yellow"),
            "LERA": ("HorPattern", "yellow"),
            "Le": ("HorPattern", "yellow"),
            "le": ("HorPattern", "yellow"),
            "Clay": ("HorPattern", "yellow"),
            "clay": ("HorPattern", "yellow"),
            "Cl": ("HorPattern", "yellow"),
            "cl": ("HorPattern", "yellow"),
            "moran": ("CrossPattern", "cyan"),
            "Moran": ("CrossPattern", "cyan"),
            "MORAN": ("CrossPattern", "cyan"),
            "Mn": ("CrossPattern", "cyan"),
            "mn": ("CrossPattern", "cyan"),
            "Till": ("CrossPattern", "cyan"),
            "till": ("CrossPattern", "cyan"),
            "Ti": ("CrossPattern", "cyan"),
            "ti": ("CrossPattern", "cyan"),
            "torv": ("NoBrush", "darkGray"),
            "Torv": ("NoBrush", "darkGray"),
            "TORV": ("NoBrush", "darkGray"),
            "T": ("NoBrush", "darkGray"),
            "Peat": ("NoBrush", "darkGray"),
            "peat": ("NoBrush", "darkGray"),
            "Pt": ("NoBrush", "darkGray"),
            "pt": ("NoBrush", "darkGray"),
            "t": ("NoBrush", "darkGray"),
            "fyll": ("DiagCrossPattern", "white"),
            "Fyll": ("DiagCrossPattern", "white"),
            "FYLL": ("DiagCrossPattern", "white"),
            "fyllning": ("DiagCrossPattern", "white"),
            "Fyllning": ("DiagCrossPattern", "white"),
            "FYLLNING": ("DiagCrossPattern", "white"),
            "F": ("DiagCrossPattern", "white"),
            "f": ("DiagCrossPattern", "white"),
            "Made Ground": ("DiagCrossPattern", "white"),
            "Made ground": ("DiagCrossPattern", "white"),
            "mage ground": ("DiagCrossPattern", "white"),
            "MG": ("DiagCrossPattern", "white"),
            "Mg": ("DiagCrossPattern", "white"),
            "mg": ("DiagCrossPattern", "white"),
        }
        return dictionary
    # new method create dict from db table
    # dict_geo1 is just a start, not yet populated with tuples of geoshorts for each strata, time to do so
    dictionary = {}
    for key, value in sorted(dict_geo1.iteritems()):
        for geoshort in value:
            try:
                dictionary[geoshort[0]] = dict_qt[str(key)][0]
            except:
                dictionary[geoshort[0]] = (u"NoBrush", u"white")
    """
    # this was temporary method to deal with zz_stratigraphy table existing in plugin version 1.3.x
    # skip "unknown"
    dict_geo = {k: v for k, v in dict_geo1.iteritems() if 'not in' not in v}
    for key, value in sorted(dict_geo.iteritems()):
        #if 'not in' in value:
        #    print('Warning')#debug
        geoshort_string = value.replace('not in (','').replace('in (','').replace(')','').replace('\'','')
        #print(geoshort_string)#debug
        for v in geoshort_string.split(','):
            #print (key,utils.unicode_2_utf8(v), utils.unicode_2_utf8(dict_qt.get(key)[0]))#debug
            dictionary[utils.unicode_2_utf8(v)] = (utils.unicode_2_utf8(dict_qt.get(key)[0]))
    """
    return dictionary