Newer
Older
# -*- coding: utf-8 -*-
"""
/***************************************************************************

Benjamin Jakimow
committed
EO Time Series Viewer
-------------------
begin : 2017-08-04
git sha : $Format:%H$
copyright : (C) 2017 by HU-Berlin
email : benjamin.jakimow@geo.hu-berlin.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
"""
# noinspection PyPep8Naming
import os, sys, fnmatch, site, re, site
DESCRIPTION = 'A QGIS Plugin to visualize multi-sensor Earth observation time series data.'
URL_WEBSITE = 'https://bitbucket.org/jakimowb/eo-time-series-viewer'
URL_DOCUMENTATION = 'http://eo-time-series-viewer.readthedocs.io/en/latest/'
URL_REPOSITORY = 'https://bitbucket.org/jakimowb/eo-time-series-viewer'
ABOUT = """
The EO Time Series Viewer is developed at Humboldt-Universität zu Berlin. Earlier versions of the EO Time Series Viewer were partly developed in the SenseCarbon project, funded by the German Aerospace Centre (DLR) and granted by the Federal Ministry of Education and Research (BMBF, grant no. 50EE1254). Since 2017 development of the software is supported by the German Research Centre for Geosciences (GFZ) as part of the EnMAP Core Science Team activities, funded by DLR and granted by the Federal Ministry of Economic Affairs and Energy (BMWi, grant no. 50EE1529), and the Land Use Monitoring System (LUMOS) project funded by the Belgian Science Policy Office as part of the Stereo-III research program (grant no. SR/01/349).
"""

benjamin.jakimow@geo.hu-berlin.de
committed
DEBUG = True

benjamin.jakimow@geo.hu-berlin.de
committed
DEPENDENCIES = ['pyqtgraph']
from qgis.core import QgsApplication, Qgis
from qgis.PyQt.QtCore import QSettings
from qgis.PyQt.QtGui import QIcon

benjamin.jakimow@geo.hu-berlin.de
committed
jp = os.path.join
dn = os.path.dirname
mkdir = lambda p: os.makedirs(p, exist_ok=True)

benjamin.jakimow@geo.hu-berlin.de
committed
DIR = os.path.dirname(__file__)
DIR_REPO = os.path.dirname(DIR)
DIR_SITE_PACKAGES = jp(DIR_REPO, 'site-packages')
DIR_UI = jp(DIR,*['ui'])
DIR_DOCS = jp(DIR,'docs')
DIR_EXAMPLES = jp(DIR_REPO, 'example')
PATH_EXAMPLE_TIMESERIES = jp(DIR_EXAMPLES,'ExampleTimeSeries.csv')
PATH_LICENSE = jp(DIR_REPO, 'LICENSE.txt')
PATH_CHANGELOG = jp(DIR_REPO, 'CHANGES.txt')
SETTINGS = QSettings(QSettings.UserScope, 'HU-Berlin', 'EO Time Series Viewer')

benjamin.jakimow@geo.hu-berlin.de
committed

benjamin.jakimow@geo.hu-berlin.de
committed
OPENGL_AVAILABLE = False
try:
import OpenGL
OPENGL_AVAILABLE = True
except:
pass
def messageLog(msg, level=None):
"""
:param msg: log message string
:param level: QgsMessageLog::MessageLevel with MessageLevel =[INFO | ALL | WARNING | CRITICAL | NONE]
"""
QgsApplication.instance().messageLog().logMessage(msg, 'EO TSV', level)

benjamin.jakimow@geo.hu-berlin.de
committed
try:
import timeseriesviewer.ui.resources
timeseriesviewer.ui.resources.qInitResources()
except:
pass
def initSettings():
def setIfNone(key, value):
if SETTINGS.value(key) is None:
SETTINGS.setValue(key, value)
setIfNone('n_processes', 3)
setIfNone('n_timer', 500)
setIfNone('max_temporalprofiles', 64)
import pathlib
setIfNone('dir_datasources', str(pathlib.Path.home()))
setIfNone('file_ts_definition', os.path.join(DIR_EXAMPLES, 'ExampleTimeSeries.csv'))
initSettings()
path = os.path.join(os.path.dirname(__file__), 'icon.png')
return QIcon(path)
def getFileAndAttributes(file):
"""
splits a GDAL valid file path into
:param file:
:return:
"""
dn = os.path.dirname(file)
bn = os.path.basename(file)
bnSplit = bn.split(':')
return os.path.join(dn,bnSplit[0]), ':'.join(bnSplit[1:])