Styles + CODE CLEAN po_modules
This commit is contained in:
parent
99c5ac3144
commit
5476c512af
@ -2,5 +2,3 @@
|
||||
Beim Hinzufügen von Features fehlte das layer.updateFields()
|
||||
Beim Hinzufügen von Features fehlte wurde versucht eine viel zu große Pegelonline 'number' in einen Int zu stecken. War schwierig zu entdecken => provider.errors()
|
||||
DockWidget wurde in der Höhe ziemlich voll → Weiteres Widget nur für Grafen
|
||||
|
||||
eigene styles erzeugen!
|
||||
|
||||
@ -46,10 +46,10 @@ WATERLEVELS_MAP_TIPS = "\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<th style='text-align: left'>MNW, MHW:</th>\
|
||||
<td>[% \"stateMnwMhw\" %]</td>\
|
||||
<td>[% \"mean\" %]</td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<th style='text-align: left'>NSW, HSW:</th>\
|
||||
<td>[% \"stateNswHsw\" %]</td>\
|
||||
<td>[% \"absolute\" %]</td>\
|
||||
</tr>\
|
||||
</table>"
|
||||
|
||||
@ -64,7 +64,7 @@ extras: metadata.txt icon.png pegelonline_dockwidget_graph.ui
|
||||
|
||||
# Other directories to be deployed with the plugin.
|
||||
# These must be subdirectories under the plugin directory
|
||||
extra_dirs: pomodules basemap
|
||||
extra_dirs: po_modules basemap styles
|
||||
|
||||
# ISO code(s) for any locales (translations), separated by spaces.
|
||||
# Corresponding .ts files must exist in the i18n directory
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>280</width>
|
||||
<height>563</height>
|
||||
<width>292</width>
|
||||
<height>681</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
@ -21,15 +21,6 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="dockWidgetContents">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="4" column="0">
|
||||
<widget class="QGroupBox" name="gbWaterlevels">
|
||||
<property name="title">
|
||||
<string>Pegelstände:</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
@ -42,110 +33,12 @@
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsVisible">
|
||||
<property name="text">
|
||||
<string>Anzeigen (Download von Pegelonline)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="gbWaterlevelsOptions">
|
||||
<property name="title">
|
||||
<string>Beschriftungen:</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<property name="horizontalSpacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsNumber">
|
||||
<property name="text">
|
||||
<string>Nummer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsName">
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsAgency">
|
||||
<property name="text">
|
||||
<string>Behörde</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsWater">
|
||||
<property name="text">
|
||||
<string>Gewässername</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsTimestamp">
|
||||
<property name="text">
|
||||
<string>Zeitstempel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsValue">
|
||||
<property name="text">
|
||||
<string>Aktueller Wert</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsMean">
|
||||
<property name="text">
|
||||
<string>MNW, MHW</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsAbsolute">
|
||||
<property name="text">
|
||||
<string>NSW, HSW</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QGroupBox" name="gbStations">
|
||||
<property name="title">
|
||||
@ -153,7 +46,7 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
@ -227,6 +120,19 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
@ -248,22 +154,110 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="gbBasemap">
|
||||
<property name="title">
|
||||
<string>Basiskarte:</string>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Styles:</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_11">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbStationsStyleSimple">
|
||||
<property name="text">
|
||||
<string>Vorgabe</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgStationsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbStationsStyleAgency">
|
||||
<property name="text">
|
||||
<string>Behörde</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgStationsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_13">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbStationsStyleWater">
|
||||
<property name="text">
|
||||
<string>Gewässer</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgStationsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
@ -278,19 +272,81 @@
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbBasemapLines">
|
||||
<widget class="QToolButton" name="btnSelectRectangle">
|
||||
<property name="text">
|
||||
<string>Flüsse</string>
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbBasemapAreas">
|
||||
<widget class="QToolButton" name="btnUnselectLayer">
|
||||
<property name="text">
|
||||
<string>Flächen</string>
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnUnselectAll">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnZoomFullExtent">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnZoomToLayer">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnZoomToSelected">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnMapTips">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>161</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
@ -301,7 +357,7 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
@ -440,20 +496,30 @@
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_6">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QFrame" name="frame">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
<item row="4" column="0">
|
||||
<widget class="QGroupBox" name="gbWaterlevels">
|
||||
<property name="title">
|
||||
<string>Pegelstände:</string>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
@ -468,82 +534,309 @@
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnSelectRectangle">
|
||||
<widget class="QCheckBox" name="cbWaterlevelsVisible">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
<string>Anzeigen (Download von Pegelonline)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnUnselectLayer">
|
||||
<widget class="QGroupBox" name="gbWaterlevelsOptions">
|
||||
<property name="title">
|
||||
<string>Beschriftungen:</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsNumber">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
<string>Nummer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnUnselectAll">
|
||||
<widget class="QCheckBox" name="cbWaterlevelsName">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line">
|
||||
<widget class="QCheckBox" name="cbWaterlevelsAgency">
|
||||
<property name="text">
|
||||
<string>Behörde</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsWater">
|
||||
<property name="text">
|
||||
<string>Gewässername</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsTimestamp">
|
||||
<property name="text">
|
||||
<string>Zeitstempel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsValue">
|
||||
<property name="text">
|
||||
<string>Aktueller Wert</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsMean">
|
||||
<property name="text">
|
||||
<string>MNW, MHW</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbWaterlevelsAbsolute">
|
||||
<property name="text">
|
||||
<string>NSW, HSW</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Styles:</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbWaterlevelsStyleSimple">
|
||||
<property name="text">
|
||||
<string>Vorgabe</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgWaterlevelsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnZoomFullExtent">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnZoomToLayer">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnZoomToSelected">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="Line" name="line_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="btnMapTips">
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>161</width>
|
||||
<height>20</height>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbWaterlevelsStyleAgency">
|
||||
<property name="text">
|
||||
<string>Behörde</string>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgWaterlevelsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbWaterlevelsStyleWater">
|
||||
<property name="text">
|
||||
<string>Gewässer</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgWaterlevelsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_10">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbWaterlevelsStyleMean">
|
||||
<property name="text">
|
||||
<string>MNW, MHW</string>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgWaterlevelsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rbWaterlevelsStyleAbsolute">
|
||||
<property name="text">
|
||||
<string>NSW, HSW</string>
|
||||
</property>
|
||||
<attribute name="buttonGroup">
|
||||
<string notr="true">bgWaterlevelsStyle</string>
|
||||
</attribute>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QGroupBox" name="gbBasemap">
|
||||
<property name="title">
|
||||
<string>Basiskarte:</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbBasemapLines">
|
||||
<property name="text">
|
||||
<string>Flüsse</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbBasemapAreas">
|
||||
<property name="text">
|
||||
<string>Flächen</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -551,4 +844,8 @@
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
<buttongroups>
|
||||
<buttongroup name="bgWaterlevelsStyle"/>
|
||||
<buttongroup name="bgStationsStyle"/>
|
||||
</buttongroups>
|
||||
</ui>
|
||||
|
||||
@ -4,18 +4,18 @@ from . import poBaseURL
|
||||
from .urlreader import UrlReader
|
||||
|
||||
|
||||
class PoHistory(UrlReader):
|
||||
class PoGraphReader(UrlReader):
|
||||
|
||||
def __init__(self, station: str, days: int):
|
||||
super().__init__(poBaseURL + 'stations/%s/W/measurements.png?start=P%dD' % (quote(station), days))
|
||||
|
||||
def download(self):
|
||||
print("download: Lade Bild herunter...")
|
||||
print("PoGraphReader::download: Lade Bild herunter...")
|
||||
|
||||
image_data = self.getDataResponse()
|
||||
if image_data is None or len(image_data) == 0:
|
||||
print("download: Fehler: Keine Daten erhalten")
|
||||
print("PoGraphReader::download: Fehler: Keine Daten erhalten")
|
||||
return None
|
||||
|
||||
print("download: Vollständig")
|
||||
print("PoGraphReader::download: Vollständig")
|
||||
return image_data
|
||||
34
po_modules/po_station.py
Normal file
34
po_modules/po_station.py
Normal file
@ -0,0 +1,34 @@
|
||||
from qgis._core import QgsFeature, QgsGeometry, QgsPointXY
|
||||
|
||||
|
||||
class PoStation(object):
|
||||
|
||||
def __init__(self, json):
|
||||
self.longitude = json['longitude'] if 'longitude' in json else None
|
||||
self.latitude = json['latitude'] if 'latitude' in json else None
|
||||
self.uuid = json['uuid']
|
||||
self.number = json['number']
|
||||
self.shortname = json['shortname']
|
||||
self.longname = json['longname']
|
||||
self.km = json['km'] if 'km' in json else None
|
||||
self.agency = json['agency']
|
||||
self.water = json['water']['longname']
|
||||
|
||||
def new_feature(self, fields) -> None | QgsFeature:
|
||||
if self.longitude is None or self.latitude is None:
|
||||
print("PoStation::new_feature: WARN: Station hat fehlende Koordinaten: %s" % (self.shortname,))
|
||||
return None
|
||||
|
||||
feature = QgsFeature(fields)
|
||||
|
||||
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(self.longitude, self.latitude)))
|
||||
|
||||
feature.setAttribute('uuid', self.uuid)
|
||||
feature.setAttribute('number', self.number)
|
||||
feature.setAttribute('shortname', self.shortname)
|
||||
feature.setAttribute('longname', self.longname)
|
||||
feature.setAttribute('km', self.km)
|
||||
feature.setAttribute('agency', self.agency)
|
||||
feature.setAttribute('water', self.water)
|
||||
|
||||
return feature
|
||||
28
po_modules/po_stations.py
Normal file
28
po_modules/po_stations.py
Normal file
@ -0,0 +1,28 @@
|
||||
from . import poBaseURL
|
||||
from .po_station import PoStation
|
||||
from .urlreader import UrlReader
|
||||
|
||||
|
||||
class PoStationReader(UrlReader):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(poBaseURL + 'stations.json')
|
||||
|
||||
def get_stations(self):
|
||||
print("PoStationReader::get_stations: Lade Stationen herunter...")
|
||||
|
||||
stations_json = self.getJsonResponse()
|
||||
if stations_json is None or len(stations_json) == 0:
|
||||
print("PoStationReader::get_stations: Keine Stationen erhalten")
|
||||
return None
|
||||
|
||||
stations = []
|
||||
for station_json in stations_json:
|
||||
try:
|
||||
stations.append(PoStation(station_json))
|
||||
except Exception as e:
|
||||
print("PoStationReader::get_stations: Fehler: error=%s, json=%s" % (e, station_json))
|
||||
|
||||
print("PoStationReader::get_stations: %d Stationen erhalten" % (len(stations),))
|
||||
|
||||
return stations
|
||||
40
po_modules/po_stations_qgs.py
Normal file
40
po_modules/po_stations_qgs.py
Normal file
@ -0,0 +1,40 @@
|
||||
from PyQt5.QtCore import QVariant
|
||||
from qgis._core import QgsCoordinateReferenceSystem
|
||||
from qgis.core import QgsFields, QgsField
|
||||
|
||||
from .po_stations import PoStationReader
|
||||
|
||||
|
||||
class PoStationReaderQgs(PoStationReader):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.fields = None
|
||||
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
||||
|
||||
def get_features(self):
|
||||
print("PoStationReaderQgs::get_features: Erzeuge Features...")
|
||||
|
||||
self.fields = QgsFields()
|
||||
self.fields.append(QgsField('uuid', QVariant.String))
|
||||
self.fields.append(QgsField('number', QVariant.LongLong))
|
||||
self.fields.append(QgsField('shortname', QVariant.String))
|
||||
self.fields.append(QgsField('longname', QVariant.String))
|
||||
self.fields.append(QgsField('km', QVariant.Double))
|
||||
self.fields.append(QgsField('agency', QVariant.String))
|
||||
self.fields.append(QgsField('water', QVariant.String))
|
||||
|
||||
features = []
|
||||
stations = self.get_stations()
|
||||
|
||||
if stations is None or len(stations) == 0:
|
||||
print("PoStationReaderQgs::get_features: Fehler: Keine Stationen erhalten")
|
||||
return None
|
||||
|
||||
for station in stations:
|
||||
feature = station.new_feature(self.fields)
|
||||
if feature is not None:
|
||||
features.append(feature)
|
||||
|
||||
print("PoStationReaderQgs::get_features: %d Features erzeugt" % (len(features),))
|
||||
return features
|
||||
39
po_modules/po_waterlevel.py
Normal file
39
po_modules/po_waterlevel.py
Normal file
@ -0,0 +1,39 @@
|
||||
from qgis._core import QgsFeature, QgsGeometry, QgsPointXY
|
||||
|
||||
|
||||
class PoWaterlevel(object):
|
||||
|
||||
def __init__(self, json):
|
||||
self.longitude = json['longitude'] if 'longitude' in json else None
|
||||
self.latitude = json['latitude'] if 'latitude' in json else None
|
||||
self.uuid = json['uuid']
|
||||
self.shortname = json['shortname']
|
||||
self.number = json['number']
|
||||
self.agency = json['agency']
|
||||
self.unit = json['timeseries'][0]['unit']
|
||||
self.timestamp = json['timeseries'][0]['currentMeasurement']['timestamp']
|
||||
self.value = json['timeseries'][0]['currentMeasurement']['value']
|
||||
self.mean = json['timeseries'][0]['currentMeasurement']['stateMnwMhw']
|
||||
self.absolute = json['timeseries'][0]['currentMeasurement']['stateNswHsw']
|
||||
self.water = json['water']['longname']
|
||||
|
||||
def new_feature(self, fields):
|
||||
if self.longitude is None or self.latitude is None:
|
||||
print("PoWaterlevel::new_feature: WARN: Station hat fehlende Koordinaten: %s" % (self.shortname,))
|
||||
return None
|
||||
|
||||
feature = QgsFeature(fields)
|
||||
|
||||
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(self.longitude, self.latitude)))
|
||||
|
||||
feature.setAttribute('shortname', self.shortname)
|
||||
feature.setAttribute('number', self.number)
|
||||
feature.setAttribute('agency', self.agency)
|
||||
feature.setAttribute('timestamp', self.timestamp)
|
||||
feature.setAttribute('value', self.value)
|
||||
feature.setAttribute('unit', self.unit)
|
||||
feature.setAttribute('mean', self.mean)
|
||||
feature.setAttribute('absolute', self.absolute)
|
||||
feature.setAttribute('water', self.water)
|
||||
|
||||
return feature
|
||||
25
po_modules/po_waterlevel_reader.py
Normal file
25
po_modules/po_waterlevel_reader.py
Normal file
@ -0,0 +1,25 @@
|
||||
from . import poBaseURL
|
||||
from .po_waterlevel import PoWaterlevel
|
||||
from .urlreader import UrlReader
|
||||
|
||||
|
||||
class PoWaterlevelReader(UrlReader):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(poBaseURL + 'stations.json?timeseries=W&includeTimeseries=true&includeCurrentMeasurement=true')
|
||||
|
||||
def get_waterlevels(self):
|
||||
print("PoWaterlevelReader::get_waterlevels: Lade Pegelstände herunter...")
|
||||
|
||||
stations_json = self.getJsonResponse()
|
||||
if stations_json is None or len(stations_json) == 0:
|
||||
print("PoWaterlevelReader::get_waterlevels: FEHLER: Keine Pegelstände erhalten")
|
||||
return None
|
||||
|
||||
stations = []
|
||||
for station_json in stations_json:
|
||||
stations.append(PoWaterlevel(station_json))
|
||||
|
||||
print("PoWaterlevelReader::get_waterlevels: %d Pegelstände erhalten" % (len(stations),))
|
||||
|
||||
return stations
|
||||
41
po_modules/po_waterlevels_reader_qgs.py
Normal file
41
po_modules/po_waterlevels_reader_qgs.py
Normal file
@ -0,0 +1,41 @@
|
||||
from PyQt5.QtCore import QVariant
|
||||
from qgis._core import QgsCoordinateReferenceSystem
|
||||
from qgis.core import QgsFields, QgsField
|
||||
|
||||
from .po_waterlevel_reader import PoWaterlevelReader
|
||||
|
||||
|
||||
class PoWaterlevelReaderQgs(PoWaterlevelReader):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.fields = None
|
||||
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
||||
|
||||
def get_features(self):
|
||||
print("PoWaterlevelReaderQgs::get_features: Erzeuge Features...")
|
||||
|
||||
self.fields = QgsFields()
|
||||
self.fields.append(QgsField('shortname', QVariant.String))
|
||||
self.fields.append(QgsField('number', QVariant.LongLong))
|
||||
self.fields.append(QgsField('agency', QVariant.String))
|
||||
self.fields.append(QgsField('timestamp', QVariant.DateTime))
|
||||
self.fields.append(QgsField('value', QVariant.Double))
|
||||
self.fields.append(QgsField('unit', QVariant.String))
|
||||
self.fields.append(QgsField('mean', QVariant.String))
|
||||
self.fields.append(QgsField('absolute', QVariant.String))
|
||||
self.fields.append(QgsField('water', QVariant.String))
|
||||
|
||||
features = []
|
||||
waterlevels = self.get_waterlevels()
|
||||
if waterlevels is None or len(waterlevels) == 0:
|
||||
print("PoWaterlevelReaderQgs::get_features: Fehler: Keine Pegelstände erhalten")
|
||||
return None
|
||||
|
||||
for waterlevel in waterlevels:
|
||||
feature = waterlevel.new_feature(self.fields)
|
||||
if feature is not None:
|
||||
features.append(feature)
|
||||
|
||||
print("PoWaterlevelReaderQgs::get_features: %d Features erzeugt" % (len(features),))
|
||||
return features
|
||||
164
po_runner.py
164
po_runner.py
@ -3,18 +3,17 @@ from typing import Callable
|
||||
|
||||
from PyQt5 import QtGui
|
||||
from PyQt5.QtWidgets import QAction
|
||||
from qgis._core import QgsVectorLayer, QgsProject, QgsLayerTreeLayer, QgsPalLayerSettings, QgsVectorLayerSimpleLabeling
|
||||
from qgis._core import QgsVectorLayer, QgsProject, QgsLayerTreeLayer, QgsPalLayerSettings, QgsVectorLayerSimpleLabeling, QgsStyle, QgsSymbol, QgsRendererCategory, QgsCategorizedSymbolRenderer
|
||||
|
||||
from .map_tips import WATERLEVELS_MAP_TIPS, STATIONS_MAP_TIPS, BASEMAP_MAP_TIPS
|
||||
from .pegelonline_dockwidget import PegelonlineDockWidget
|
||||
from .pegelonline_dockwidget_graph import PegelonlineDockWidgetGraph
|
||||
from .pomodules.po_history import PoHistory
|
||||
from .pomodules.po_stations import PoStations
|
||||
from .pomodules.po_stations_qgs import PoStationsQgs
|
||||
from .pomodules.po_waterlevels_qgs import PoWaterlevelsQgs
|
||||
from .po_modules.po_graph_reader import PoGraphReader
|
||||
from .po_modules.po_stations import PoStationReader
|
||||
from .po_modules.po_stations_qgs import PoStationReaderQgs
|
||||
from .po_modules.po_waterlevels_reader_qgs import PoWaterlevelReaderQgs
|
||||
|
||||
|
||||
# noinspection PyMethodMayBeStatic
|
||||
class PoRunner(object):
|
||||
|
||||
def __init__(self, ui: PegelonlineDockWidget, graph: PegelonlineDockWidgetGraph, iface):
|
||||
@ -43,8 +42,8 @@ class PoRunner(object):
|
||||
self.ui.btnMapTips.setDefaultAction(iface.actionMapTips())
|
||||
|
||||
# Signale verbinden
|
||||
self._connect_basemap_signals()
|
||||
self._connect_stations_signals()
|
||||
self._basemap_connect_signals()
|
||||
self._stations_connect_signals()
|
||||
self._waterlevels_connect_signals()
|
||||
self._history_connect_signals()
|
||||
|
||||
@ -60,7 +59,6 @@ class PoRunner(object):
|
||||
return None
|
||||
|
||||
# disconnect setzen
|
||||
# noinspection PyUnresolvedReferences
|
||||
basemap.willBeDeleted.connect(disconnect)
|
||||
|
||||
# map-tips setzen
|
||||
@ -77,7 +75,7 @@ class PoRunner(object):
|
||||
|
||||
# basemap signals ---------------------------------------------------------
|
||||
|
||||
def _connect_basemap_signals(self):
|
||||
def _basemap_connect_signals(self):
|
||||
print("_connect_basemap_signals")
|
||||
self.ui.cbBasemapLines.toggled.connect(self._cbBasemapLines_toggled)
|
||||
self.ui.cbBasemapAreas.toggled.connect(self._cbBasemapAreas_toggled)
|
||||
@ -116,29 +114,57 @@ class PoRunner(object):
|
||||
|
||||
# stations ----------------------------------------------------------------
|
||||
|
||||
def _connect_stations_signals(self):
|
||||
def _stations_connect_signals(self):
|
||||
print("_connect_stations_signals")
|
||||
# noinspection DuplicatedCode
|
||||
self.ui.cbStationsVisible.toggled.connect(self._cbStationsVisible_toggled)
|
||||
self.ui.cbStationsName.toggled.connect(self._cbStationsName_toggled)
|
||||
self.ui.cbStationsNumber.toggled.connect(self._cbStationsNumber_toggled)
|
||||
self.ui.cbStationsAgency.toggled.connect(self._cbStationsAgency_toggled)
|
||||
self.ui.cbStationsKm.toggled.connect(self._cbStationsKm_toggled)
|
||||
self.ui.cbStationsWater.toggled.connect(self._cbStationsWater_toggled)
|
||||
self.ui.bgStationsStyle.buttonClicked.connect(self._bgStationsStyle_clicked)
|
||||
|
||||
def _stations_apply_style(self):
|
||||
button = self.ui.bgStationsStyle.checkedButton()
|
||||
self._bgStationsStyle_clicked(button)
|
||||
|
||||
def _bgStationsStyle_clicked(self, button):
|
||||
print("_bgStationsStyle_clicked: %s" % (button.objectName(),))
|
||||
|
||||
if self.stations is None:
|
||||
return
|
||||
|
||||
file = "styles/stations.qml"
|
||||
|
||||
if self.ui.rbStationsStyleSimple == button:
|
||||
self._layer_apply_style_from_file(self.stations, file)
|
||||
return
|
||||
elif self.ui.rbStationsStyleAgency == button:
|
||||
field = "agency"
|
||||
elif self.ui.rbStationsStyleWater == button:
|
||||
field = "water"
|
||||
else:
|
||||
print("_bgStationsStyle_clicked: Style nicht implementiert: %s" % (button.objectName(),))
|
||||
self._layer_apply_style_from_file(self.stations, file)
|
||||
return
|
||||
|
||||
self._stations_update_labels()
|
||||
self._layer_apply_style_per_category(self.stations, field, file)
|
||||
|
||||
def _cbStationsVisible_toggled(self):
|
||||
visible = self.ui.cbStationsVisible.isChecked()
|
||||
print("_cbStationsVisible_toggled: %s" % (visible,))
|
||||
|
||||
if self.stations is None and visible:
|
||||
reader = PoStationsQgs()
|
||||
features = reader.getStationsFeatures()
|
||||
reader = PoStationReaderQgs()
|
||||
features = reader.get_features()
|
||||
self.stations = self._layer_create_from_reader(reader.fields, reader.crs, features, "Stationen", STATIONS_MAP_TIPS)
|
||||
self._layer_add_to_instance(self.stations, "styles/label_stations.qml", self._stations_disconnect)
|
||||
self._layer_add_to_instance(self.stations, self._stations_disconnect)
|
||||
|
||||
if self.stations is not None:
|
||||
self._layer_set_visible(self.stations, visible)
|
||||
self._stations_update_labels()
|
||||
if visible:
|
||||
self._stations_apply_style()
|
||||
|
||||
def _cbStationsName_toggled(self):
|
||||
checked = self.ui.cbStationsName.isChecked()
|
||||
@ -170,7 +196,6 @@ class PoRunner(object):
|
||||
self.stations = None
|
||||
self.ui.cbStationsVisible.setChecked(False)
|
||||
|
||||
# noinspection DuplicatedCode
|
||||
def _stations_update_labels(self):
|
||||
print("_stations_update_labels")
|
||||
if self.stations is None:
|
||||
@ -194,7 +219,6 @@ class PoRunner(object):
|
||||
|
||||
def _waterlevels_connect_signals(self):
|
||||
print("_waterlevels_connect_signals")
|
||||
# noinspection DuplicatedCode
|
||||
self.ui.cbWaterlevelsVisible.toggled.connect(self._cbWaterlevelsVisible_toggled)
|
||||
self.ui.cbWaterlevelsName.toggled.connect(self._cbWaterlevelsName_toggled)
|
||||
self.ui.cbWaterlevelsNumber.toggled.connect(self._cbWaterlevelsNumber_toggled)
|
||||
@ -204,20 +228,52 @@ class PoRunner(object):
|
||||
self.ui.cbWaterlevelsMean.toggled.connect(self._cbWaterlevelsMean_toggled)
|
||||
self.ui.cbWaterlevelsAbsolute.toggled.connect(self._cbWaterlevelsAbsolute_toggled)
|
||||
self.ui.cbWaterlevelsWater.toggled.connect(self._cbWaterlevelsWater_toggled)
|
||||
self.ui.bgWaterlevelsStyle.buttonClicked.connect(self._bgWaterlevelsStyle_clicked)
|
||||
|
||||
def _waterlevels_apply_style(self):
|
||||
button = self.ui.bgWaterlevelsStyle.checkedButton()
|
||||
self._bgWaterlevelsStyle_clicked(button)
|
||||
|
||||
def _bgWaterlevelsStyle_clicked(self, button):
|
||||
print("_bgWaterlevelsStyle_clicked: %s" % (button.objectName(),))
|
||||
|
||||
if self.waterlevels is None:
|
||||
return
|
||||
|
||||
file = "styles/waterlevels.qml"
|
||||
if self.ui.rbWaterlevelsStyleSimple == button:
|
||||
self._layer_apply_style_from_file(self.waterlevels, file)
|
||||
return
|
||||
elif self.ui.rbWaterlevelsStyleAgency == button:
|
||||
field = "agency"
|
||||
elif self.ui.rbWaterlevelsStyleWater == button:
|
||||
field = "water"
|
||||
elif self.ui.rbWaterlevelsStyleMean == button:
|
||||
field = "mean"
|
||||
elif self.ui.rbWaterlevelsStyleAbsolute == button:
|
||||
field = "absolute"
|
||||
else:
|
||||
print("_bgWaterlevelsStyle_clicked: Style nicht implementiert: %s" % (button.objectName(),))
|
||||
self._layer_apply_style_from_file(self.waterlevels, file)
|
||||
return
|
||||
|
||||
self._waterlevels_update_labels()
|
||||
self._layer_apply_style_per_category(self.waterlevels, field, file)
|
||||
|
||||
def _cbWaterlevelsVisible_toggled(self):
|
||||
visible = self.ui.cbWaterlevelsVisible.isChecked()
|
||||
print("_cbWaterlevelsVisible_toggled: %s" % (visible,))
|
||||
|
||||
if self.waterlevels is None and visible:
|
||||
reader = PoWaterlevelsQgs()
|
||||
features = reader.getWaterlevelsFeatures()
|
||||
reader = PoWaterlevelReaderQgs()
|
||||
features = reader.get_features()
|
||||
self.waterlevels = self._layer_create_from_reader(reader.fields, reader.crs, features, "Pegelstände", WATERLEVELS_MAP_TIPS)
|
||||
self._layer_add_to_instance(self.waterlevels, "styles/label_waterlevels.qml", self.waterlevels_disconnect)
|
||||
self._layer_add_to_instance(self.waterlevels, self.waterlevels_disconnect)
|
||||
|
||||
if self.waterlevels is not None:
|
||||
self._layer_set_visible(self.waterlevels, visible)
|
||||
self._waterlevels_update_labels()
|
||||
if visible:
|
||||
self._waterlevels_apply_style()
|
||||
|
||||
def _cbWaterlevelsName_toggled(self):
|
||||
checked = self.ui.cbWaterlevelsName.isChecked()
|
||||
@ -264,7 +320,6 @@ class PoRunner(object):
|
||||
self.waterlevels = None
|
||||
self.ui.cbWaterlevelsVisible.setChecked(False)
|
||||
|
||||
# noinspection DuplicatedCode
|
||||
def _waterlevels_update_labels(self):
|
||||
print("_waterlevels_update_labels")
|
||||
if self.waterlevels is None:
|
||||
@ -284,9 +339,9 @@ class PoRunner(object):
|
||||
if self.ui.cbWaterlevelsValue.isChecked():
|
||||
fields.append('"value", \' \', "unit"') # 3 Teile anhängen: value, leerzeichen, unit
|
||||
if self.ui.cbWaterlevelsMean.isChecked():
|
||||
fields.append('\'MnwMhw=\', "stateMnwMhw"')
|
||||
fields.append('\'MnwMhw=\', "mean"')
|
||||
if self.ui.cbWaterlevelsAbsolute.isChecked():
|
||||
fields.append('\'NswHsw=\', "stateNswHsw"')
|
||||
fields.append('\'NswHsw=\', "absolute"')
|
||||
self._layer_update_labels(self.waterlevels, fields)
|
||||
|
||||
# layers ------------------------------------------------------------------
|
||||
@ -326,15 +381,12 @@ class PoRunner(object):
|
||||
|
||||
return None
|
||||
|
||||
def _layer_add_to_instance(self, layer: QgsVectorLayer, styles_path: str, disconnect: Callable[[], None]):
|
||||
def _layer_add_to_instance(self, layer: QgsVectorLayer, disconnect: Callable[[], None]):
|
||||
print("_layer_add_to_instance")
|
||||
if layer is None:
|
||||
print("_layer_add_to_instance: Fehler: Übergebener Layer ist None")
|
||||
return
|
||||
|
||||
# Styles laden
|
||||
layer.loadNamedStyle(os.path.join(self.local_dir, styles_path))
|
||||
|
||||
# disconnect Signal verbinden
|
||||
layer.willBeDeleted.connect(disconnect)
|
||||
layer.selectionChanged.connect(self._layer_selection_changed)
|
||||
@ -358,7 +410,7 @@ class PoRunner(object):
|
||||
self._history_load_stations()
|
||||
|
||||
selected_shortname = selected[0].attribute("shortname")
|
||||
print("_layer_selection_changed: Lade Pegelstandsverlauf zur Auswahl: %s" % (selected_shortname))
|
||||
print("_layer_selection_changed: Lade Pegelstandsverlauf zur Auswahl: %s" % (selected_shortname,))
|
||||
self._historyStation_set_by_shortname(selected_shortname)
|
||||
else:
|
||||
print("_layer_selection_changed: Anzahl ausgewählter Elemente ist NICHT 1, lade Pegelstandsverlauf NICHT!")
|
||||
@ -386,6 +438,42 @@ class PoRunner(object):
|
||||
else:
|
||||
self.iface.mapCanvas().refresh()
|
||||
|
||||
# layers styles -----------------------------------------------------------
|
||||
|
||||
def _layer_apply_style_per_category(self, layer, attribute_name, file):
|
||||
print("_layer_apply_style_per_category: Erzeuge kategorisierte Farben...")
|
||||
ramp = QgsStyle().defaultStyle().colorRamp("Turbo")
|
||||
if ramp is None:
|
||||
self._layer_apply_style_from_file(layer, file)
|
||||
print("_layer_apply_style_per_category: Farbrampe nicht gefunden.")
|
||||
return
|
||||
|
||||
idx = layer.fields().indexOf(attribute_name)
|
||||
values = sorted(v for v in layer.uniqueValues(idx) if v is not None)
|
||||
|
||||
cats = []
|
||||
for v in values:
|
||||
sym = QgsSymbol.defaultSymbol(layer.geometryType())
|
||||
if len(values) > 1:
|
||||
t = values.index(v) / (len(values) - 1)
|
||||
else:
|
||||
t = 0.0
|
||||
sym.setColor(ramp.color(t))
|
||||
cats.append(QgsRendererCategory(v, sym, str(v)))
|
||||
|
||||
renderer = QgsCategorizedSymbolRenderer(attribute_name, cats)
|
||||
layer.setRenderer(renderer)
|
||||
self._layer_refresh(layer)
|
||||
|
||||
def _layer_apply_style_from_file(self, layer, file):
|
||||
path = os.path.join(self.local_dir, file)
|
||||
print("_layer_apply_style_from_file: Lade Style Datei: %s" % (path,))
|
||||
|
||||
res = layer.loadNamedStyle(path)
|
||||
print("_layer_apply_style_from_file: result: %s" % (res,))
|
||||
|
||||
self._layer_refresh(layer)
|
||||
|
||||
# history signals ---------------------------------------------------------
|
||||
|
||||
def _history_connect_signals(self):
|
||||
@ -433,7 +521,7 @@ class PoRunner(object):
|
||||
self.graph.lbHistory.setText("Bitte Tage [1, 30] wählen...")
|
||||
return
|
||||
|
||||
history = PoHistory(station, days)
|
||||
history = PoGraphReader(station, days)
|
||||
image_data = history.download()
|
||||
|
||||
if image_data is None or len(image_data) == 0:
|
||||
@ -455,26 +543,20 @@ class PoRunner(object):
|
||||
|
||||
# behalte die aktuelle Station, um sie (mit eventuell neuem Index) wiederherzustellen
|
||||
current_station = self.ui.slHistoryStation.currentText()
|
||||
print("_history_load_stations: bisherige_station=%s" % current_station)
|
||||
print("_history_load_stations: bisherige_station=%s" % (current_station,))
|
||||
|
||||
self.ui.slHistoryStation.clear()
|
||||
|
||||
stations = PoStations().getStations()
|
||||
stations = PoStationReader().get_stations()
|
||||
if stations is None or len(stations) == 0:
|
||||
print("_history_load_stations: Fehler: Keine Stationen erhalten")
|
||||
return
|
||||
|
||||
index = 0
|
||||
neuer_index = None
|
||||
for station in stations:
|
||||
shortname = station['attributes']['shortname']
|
||||
if shortname == current_station:
|
||||
neuer_index = index
|
||||
self.ui.slHistoryStation.addItem(shortname)
|
||||
index += 1
|
||||
self.ui.slHistoryStation.addItem(station.shortname)
|
||||
|
||||
if self._historyStation_set_by_shortname(current_station):
|
||||
print("_history_load_stations: Bisherige Station \"%s\" mit neuem index=%d wiederhergestellt" % (current_station, neuer_index))
|
||||
print("_history_load_stations: Bisherige Station \"%s\" wiederhergestellt" % (current_station,))
|
||||
else:
|
||||
self.ui.slHistoryStation.setCurrentIndex(0)
|
||||
station = self.ui.slHistoryStation.currentText()
|
||||
|
||||
@ -1,40 +0,0 @@
|
||||
from . import poBaseURL
|
||||
from .urlreader import UrlReader
|
||||
|
||||
|
||||
class PoStations(UrlReader):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(poBaseURL + 'stations.json')
|
||||
|
||||
def getStations(self):
|
||||
print("getStations: Lade Stationen herunter...")
|
||||
|
||||
stations_json = self.getJsonResponse()
|
||||
if stations_json is None or len(stations_json) == 0:
|
||||
print("getStations: Keine Stationen erhalten")
|
||||
return None
|
||||
|
||||
stations = []
|
||||
for station_json in stations_json:
|
||||
stations.append(
|
||||
{
|
||||
'geometry': {
|
||||
'longitude': station_json['longitude'] if 'longitude' in station_json else None,
|
||||
'latitude': station_json['latitude'] if 'latitude' in station_json else None,
|
||||
},
|
||||
'attributes': {
|
||||
'uuid': station_json['uuid'],
|
||||
'number': station_json['number'],
|
||||
'shortname': station_json['shortname'],
|
||||
'longname': station_json['longname'],
|
||||
'km': station_json['km'] if 'km' in station_json else None,
|
||||
'agency': station_json['agency'],
|
||||
'water': station_json['water']['longname'],
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
print("getStations: %d Stationen erhalten" % (len(stations),))
|
||||
|
||||
return stations
|
||||
@ -1,62 +0,0 @@
|
||||
from PyQt5.QtCore import QVariant
|
||||
from qgis._core import QgsCoordinateReferenceSystem, QgsGeometry, QgsPointXY
|
||||
from qgis.core import QgsFields, QgsFeature, QgsField
|
||||
|
||||
from .po_stations import PoStations
|
||||
|
||||
|
||||
class PoStationsQgs(PoStations):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.fields = None
|
||||
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
||||
|
||||
def getStationsFeatures(self):
|
||||
print("getStationsFeatures: Erzeuge Features...")
|
||||
|
||||
self.fields = QgsFields()
|
||||
self.fields.append(QgsField('uuid', QVariant.String))
|
||||
self.fields.append(QgsField('number', QVariant.LongLong))
|
||||
self.fields.append(QgsField('shortname', QVariant.String))
|
||||
self.fields.append(QgsField('longname', QVariant.String))
|
||||
self.fields.append(QgsField('km', QVariant.Double))
|
||||
self.fields.append(QgsField('agency', QVariant.String))
|
||||
self.fields.append(QgsField('water', QVariant.String))
|
||||
|
||||
features = []
|
||||
stations = self.getStations()
|
||||
|
||||
if stations is None or len(stations) == 0:
|
||||
print("getStationsFeatures: Fehler: Keine Stationen erhalten")
|
||||
return None
|
||||
|
||||
for station in stations:
|
||||
feature = self._getFeatureForStation(station)
|
||||
if feature is not None:
|
||||
features.append(feature)
|
||||
|
||||
print("getStationsFeatures: %d Features erzeugt" % (len(features),))
|
||||
return features
|
||||
|
||||
def _getFeatureForStation(self, station) -> None | QgsFeature:
|
||||
# noinspection DuplicatedCode
|
||||
if station['geometry']['longitude'] is None or station['geometry']['latitude'] is None:
|
||||
print("_getFeatureForStation: WARN: Station hat fehlende Koordinaten: %s" % (station['attributes']['shortname'],))
|
||||
return None
|
||||
|
||||
feature = QgsFeature(self.fields)
|
||||
|
||||
longitude = station['geometry']['longitude']
|
||||
latitude = station['geometry']['latitude']
|
||||
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(longitude, latitude)))
|
||||
|
||||
feature.setAttribute('uuid', station['attributes']['uuid'])
|
||||
feature.setAttribute('number', station['attributes']['number'])
|
||||
feature.setAttribute('shortname', station['attributes']['shortname'])
|
||||
feature.setAttribute('longname', station['attributes']['longname'])
|
||||
feature.setAttribute('km', station['attributes']['km'])
|
||||
feature.setAttribute('agency', station['attributes']['agency'])
|
||||
feature.setAttribute('water', station['attributes']['water'])
|
||||
|
||||
return feature
|
||||
@ -1,43 +0,0 @@
|
||||
from . import poBaseURL
|
||||
from .urlreader import UrlReader
|
||||
|
||||
|
||||
class PoWaterlevels(UrlReader):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__(poBaseURL + 'stations.json?timeseries=W&includeTimeseries=true&includeCurrentMeasurement=true')
|
||||
|
||||
def getWaterlevels(self):
|
||||
print("getWaterlevels: Lade Pegelstände herunter...")
|
||||
|
||||
stations_json = self.getJsonResponse()
|
||||
if stations_json is None or len(stations_json) == 0:
|
||||
print("getWaterlevels: FEHLER: Keine Pegelstände erhalten")
|
||||
return None
|
||||
|
||||
stations = []
|
||||
for station_json in stations_json:
|
||||
stations.append(
|
||||
{
|
||||
'geometry': {
|
||||
'longitude': station_json['longitude'] if 'longitude' in station_json else None,
|
||||
'latitude': station_json['latitude'] if 'latitude' in station_json else None,
|
||||
},
|
||||
'attributes': {
|
||||
'uuid': station_json['uuid'],
|
||||
'shortname': station_json['shortname'],
|
||||
'number': station_json['number'],
|
||||
'agency': station_json['agency'],
|
||||
'unit': station_json['timeseries'][0]['unit'],
|
||||
'timestamp': station_json['timeseries'][0]['currentMeasurement']['timestamp'],
|
||||
'value': station_json['timeseries'][0]['currentMeasurement']['value'],
|
||||
'stateMnwMhw': station_json['timeseries'][0]['currentMeasurement']['stateMnwMhw'],
|
||||
'stateNswHsw': station_json['timeseries'][0]['currentMeasurement']['stateNswHsw'],
|
||||
'water': station_json['water']['longname'],
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
print("getWaterlevels: %d Pegelstände erhalten" % (len(stations),))
|
||||
|
||||
return stations
|
||||
@ -1,65 +0,0 @@
|
||||
from PyQt5.QtCore import QVariant
|
||||
from qgis._core import QgsCoordinateReferenceSystem, QgsGeometry, QgsPointXY
|
||||
from qgis.core import QgsFields, QgsFeature, QgsField
|
||||
|
||||
from .po_waterlevels import PoWaterlevels
|
||||
|
||||
|
||||
class PoWaterlevelsQgs(PoWaterlevels):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.fields = None
|
||||
self.crs = QgsCoordinateReferenceSystem(4326, QgsCoordinateReferenceSystem.EpsgCrsId)
|
||||
|
||||
def getWaterlevelsFeatures(self):
|
||||
print("getWaterlevelsFeatures: Erzeuge Features...")
|
||||
|
||||
self.fields = QgsFields()
|
||||
self.fields.append(QgsField('shortname', QVariant.String))
|
||||
self.fields.append(QgsField('number', QVariant.LongLong))
|
||||
self.fields.append(QgsField('agency', QVariant.String))
|
||||
self.fields.append(QgsField('timestamp', QVariant.DateTime))
|
||||
self.fields.append(QgsField('value', QVariant.Double))
|
||||
self.fields.append(QgsField('unit', QVariant.String))
|
||||
self.fields.append(QgsField('stateMnwMhw', QVariant.String))
|
||||
self.fields.append(QgsField('stateNswHsw', QVariant.String))
|
||||
self.fields.append(QgsField('water', QVariant.String))
|
||||
|
||||
features = []
|
||||
waterlevels = self.getWaterlevels()
|
||||
if waterlevels is None or len(waterlevels) == 0:
|
||||
print("getWaterlevelsFeatures: Fehler: Keine Pegelstände erhalten")
|
||||
return None
|
||||
|
||||
for station in waterlevels:
|
||||
feature = self._getFeatureForStation(station)
|
||||
if feature is not None:
|
||||
features.append(feature)
|
||||
|
||||
print("getWaterlevelsFeatures: %d Features erzeugt" % (len(features),))
|
||||
return features
|
||||
|
||||
def _getFeatureForStation(self, station):
|
||||
# noinspection DuplicatedCode
|
||||
if station['geometry']['longitude'] is None or station['geometry']['latitude'] is None:
|
||||
print("_getFeatureForStation: WARN: Station hat fehlende Koordinaten: %s" % (station['attributes']['shortname'],))
|
||||
return None
|
||||
|
||||
feature = QgsFeature(self.fields)
|
||||
|
||||
longitude = station['geometry']['longitude']
|
||||
latitude = station['geometry']['latitude']
|
||||
feature.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(longitude, latitude)))
|
||||
|
||||
feature.setAttribute('shortname', station['attributes']['shortname'])
|
||||
feature.setAttribute('number', station['attributes']['number'])
|
||||
feature.setAttribute('agency', station['attributes']['agency'])
|
||||
feature.setAttribute('timestamp', station['attributes']['timestamp'])
|
||||
feature.setAttribute('value', station['attributes']['value'])
|
||||
feature.setAttribute('unit', station['attributes']['unit'])
|
||||
feature.setAttribute('stateMnwMhw', station['attributes']['stateMnwMhw'])
|
||||
feature.setAttribute('stateNswHsw', station['attributes']['stateNswHsw'])
|
||||
feature.setAttribute('water', station['attributes']['water'])
|
||||
|
||||
return feature
|
||||
@ -1,243 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis maxScale="0" labelsEnabled="1" readOnly="0" hasScaleBasedVisibilityFlag="0" styleCategories="AllStyleCategories" simplifyLocal="1" minScale="1e+08" simplifyMaxScale="1" simplifyAlgorithm="0" version="3.4.6-Madeira" simplifyDrawingTol="1" simplifyDrawingHints="0">
|
||||
<flags>
|
||||
<Identifiable>1</Identifiable>
|
||||
<Removable>1</Removable>
|
||||
<Searchable>1</Searchable>
|
||||
</flags>
|
||||
<renderer-v2 symbollevels="0" enableorderby="0" forceraster="0" type="singleSymbol">
|
||||
<symbols>
|
||||
<symbol clip_to_extent="1" alpha="1" name="0" type="marker" force_rhr="0">
|
||||
<layer enabled="1" pass="0" locked="0" class="SimpleMarker">
|
||||
<prop v="0" k="angle"/>
|
||||
<prop v="227,26,28,255" k="color"/>
|
||||
<prop v="1" k="horizontal_anchor_point"/>
|
||||
<prop v="bevel" k="joinstyle"/>
|
||||
<prop v="circle" k="name"/>
|
||||
<prop v="0,0" k="offset"/>
|
||||
<prop v="3x:0,0,0,0,0,0" k="offset_map_unit_scale"/>
|
||||
<prop v="MM" k="offset_unit"/>
|
||||
<prop v="35,35,35,255" k="outline_color"/>
|
||||
<prop v="solid" k="outline_style"/>
|
||||
<prop v="0" k="outline_width"/>
|
||||
<prop v="3x:0,0,0,0,0,0" k="outline_width_map_unit_scale"/>
|
||||
<prop v="MM" k="outline_width_unit"/>
|
||||
<prop v="diameter" k="scale_method"/>
|
||||
<prop v="2" k="size"/>
|
||||
<prop v="3x:0,0,0,0,0,0" k="size_map_unit_scale"/>
|
||||
<prop v="MM" k="size_unit"/>
|
||||
<prop v="1" k="vertical_anchor_point"/>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" type="QString" value=""/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" type="QString" value="collection"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple">
|
||||
<settings>
|
||||
<text-style namedStyle="Regular" fontUnderline="0" fontWordSpacing="0" fontStrikeout="0" fontWeight="25" fontSize="10" isExpression="0" blendMode="0" fontFamily="Calibri Light" fontLetterSpacing="0" textColor="0,0,0,255" previewBkgrdColor="#ffffff" fontSizeUnit="Point" multilineHeight="1" fieldName="shortname" fontSizeMapUnitScale="3x:0,0,0,0,0,0" textOpacity="1" fontCapitals="0" useSubstitutions="0" fontItalic="0">
|
||||
<text-buffer bufferSize="1" bufferJoinStyle="128" bufferSizeMapUnitScale="3x:0,0,0,0,0,0" bufferColor="255,255,255,255" bufferDraw="1" bufferNoFill="1" bufferOpacity="1" bufferSizeUnits="MM" bufferBlendMode="0"/>
|
||||
<background shapeRadiiY="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeOpacity="1" shapeDraw="0" shapeType="0" shapeSVGFile="" shapeSizeY="0" shapeSizeUnit="MM" shapeOffsetUnit="MM" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeOffsetX="0" shapeJoinStyle="64" shapeRotationType="0" shapeSizeX="0" shapeRotation="0" shapeBorderWidth="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeBlendMode="0" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeOffsetY="0" shapeBorderColor="128,128,128,255" shapeRadiiUnit="MM" shapeSizeType="0" shapeFillColor="255,255,255,255" shapeBorderWidthUnit="MM" shapeRadiiX="0"/>
|
||||
<shadow shadowRadius="1.5" shadowBlendMode="6" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowOpacity="0.7" shadowDraw="0" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowScale="100" shadowUnder="0" shadowRadiusAlphaOnly="0" shadowOffsetAngle="135" shadowOffsetUnit="MM" shadowRadiusUnit="MM" shadowOffsetDist="1" shadowOffsetGlobal="1" shadowColor="0,0,0,255"/>
|
||||
<substitutions/>
|
||||
</text-style>
|
||||
<text-format addDirectionSymbol="0" placeDirectionSymbol="0" multilineAlign="3" plussign="0" leftDirectionSymbol="<" rightDirectionSymbol=">" formatNumbers="0" reverseDirectionSymbol="0" decimals="3" autoWrapLength="0" wrapChar="" useMaxLineLengthForAutoWrap="1"/>
|
||||
<placement repeatDistanceMapUnitScale="3x:0,0,0,0,0,0" fitInPolygonOnly="0" quadOffset="1" distUnits="MM" yOffset="0" priority="5" placement="1" repeatDistance="0" offsetType="0" preserveRotation="1" offsetUnits="MM" maxCurvedCharAngleOut="-25" rotationAngle="0" repeatDistanceUnits="MM" maxCurvedCharAngleIn="25" centroidWhole="0" dist="0" xOffset="0" placementFlags="10" predefinedPositionOrder="TR,TL,BR,BL,R,L,TSR,BSR" centroidInside="0" labelOffsetMapUnitScale="3x:0,0,0,0,0,0" distMapUnitScale="3x:0,0,0,0,0,0"/>
|
||||
<rendering maxNumLabels="2000" obstacle="1" fontLimitPixelSize="0" obstacleFactor="1" minFeatureSize="0" drawLabels="1" scaleMin="0" upsidedownLabels="0" fontMaxPixelSize="10000" zIndex="0" obstacleType="0" fontMinPixelSize="3" scaleMax="0" limitNumLabels="0" displayAll="0" labelPerPart="0" scaleVisibility="0" mergeLines="0"/>
|
||||
<dd_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" type="QString" value=""/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" type="QString" value="collection"/>
|
||||
</Option>
|
||||
</dd_properties>
|
||||
</settings>
|
||||
</labeling>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerOpacity>1</layerOpacity>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" attributeLegend="1">
|
||||
<DiagramCategory penAlpha="255" penColor="#000000" maxScaleDenominator="1e+08" sizeType="MM" backgroundAlpha="255" width="15" barWidth="5" penWidth="0" height="15" opacity="1" enabled="0" rotationOffset="270" scaleBasedVisibility="0" labelPlacementMethod="XHeight" minScaleDenominator="0" lineSizeType="MM" scaleDependency="Area" diagramOrientation="Up" sizeScale="3x:0,0,0,0,0,0" lineSizeScale="3x:0,0,0,0,0,0" minimumSize="0" backgroundColor="#ffffff">
|
||||
<fontProperties style="" description="MS Shell Dlg 2,8.1,-1,5,50,0,0,0,0,0"/>
|
||||
</DiagramCategory>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings showAll="1" priority="0" zIndex="0" obstacle="0" dist="0" placement="0" linePlacementFlags="18">
|
||||
<properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" type="QString" value=""/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" type="QString" value="collection"/>
|
||||
</Option>
|
||||
</properties>
|
||||
</DiagramLayerSettings>
|
||||
<geometryOptions removeDuplicateNodes="0" geometryPrecision="0">
|
||||
<activeChecks/>
|
||||
<checkConfiguration/>
|
||||
</geometryOptions>
|
||||
<fieldConfiguration>
|
||||
<field name="uuid">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="number">
|
||||
<editWidget type="Range">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="shortname">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="longname">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="km">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="agency">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="water">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
</fieldConfiguration>
|
||||
<aliases>
|
||||
<alias index="0" name="" field="uuid"/>
|
||||
<alias index="1" name="" field="number"/>
|
||||
<alias index="2" name="" field="shortname"/>
|
||||
<alias index="3" name="" field="longname"/>
|
||||
<alias index="4" name="" field="km"/>
|
||||
<alias index="5" name="" field="agency"/>
|
||||
<alias index="6" name="" field="water"/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<defaults>
|
||||
<default applyOnUpdate="0" field="uuid" expression=""/>
|
||||
<default applyOnUpdate="0" field="number" expression=""/>
|
||||
<default applyOnUpdate="0" field="shortname" expression=""/>
|
||||
<default applyOnUpdate="0" field="longname" expression=""/>
|
||||
<default applyOnUpdate="0" field="km" expression=""/>
|
||||
<default applyOnUpdate="0" field="agency" expression=""/>
|
||||
<default applyOnUpdate="0" field="water" expression=""/>
|
||||
</defaults>
|
||||
<constraints>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="uuid" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="number" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="shortname" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="longname" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="km" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="agency" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="water" unique_strength="0" constraints="0"/>
|
||||
</constraints>
|
||||
<constraintExpressions>
|
||||
<constraint desc="" exp="" field="uuid"/>
|
||||
<constraint desc="" exp="" field="number"/>
|
||||
<constraint desc="" exp="" field="shortname"/>
|
||||
<constraint desc="" exp="" field="longname"/>
|
||||
<constraint desc="" exp="" field="km"/>
|
||||
<constraint desc="" exp="" field="agency"/>
|
||||
<constraint desc="" exp="" field="water"/>
|
||||
</constraintExpressions>
|
||||
<expressionfields/>
|
||||
<attributeactions>
|
||||
<defaultAction key="Canvas" value="{00000000-0000-0000-0000-000000000000}"/>
|
||||
</attributeactions>
|
||||
<attributetableconfig sortOrder="0" actionWidgetStyle="dropDown" sortExpression="">
|
||||
<columns>
|
||||
<column name="uuid" hidden="0" width="-1" type="field"/>
|
||||
<column name="number" hidden="0" width="-1" type="field"/>
|
||||
<column name="shortname" hidden="0" width="-1" type="field"/>
|
||||
<column name="longname" hidden="0" width="-1" type="field"/>
|
||||
<column name="km" hidden="0" width="-1" type="field"/>
|
||||
<column name="agency" hidden="0" width="-1" type="field"/>
|
||||
<column name="water" hidden="0" width="-1" type="field"/>
|
||||
<column hidden="1" width="-1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<editform tolerant="1"></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<editable>
|
||||
<field name="agency" editable="1"/>
|
||||
<field name="km" editable="1"/>
|
||||
<field name="longname" editable="1"/>
|
||||
<field name="number" editable="1"/>
|
||||
<field name="shortname" editable="1"/>
|
||||
<field name="uuid" editable="1"/>
|
||||
<field name="water" editable="1"/>
|
||||
</editable>
|
||||
<labelOnTop>
|
||||
<field name="agency" labelOnTop="0"/>
|
||||
<field name="km" labelOnTop="0"/>
|
||||
<field name="longname" labelOnTop="0"/>
|
||||
<field name="number" labelOnTop="0"/>
|
||||
<field name="shortname" labelOnTop="0"/>
|
||||
<field name="uuid" labelOnTop="0"/>
|
||||
<field name="water" labelOnTop="0"/>
|
||||
</labelOnTop>
|
||||
<widgets/>
|
||||
<previewExpression>uuid</previewExpression>
|
||||
<mapTip></mapTip>
|
||||
<layerGeometryType>0</layerGeometryType>
|
||||
</qgis>
|
||||
@ -1,243 +0,0 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis maxScale="0" labelsEnabled="1" readOnly="0" hasScaleBasedVisibilityFlag="0" styleCategories="AllStyleCategories" simplifyLocal="1" minScale="1e+08" simplifyMaxScale="1" simplifyAlgorithm="0" version="3.4.6-Madeira" simplifyDrawingTol="1" simplifyDrawingHints="0">
|
||||
<flags>
|
||||
<Identifiable>1</Identifiable>
|
||||
<Removable>1</Removable>
|
||||
<Searchable>1</Searchable>
|
||||
</flags>
|
||||
<renderer-v2 symbollevels="0" enableorderby="0" forceraster="0" type="singleSymbol">
|
||||
<symbols>
|
||||
<symbol clip_to_extent="1" alpha="1" name="0" type="marker" force_rhr="0">
|
||||
<layer enabled="1" pass="0" locked="0" class="SimpleMarker">
|
||||
<prop v="0" k="angle"/>
|
||||
<prop v="31,28,175,255" k="color"/>
|
||||
<prop v="1" k="horizontal_anchor_point"/>
|
||||
<prop v="bevel" k="joinstyle"/>
|
||||
<prop v="circle" k="name"/>
|
||||
<prop v="0,0" k="offset"/>
|
||||
<prop v="3x:0,0,0,0,0,0" k="offset_map_unit_scale"/>
|
||||
<prop v="MM" k="offset_unit"/>
|
||||
<prop v="35,35,35,255" k="outline_color"/>
|
||||
<prop v="solid" k="outline_style"/>
|
||||
<prop v="0" k="outline_width"/>
|
||||
<prop v="3x:0,0,0,0,0,0" k="outline_width_map_unit_scale"/>
|
||||
<prop v="MM" k="outline_width_unit"/>
|
||||
<prop v="diameter" k="scale_method"/>
|
||||
<prop v="2" k="size"/>
|
||||
<prop v="3x:0,0,0,0,0,0" k="size_map_unit_scale"/>
|
||||
<prop v="MM" k="size_unit"/>
|
||||
<prop v="1" k="vertical_anchor_point"/>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" type="QString" value=""/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" type="QString" value="collection"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale/>
|
||||
</renderer-v2>
|
||||
<labeling type="simple">
|
||||
<settings>
|
||||
<text-style namedStyle="Regular" fontUnderline="0" fontWordSpacing="0" fontStrikeout="0" fontWeight="25" fontSize="10" isExpression="0" blendMode="0" fontFamily="Calibri Light" fontLetterSpacing="0" textColor="0,0,0,255" previewBkgrdColor="#ffffff" fontSizeUnit="Point" multilineHeight="1" fieldName="shortname" fontSizeMapUnitScale="3x:0,0,0,0,0,0" textOpacity="1" fontCapitals="0" useSubstitutions="0" fontItalic="0">
|
||||
<text-buffer bufferSize="1" bufferJoinStyle="128" bufferSizeMapUnitScale="3x:0,0,0,0,0,0" bufferColor="255,255,255,255" bufferDraw="1" bufferNoFill="1" bufferOpacity="1" bufferSizeUnits="MM" bufferBlendMode="0"/>
|
||||
<background shapeRadiiY="0" shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeOpacity="1" shapeDraw="0" shapeType="0" shapeSVGFile="" shapeSizeY="0" shapeSizeUnit="MM" shapeOffsetUnit="MM" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeOffsetX="0" shapeJoinStyle="64" shapeRotationType="0" shapeSizeX="0" shapeRotation="0" shapeBorderWidth="0" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeBlendMode="0" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeOffsetY="0" shapeBorderColor="128,128,128,255" shapeRadiiUnit="MM" shapeSizeType="0" shapeFillColor="255,255,255,255" shapeBorderWidthUnit="MM" shapeRadiiX="0"/>
|
||||
<shadow shadowRadius="1.5" shadowBlendMode="6" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowOpacity="0.7" shadowDraw="0" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowScale="100" shadowUnder="0" shadowRadiusAlphaOnly="0" shadowOffsetAngle="135" shadowOffsetUnit="MM" shadowRadiusUnit="MM" shadowOffsetDist="1" shadowOffsetGlobal="1" shadowColor="0,0,0,255"/>
|
||||
<substitutions/>
|
||||
</text-style>
|
||||
<text-format addDirectionSymbol="0" placeDirectionSymbol="0" multilineAlign="3" plussign="0" leftDirectionSymbol="<" rightDirectionSymbol=">" formatNumbers="0" reverseDirectionSymbol="0" decimals="3" autoWrapLength="0" wrapChar="" useMaxLineLengthForAutoWrap="1"/>
|
||||
<placement repeatDistanceMapUnitScale="3x:0,0,0,0,0,0" fitInPolygonOnly="0" quadOffset="1" distUnits="MM" yOffset="0" priority="5" placement="1" repeatDistance="0" offsetType="0" preserveRotation="1" offsetUnits="MM" maxCurvedCharAngleOut="-25" rotationAngle="0" repeatDistanceUnits="MM" maxCurvedCharAngleIn="25" centroidWhole="0" dist="0" xOffset="0" placementFlags="10" predefinedPositionOrder="TR,TL,BR,BL,R,L,TSR,BSR" centroidInside="0" labelOffsetMapUnitScale="3x:0,0,0,0,0,0" distMapUnitScale="3x:0,0,0,0,0,0"/>
|
||||
<rendering maxNumLabels="2000" obstacle="1" fontLimitPixelSize="0" obstacleFactor="1" minFeatureSize="0" drawLabels="1" scaleMin="0" upsidedownLabels="0" fontMaxPixelSize="10000" zIndex="0" obstacleType="0" fontMinPixelSize="3" scaleMax="0" limitNumLabels="0" displayAll="0" labelPerPart="0" scaleVisibility="0" mergeLines="0"/>
|
||||
<dd_properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" type="QString" value=""/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" type="QString" value="collection"/>
|
||||
</Option>
|
||||
</dd_properties>
|
||||
</settings>
|
||||
</labeling>
|
||||
<customproperties>
|
||||
<property key="embeddedWidgets/count" value="0"/>
|
||||
<property key="variableNames"/>
|
||||
<property key="variableValues"/>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerOpacity>1</layerOpacity>
|
||||
<SingleCategoryDiagramRenderer diagramType="Histogram" attributeLegend="1">
|
||||
<DiagramCategory penAlpha="255" penColor="#000000" maxScaleDenominator="1e+08" sizeType="MM" backgroundAlpha="255" width="15" barWidth="5" penWidth="0" height="15" opacity="1" enabled="0" rotationOffset="270" scaleBasedVisibility="0" labelPlacementMethod="XHeight" minScaleDenominator="0" lineSizeType="MM" scaleDependency="Area" diagramOrientation="Up" sizeScale="3x:0,0,0,0,0,0" lineSizeScale="3x:0,0,0,0,0,0" minimumSize="0" backgroundColor="#ffffff">
|
||||
<fontProperties style="" description="MS Shell Dlg 2,8.1,-1,5,50,0,0,0,0,0"/>
|
||||
</DiagramCategory>
|
||||
</SingleCategoryDiagramRenderer>
|
||||
<DiagramLayerSettings showAll="1" priority="0" zIndex="0" obstacle="0" dist="0" placement="0" linePlacementFlags="18">
|
||||
<properties>
|
||||
<Option type="Map">
|
||||
<Option name="name" type="QString" value=""/>
|
||||
<Option name="properties"/>
|
||||
<Option name="type" type="QString" value="collection"/>
|
||||
</Option>
|
||||
</properties>
|
||||
</DiagramLayerSettings>
|
||||
<geometryOptions removeDuplicateNodes="0" geometryPrecision="0">
|
||||
<activeChecks/>
|
||||
<checkConfiguration/>
|
||||
</geometryOptions>
|
||||
<fieldConfiguration>
|
||||
<field name="uuid">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="shortname">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="timestamp">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="value">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="trend">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="stateMnwMhw">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field name="stateNswHsw">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
</fieldConfiguration>
|
||||
<aliases>
|
||||
<alias index="0" name="" field="uuid"/>
|
||||
<alias index="1" name="" field="shortname"/>
|
||||
<alias index="2" name="" field="timestamp"/>
|
||||
<alias index="3" name="" field="value"/>
|
||||
<alias index="4" name="" field="trend"/>
|
||||
<alias index="5" name="" field="stateMnwMhw"/>
|
||||
<alias index="6" name="" field="stateNswHsw"/>
|
||||
</aliases>
|
||||
<excludeAttributesWMS/>
|
||||
<excludeAttributesWFS/>
|
||||
<defaults>
|
||||
<default applyOnUpdate="0" field="uuid" expression=""/>
|
||||
<default applyOnUpdate="0" field="shortname" expression=""/>
|
||||
<default applyOnUpdate="0" field="timestamp" expression=""/>
|
||||
<default applyOnUpdate="0" field="value" expression=""/>
|
||||
<default applyOnUpdate="0" field="trend" expression=""/>
|
||||
<default applyOnUpdate="0" field="stateMnwMhw" expression=""/>
|
||||
<default applyOnUpdate="0" field="stateNswHsw" expression=""/>
|
||||
</defaults>
|
||||
<constraints>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="uuid" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="shortname" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="timestamp" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="value" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="trend" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="stateMnwMhw" unique_strength="0" constraints="0"/>
|
||||
<constraint notnull_strength="0" exp_strength="0" field="stateNswHsw" unique_strength="0" constraints="0"/>
|
||||
</constraints>
|
||||
<constraintExpressions>
|
||||
<constraint desc="" exp="" field="uuid"/>
|
||||
<constraint desc="" exp="" field="shortname"/>
|
||||
<constraint desc="" exp="" field="timestamp"/>
|
||||
<constraint desc="" exp="" field="value"/>
|
||||
<constraint desc="" exp="" field="trend"/>
|
||||
<constraint desc="" exp="" field="stateMnwMhw"/>
|
||||
<constraint desc="" exp="" field="stateNswHsw"/>
|
||||
</constraintExpressions>
|
||||
<expressionfields/>
|
||||
<attributeactions>
|
||||
<defaultAction key="Canvas" value="{00000000-0000-0000-0000-000000000000}"/>
|
||||
</attributeactions>
|
||||
<attributetableconfig sortOrder="0" actionWidgetStyle="dropDown" sortExpression="">
|
||||
<columns>
|
||||
<column name="uuid" hidden="0" width="-1" type="field"/>
|
||||
<column name="shortname" hidden="0" width="-1" type="field"/>
|
||||
<column name="timestamp" hidden="0" width="-1" type="field"/>
|
||||
<column name="value" hidden="0" width="-1" type="field"/>
|
||||
<column name="trend" hidden="0" width="-1" type="field"/>
|
||||
<column name="stateMnwMhw" hidden="0" width="-1" type="field"/>
|
||||
<column name="stateNswHsw" hidden="0" width="-1" type="field"/>
|
||||
<column hidden="1" width="-1" type="actions"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<editform tolerant="1"></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS forms can have a Python function that is called when the form is
|
||||
opened.
|
||||
|
||||
Use this function to add extra logic to your forms.
|
||||
|
||||
Enter the name of the function in the "Python Init function"
|
||||
field.
|
||||
An example follows:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<editable>
|
||||
<field name="shortname" editable="1"/>
|
||||
<field name="stateMnwMhw" editable="1"/>
|
||||
<field name="stateNswHsw" editable="1"/>
|
||||
<field name="timestamp" editable="1"/>
|
||||
<field name="trend" editable="1"/>
|
||||
<field name="uuid" editable="1"/>
|
||||
<field name="value" editable="1"/>
|
||||
</editable>
|
||||
<labelOnTop>
|
||||
<field name="shortname" labelOnTop="0"/>
|
||||
<field name="stateMnwMhw" labelOnTop="0"/>
|
||||
<field name="stateNswHsw" labelOnTop="0"/>
|
||||
<field name="timestamp" labelOnTop="0"/>
|
||||
<field name="trend" labelOnTop="0"/>
|
||||
<field name="uuid" labelOnTop="0"/>
|
||||
<field name="value" labelOnTop="0"/>
|
||||
</labelOnTop>
|
||||
<widgets/>
|
||||
<previewExpression>uuid</previewExpression>
|
||||
<mapTip></mapTip>
|
||||
<layerGeometryType>0</layerGeometryType>
|
||||
</qgis>
|
||||
545
styles/stations.qml
Normal file
545
styles/stations.qml
Normal file
@ -0,0 +1,545 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis autoRefreshMode="Disabled" labelsEnabled="1" simplifyDrawingTol="1" simplifyMaxScale="1" version="3.44.3-Solothurn" styleCategories="AllStyleCategories" readOnly="0" maxScale="0" autoRefreshTime="0" simplifyDrawingHints="0" symbologyReferenceScale="-1" simplifyAlgorithm="0" hasScaleBasedVisibilityFlag="0" minScale="100000000" simplifyLocal="1">
|
||||
<flags>
|
||||
<Identifiable>1</Identifiable>
|
||||
<Removable>1</Removable>
|
||||
<Searchable>1</Searchable>
|
||||
<Private>0</Private>
|
||||
</flags>
|
||||
<temporal mode="0" startField="" endExpression="" endField="" durationUnit="min" enabled="0" startExpression="" accumulate="0" durationField="number" limitMode="0" fixedDuration="0">
|
||||
<fixedRange>
|
||||
<start></start>
|
||||
<end></end>
|
||||
</fixedRange>
|
||||
</temporal>
|
||||
<elevation extrusionEnabled="0" customToleranceEnabled="0" binding="Centroid" symbology="Line" respectLayerSymbol="1" zscale="1" extrusion="0" showMarkerSymbolInSurfacePlots="0" type="IndividualFeatures" clamping="Terrain" zoffset="0">
|
||||
<data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data-defined-properties>
|
||||
<profileLineSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="line" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleLine" pass="0" id="{76ea39a9-58dc-4293-9c0a-708289975213}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="align_dash_pattern" type="QString"/>
|
||||
<Option value="square" name="capstyle" type="QString"/>
|
||||
<Option value="5;2" name="customdash" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="customdash_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="customdash_unit" type="QString"/>
|
||||
<Option value="0" name="dash_pattern_offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="dash_pattern_offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="dash_pattern_offset_unit" type="QString"/>
|
||||
<Option value="0" name="draw_inside_polygon" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="164,113,88,255,rgb:0.6431373,0.4431373,0.345098,1" name="line_color" type="QString"/>
|
||||
<Option value="solid" name="line_style" type="QString"/>
|
||||
<Option value="0.6" name="line_width" type="QString"/>
|
||||
<Option value="MM" name="line_width_unit" type="QString"/>
|
||||
<Option value="0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="0" name="ring_filter" type="QString"/>
|
||||
<Option value="0" name="trim_distance_end" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="trim_distance_end_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="trim_distance_end_unit" type="QString"/>
|
||||
<Option value="0" name="trim_distance_start" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="trim_distance_start_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="trim_distance_start_unit" type="QString"/>
|
||||
<Option value="0" name="tweak_dash_pattern_on_corners" type="QString"/>
|
||||
<Option value="0" name="use_custom_dash" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="width_map_unit_scale" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileLineSymbol>
|
||||
<profileFillSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="fill" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleFill" pass="0" id="{884cf21d-620b-4d32-8432-b75a2eee9d3c}">
|
||||
<Option type="Map">
|
||||
<Option value="3x:0,0,0,0,0,0" name="border_width_map_unit_scale" type="QString"/>
|
||||
<Option value="164,113,88,255,rgb:0.6431373,0.4431373,0.345098,1" name="color" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="117,81,63,255,rgb:0.4593729,0.3165332,0.2464942,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0.2" name="outline_width" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="solid" name="style" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileFillSymbol>
|
||||
<profileMarkerSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="{8536a04d-f7f7-4fb4-97fd-29d00b9109b6}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="164,113,88,255,rgb:0.6431373,0.4431373,0.345098,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="diamond" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="117,81,63,255,rgb:0.4593729,0.3165332,0.2464942,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0.2" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="3" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileMarkerSymbol>
|
||||
</elevation>
|
||||
<renderer-v2 forceraster="0" enableorderby="0" type="singleSymbol" referencescale="-1" symbollevels="0">
|
||||
<symbols>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="0" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="{6e27ccd0-7148-464a-bf2e-3c79e8b865fa}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="219,30,42,255,rgb:0.8588235,0.1176471,0.1647059,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="triangle" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="128,17,25,255,rgb:0.5019608,0.0666667,0.0980392,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0.4" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="4" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale/>
|
||||
<data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data-defined-properties>
|
||||
</renderer-v2>
|
||||
<selection mode="Default">
|
||||
<selectionColor invalid="1"/>
|
||||
<selectionSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="{85d39adc-e056-4b00-b3b7-1101a233cae4}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="255,0,0,255,rgb:1,0,0,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="circle" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="35,35,35,255,rgb:0.1372549,0.1372549,0.1372549,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="2" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</selectionSymbol>
|
||||
</selection>
|
||||
<labeling type="simple">
|
||||
<settings calloutType="simple">
|
||||
<text-style textColor="255,50,50,255,rgb:1,0.1960784,0.1960784,1" fontItalic="0" forcedItalic="0" fieldName="concat("shortname")" tabStopDistanceUnit="Point" legendString="Aa" fontSize="10" multilineHeight="1" multilineHeightUnit="Percentage" isExpression="1" fontFamily="Open Sans" previewBkgrdColor="255,255,255,255,rgb:1,1,1,1" fontSizeUnit="Point" tabStopDistance="80" forcedBold="0" textOpacity="1" fontUnderline="0" blendMode="0" useSubstitutions="0" fontSizeMapUnitScale="3x:0,0,0,0,0,0" textOrientation="horizontal" allowHtml="0" capitalization="0" fontWeight="50" fontStrikeout="0" fontKerning="1" fontLetterSpacing="0" namedStyle="Regular" tabStopDistanceMapUnitScale="3x:0,0,0,0,0,0" fontWordSpacing="0">
|
||||
<families/>
|
||||
<text-buffer bufferNoFill="1" bufferBlendMode="0" bufferJoinStyle="128" bufferSizeUnits="MM" bufferDraw="1" bufferSize="1" bufferSizeMapUnitScale="3x:0,0,0,0,0,0" bufferOpacity="1" bufferColor="250,250,250,255,rgb:0.9803922,0.9803922,0.9803922,1"/>
|
||||
<text-mask maskEnabled="0" maskSize2="1.5" maskOpacity="1" maskSize="1.5" maskedSymbolLayers="" maskSizeUnits="MM" maskType="0" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskJoinStyle="128"/>
|
||||
<background shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeBorderWidthUnit="Point" shapeRotationType="0" shapeOffsetY="0" shapeOpacity="1" shapeSizeX="0" shapeRadiiX="0" shapeFillColor="255,255,255,255,rgb:1,1,1,1" shapeBorderColor="128,128,128,255,rgb:0.5019608,0.5019608,0.5019608,1" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRotation="0" shapeRadiiUnit="Point" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeUnit="Point" shapeSizeType="0" shapeRadiiY="0" shapeBorderWidth="0" shapeType="0" shapeSizeY="0" shapeDraw="0" shapeOffsetUnit="Point" shapeOffsetX="0" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeBlendMode="0" shapeJoinStyle="64" shapeSVGFile="">
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="markerSymbol" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="114,155,111,255,rgb:0.4470588,0.6078431,0.4352941,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="circle" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="35,35,35,255,rgb:0.1372549,0.1372549,0.1372549,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="2" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="fillSymbol" alpha="1" type="fill" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleFill" pass="0" id="">
|
||||
<Option type="Map">
|
||||
<Option value="3x:0,0,0,0,0,0" name="border_width_map_unit_scale" type="QString"/>
|
||||
<Option value="255,255,255,255,rgb:1,1,1,1" name="color" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="128,128,128,255,rgb:0.5019608,0.5019608,0.5019608,1" name="outline_color" type="QString"/>
|
||||
<Option value="no" name="outline_style" type="QString"/>
|
||||
<Option value="0" name="outline_width" type="QString"/>
|
||||
<Option value="Point" name="outline_width_unit" type="QString"/>
|
||||
<Option value="solid" name="style" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</background>
|
||||
<shadow shadowOffsetUnit="MM" shadowDraw="0" shadowOffsetDist="1" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowScale="100" shadowColor="0,0,0,255,rgb:0,0,0,1" shadowOffsetGlobal="1" shadowRadius="1.5" shadowOffsetAngle="135" shadowRadiusAlphaOnly="0" shadowOpacity="0.69999999999999996" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowBlendMode="6" shadowUnder="0" shadowRadiusUnit="MM"/>
|
||||
<dd_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</dd_properties>
|
||||
<substitutions/>
|
||||
</text-style>
|
||||
<text-format reverseDirectionSymbol="0" autoWrapLength="0" useMaxLineLengthForAutoWrap="1" decimals="3" wrapChar="" addDirectionSymbol="0" formatNumbers="0" plussign="0" leftDirectionSymbol="<" rightDirectionSymbol=">" multilineAlign="3" placeDirectionSymbol="0"/>
|
||||
<placement lineAnchorPercent="0.5" preserveRotation="1" prioritization="PreferCloser" dist="0" placement="0" repeatDistance="0" polygonPlacementFlags="2" overrunDistanceUnit="MM" maximumDistance="0" rotationAngle="0" centroidInside="0" maximumDistanceUnit="MM" maxCurvedCharAngleIn="25" offsetType="0" lineAnchorTextPoint="FollowPlacement" repeatDistanceUnits="MM" yOffset="0" centroidWhole="0" geometryGeneratorType="PointGeometry" geometryGeneratorEnabled="0" fitInPolygonOnly="0" predefinedPositionOrder="TR,TL,BR,BL,R,L,TSR,BSR" distUnits="MM" maxCurvedCharAngleOut="-25" offsetUnits="MM" repeatDistanceMapUnitScale="3x:0,0,0,0,0,0" distMapUnitScale="3x:0,0,0,0,0,0" rotationUnit="AngleDegrees" layerType="PointGeometry" overrunDistanceMapUnitScale="3x:0,0,0,0,0,0" overlapHandling="PreventOverlap" priority="5" lineAnchorClipping="0" quadOffset="4" geometryGenerator="" overrunDistance="0" maximumDistanceMapUnitScale="3x:0,0,0,0,0,0" allowDegraded="0" placementFlags="10" labelOffsetMapUnitScale="3x:0,0,0,0,0,0" lineAnchorType="0" xOffset="0"/>
|
||||
<rendering mergeLines="0" scaleMin="0" maxNumLabels="2000" zIndex="0" scaleVisibility="0" limitNumLabels="0" obstacleType="1" obstacle="1" fontMinPixelSize="3" minFeatureSize="0" upsidedownLabels="0" obstacleFactor="1" fontLimitPixelSize="0" drawLabels="1" unplacedVisibility="0" fontMaxPixelSize="10000" labelPerPart="0" scaleMax="0"/>
|
||||
<dd_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</dd_properties>
|
||||
<callout type="simple">
|
||||
<Option type="Map">
|
||||
<Option value="pole_of_inaccessibility" name="anchorPoint" type="QString"/>
|
||||
<Option value="0" name="blendMode" type="int"/>
|
||||
<Option name="ddProperties" type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
<Option value="false" name="drawToAllParts" type="bool"/>
|
||||
<Option value="0" name="enabled" type="QString"/>
|
||||
<Option value="point_on_exterior" name="labelAnchorPoint" type="QString"/>
|
||||
<Option value="<symbol force_rhr="0" clip_to_extent="1" name="symbol" alpha="1" type="line" is_animated="0" frame_rate="10"><data_defined_properties><Option type="Map"><Option value="" name="name" type="QString"/><Option name="properties"/><Option value="collection" name="type" type="QString"/></Option></data_defined_properties><layer locked="0" enabled="1" class="SimpleLine" pass="0" id="{842d5687-ab2d-4032-a3a1-8be39fed6707}"><Option type="Map"><Option value="0" name="align_dash_pattern" type="QString"/><Option value="square" name="capstyle" type="QString"/><Option value="5;2" name="customdash" type="QString"/><Option value="3x:0,0,0,0,0,0" name="customdash_map_unit_scale" type="QString"/><Option value="MM" name="customdash_unit" type="QString"/><Option value="0" name="dash_pattern_offset" type="QString"/><Option value="3x:0,0,0,0,0,0" name="dash_pattern_offset_map_unit_scale" type="QString"/><Option value="MM" name="dash_pattern_offset_unit" type="QString"/><Option value="0" name="draw_inside_polygon" type="QString"/><Option value="bevel" name="joinstyle" type="QString"/><Option value="60,60,60,255,rgb:0.2352941,0.2352941,0.2352941,1" name="line_color" type="QString"/><Option value="solid" name="line_style" type="QString"/><Option value="0.3" name="line_width" type="QString"/><Option value="MM" name="line_width_unit" type="QString"/><Option value="0" name="offset" type="QString"/><Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/><Option value="MM" name="offset_unit" type="QString"/><Option value="0" name="ring_filter" type="QString"/><Option value="0" name="trim_distance_end" type="QString"/><Option value="3x:0,0,0,0,0,0" name="trim_distance_end_map_unit_scale" type="QString"/><Option value="MM" name="trim_distance_end_unit" type="QString"/><Option value="0" name="trim_distance_start" type="QString"/><Option value="3x:0,0,0,0,0,0" name="trim_distance_start_map_unit_scale" type="QString"/><Option value="MM" name="trim_distance_start_unit" type="QString"/><Option value="0" name="tweak_dash_pattern_on_corners" type="QString"/><Option value="0" name="use_custom_dash" type="QString"/><Option value="3x:0,0,0,0,0,0" name="width_map_unit_scale" type="QString"/></Option><data_defined_properties><Option type="Map"><Option value="" name="name" type="QString"/><Option name="properties"/><Option value="collection" name="type" type="QString"/></Option></data_defined_properties></layer></symbol>" name="lineSymbol" type="QString"/>
|
||||
<Option value="0" name="minLength" type="double"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="minLengthMapUnitScale" type="QString"/>
|
||||
<Option value="MM" name="minLengthUnit" type="QString"/>
|
||||
<Option value="0" name="offsetFromAnchor" type="double"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offsetFromAnchorMapUnitScale" type="QString"/>
|
||||
<Option value="MM" name="offsetFromAnchorUnit" type="QString"/>
|
||||
<Option value="0" name="offsetFromLabel" type="double"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offsetFromLabelMapUnitScale" type="QString"/>
|
||||
<Option value="MM" name="offsetFromLabelUnit" type="QString"/>
|
||||
</Option>
|
||||
</callout>
|
||||
</settings>
|
||||
</labeling>
|
||||
<customproperties>
|
||||
<Option type="Map">
|
||||
<Option value="0" name="embeddedWidgets/count" type="int"/>
|
||||
<Option name="variableNames"/>
|
||||
<Option name="variableValues"/>
|
||||
</Option>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerOpacity>1</layerOpacity>
|
||||
<geometryOptions removeDuplicateNodes="0" geometryPrecision="0">
|
||||
<activeChecks/>
|
||||
<checkConfiguration/>
|
||||
</geometryOptions>
|
||||
<legend type="default-vector" showLabelLegend="0"/>
|
||||
<referencedLayers/>
|
||||
<referencingLayers/>
|
||||
<fieldConfiguration>
|
||||
<field configurationFlags="NoFlag" name="uuid">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="number">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="shortname">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="longname">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="km">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="agency">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="water">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
</fieldConfiguration>
|
||||
<aliases>
|
||||
<alias index="0" name="" field="uuid"/>
|
||||
<alias index="1" name="" field="number"/>
|
||||
<alias index="2" name="" field="shortname"/>
|
||||
<alias index="3" name="" field="longname"/>
|
||||
<alias index="4" name="" field="km"/>
|
||||
<alias index="5" name="" field="agency"/>
|
||||
<alias index="6" name="" field="water"/>
|
||||
</aliases>
|
||||
<defaults>
|
||||
<default expression="" applyOnUpdate="0" field="uuid"/>
|
||||
<default expression="" applyOnUpdate="0" field="number"/>
|
||||
<default expression="" applyOnUpdate="0" field="shortname"/>
|
||||
<default expression="" applyOnUpdate="0" field="longname"/>
|
||||
<default expression="" applyOnUpdate="0" field="km"/>
|
||||
<default expression="" applyOnUpdate="0" field="agency"/>
|
||||
<default expression="" applyOnUpdate="0" field="water"/>
|
||||
</defaults>
|
||||
<constraints>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="uuid"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="number"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="shortname"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="longname"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="km"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="agency"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="water"/>
|
||||
</constraints>
|
||||
<constraintExpressions>
|
||||
<constraint exp="" desc="" field="uuid"/>
|
||||
<constraint exp="" desc="" field="number"/>
|
||||
<constraint exp="" desc="" field="shortname"/>
|
||||
<constraint exp="" desc="" field="longname"/>
|
||||
<constraint exp="" desc="" field="km"/>
|
||||
<constraint exp="" desc="" field="agency"/>
|
||||
<constraint exp="" desc="" field="water"/>
|
||||
</constraintExpressions>
|
||||
<expressionfields/>
|
||||
<attributeactions>
|
||||
<defaultAction value="{00000000-0000-0000-0000-000000000000}" key="Canvas"/>
|
||||
</attributeactions>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column hidden="0" name="uuid" type="field" width="-1"/>
|
||||
<column hidden="0" name="number" type="field" width="-1"/>
|
||||
<column hidden="0" name="shortname" type="field" width="-1"/>
|
||||
<column hidden="0" name="longname" type="field" width="-1"/>
|
||||
<column hidden="0" name="km" type="field" width="-1"/>
|
||||
<column hidden="0" name="agency" type="field" width="-1"/>
|
||||
<column hidden="0" name="water" type="field" width="-1"/>
|
||||
<column hidden="1" type="actions" width="-1"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<storedexpressions/>
|
||||
<editform tolerant="1"></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS-Formulare können eine Python-Funktion haben,, die aufgerufen wird, wenn sich das Formular öffnet
|
||||
|
||||
Diese Funktion kann verwendet werden um dem Formular Extralogik hinzuzufügen.
|
||||
|
||||
Der Name der Funktion wird im Feld "Python Init-Function" angegeben
|
||||
Ein Beispiel folgt:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<editable>
|
||||
<field editable="1" name="agency"/>
|
||||
<field editable="1" name="km"/>
|
||||
<field editable="1" name="longname"/>
|
||||
<field editable="1" name="number"/>
|
||||
<field editable="1" name="shortname"/>
|
||||
<field editable="1" name="uuid"/>
|
||||
<field editable="1" name="water"/>
|
||||
</editable>
|
||||
<labelOnTop>
|
||||
<field name="agency" labelOnTop="0"/>
|
||||
<field name="km" labelOnTop="0"/>
|
||||
<field name="longname" labelOnTop="0"/>
|
||||
<field name="number" labelOnTop="0"/>
|
||||
<field name="shortname" labelOnTop="0"/>
|
||||
<field name="uuid" labelOnTop="0"/>
|
||||
<field name="water" labelOnTop="0"/>
|
||||
</labelOnTop>
|
||||
<reuseLastValue>
|
||||
<field reuseLastValue="0" name="agency"/>
|
||||
<field reuseLastValue="0" name="km"/>
|
||||
<field reuseLastValue="0" name="longname"/>
|
||||
<field reuseLastValue="0" name="number"/>
|
||||
<field reuseLastValue="0" name="shortname"/>
|
||||
<field reuseLastValue="0" name="uuid"/>
|
||||
<field reuseLastValue="0" name="water"/>
|
||||
</reuseLastValue>
|
||||
<dataDefinedFieldProperties/>
|
||||
<widgets/>
|
||||
<previewExpression>"shortname"</previewExpression>
|
||||
<mapTip enabled="1"></mapTip>
|
||||
<layerGeometryType>0</layerGeometryType>
|
||||
</qgis>
|
||||
575
styles/waterlevels.qml
Normal file
575
styles/waterlevels.qml
Normal file
@ -0,0 +1,575 @@
|
||||
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
|
||||
<qgis autoRefreshMode="Disabled" labelsEnabled="1" simplifyDrawingTol="1" simplifyMaxScale="1" version="3.44.3-Solothurn" styleCategories="AllStyleCategories" readOnly="0" maxScale="0" autoRefreshTime="0" simplifyDrawingHints="0" symbologyReferenceScale="-1" simplifyAlgorithm="0" hasScaleBasedVisibilityFlag="0" minScale="100000000" simplifyLocal="1">
|
||||
<flags>
|
||||
<Identifiable>1</Identifiable>
|
||||
<Removable>1</Removable>
|
||||
<Searchable>1</Searchable>
|
||||
<Private>0</Private>
|
||||
</flags>
|
||||
<temporal mode="0" startField="timestamp" endExpression="" endField="" durationUnit="min" enabled="0" startExpression="" accumulate="0" durationField="number" limitMode="0" fixedDuration="0">
|
||||
<fixedRange>
|
||||
<start></start>
|
||||
<end></end>
|
||||
</fixedRange>
|
||||
</temporal>
|
||||
<elevation extrusionEnabled="0" customToleranceEnabled="0" binding="Centroid" symbology="Line" respectLayerSymbol="1" zscale="1" extrusion="0" showMarkerSymbolInSurfacePlots="0" type="IndividualFeatures" clamping="Terrain" zoffset="0">
|
||||
<data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data-defined-properties>
|
||||
<profileLineSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="line" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleLine" pass="0" id="{22c3818c-762f-4ad6-af1d-7e890d25c2ff}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="align_dash_pattern" type="QString"/>
|
||||
<Option value="square" name="capstyle" type="QString"/>
|
||||
<Option value="5;2" name="customdash" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="customdash_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="customdash_unit" type="QString"/>
|
||||
<Option value="0" name="dash_pattern_offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="dash_pattern_offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="dash_pattern_offset_unit" type="QString"/>
|
||||
<Option value="0" name="draw_inside_polygon" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="141,90,153,255,rgb:0.5529412,0.3529412,0.6,1" name="line_color" type="QString"/>
|
||||
<Option value="solid" name="line_style" type="QString"/>
|
||||
<Option value="0.6" name="line_width" type="QString"/>
|
||||
<Option value="MM" name="line_width_unit" type="QString"/>
|
||||
<Option value="0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="0" name="ring_filter" type="QString"/>
|
||||
<Option value="0" name="trim_distance_end" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="trim_distance_end_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="trim_distance_end_unit" type="QString"/>
|
||||
<Option value="0" name="trim_distance_start" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="trim_distance_start_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="trim_distance_start_unit" type="QString"/>
|
||||
<Option value="0" name="tweak_dash_pattern_on_corners" type="QString"/>
|
||||
<Option value="0" name="use_custom_dash" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="width_map_unit_scale" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileLineSymbol>
|
||||
<profileFillSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="fill" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleFill" pass="0" id="{f6e93f4c-4732-46bf-9b82-1b7798ea9584}">
|
||||
<Option type="Map">
|
||||
<Option value="3x:0,0,0,0,0,0" name="border_width_map_unit_scale" type="QString"/>
|
||||
<Option value="141,90,153,255,rgb:0.5529412,0.3529412,0.6,1" name="color" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="101,64,109,255,rgb:0.3949493,0.2520943,0.4285649,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0.2" name="outline_width" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="solid" name="style" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileFillSymbol>
|
||||
<profileMarkerSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="{c0a279d3-1571-48e9-9ecd-ef0f2743e2fc}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="141,90,153,255,rgb:0.5529412,0.3529412,0.6,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="diamond" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="101,64,109,255,rgb:0.3949493,0.2520943,0.4285649,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0.2" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="3" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</profileMarkerSymbol>
|
||||
</elevation>
|
||||
<renderer-v2 forceraster="0" enableorderby="0" type="singleSymbol" referencescale="-1" symbollevels="0">
|
||||
<symbols>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="0" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="{9b537c92-5129-49e2-bd68-adcb414d704c}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="72,123,182,255,rgb:0.2823529,0.4823529,0.7137255,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="diamond" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="50,87,128,255,rgb:0.1960784,0.3411765,0.5019608,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0.4" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="4.4" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<rotation/>
|
||||
<sizescale/>
|
||||
<data-defined-properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data-defined-properties>
|
||||
</renderer-v2>
|
||||
<selection mode="Default">
|
||||
<selectionColor invalid="1"/>
|
||||
<selectionSymbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="{5466e585-1a97-4124-b9c1-6f3cb8cb9470}">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="255,0,0,255,rgb:1,0,0,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="circle" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="35,35,35,255,rgb:0.1372549,0.1372549,0.1372549,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="2" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</selectionSymbol>
|
||||
</selection>
|
||||
<labeling type="simple">
|
||||
<settings calloutType="simple">
|
||||
<text-style textColor="50,50,255,255,rgb:0.1960784,0.1960784,1,1" fontItalic="0" forcedItalic="0" fieldName="concat("shortname", ' / ', "value", ' ', "unit")" tabStopDistanceUnit="Point" legendString="Aa" fontSize="10" multilineHeight="1" multilineHeightUnit="Percentage" isExpression="1" fontFamily="Open Sans" previewBkgrdColor="255,255,255,255,rgb:1,1,1,1" fontSizeUnit="Point" tabStopDistance="80" forcedBold="0" textOpacity="1" fontUnderline="0" blendMode="0" useSubstitutions="0" fontSizeMapUnitScale="3x:0,0,0,0,0,0" textOrientation="horizontal" allowHtml="0" capitalization="0" fontWeight="50" fontStrikeout="0" fontKerning="1" fontLetterSpacing="0" namedStyle="Regular" tabStopDistanceMapUnitScale="3x:0,0,0,0,0,0" fontWordSpacing="0">
|
||||
<families/>
|
||||
<text-buffer bufferNoFill="1" bufferBlendMode="0" bufferJoinStyle="128" bufferSizeUnits="MM" bufferDraw="1" bufferSize="1" bufferSizeMapUnitScale="3x:0,0,0,0,0,0" bufferOpacity="1" bufferColor="255,255,255,255,hsv:0,0,1,1"/>
|
||||
<text-mask maskEnabled="0" maskSize2="1.5" maskOpacity="1" maskSize="1.5" maskedSymbolLayers="" maskSizeUnits="MM" maskType="0" maskSizeMapUnitScale="3x:0,0,0,0,0,0" maskJoinStyle="128"/>
|
||||
<background shapeOffsetMapUnitScale="3x:0,0,0,0,0,0" shapeBorderWidthUnit="Point" shapeRotationType="0" shapeOffsetY="0" shapeOpacity="1" shapeSizeX="0" shapeRadiiX="0" shapeFillColor="255,255,255,255,rgb:1,1,1,1" shapeBorderColor="128,128,128,255,rgb:0.5019608,0.5019608,0.5019608,1" shapeBorderWidthMapUnitScale="3x:0,0,0,0,0,0" shapeRotation="0" shapeRadiiUnit="Point" shapeRadiiMapUnitScale="3x:0,0,0,0,0,0" shapeSizeUnit="Point" shapeSizeType="0" shapeRadiiY="0" shapeBorderWidth="0" shapeType="0" shapeSizeY="0" shapeDraw="0" shapeOffsetUnit="Point" shapeOffsetX="0" shapeSizeMapUnitScale="3x:0,0,0,0,0,0" shapeBlendMode="0" shapeJoinStyle="64" shapeSVGFile="">
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="markerSymbol" alpha="1" type="marker" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleMarker" pass="0" id="">
|
||||
<Option type="Map">
|
||||
<Option value="0" name="angle" type="QString"/>
|
||||
<Option value="square" name="cap_style" type="QString"/>
|
||||
<Option value="125,139,143,255,rgb:0.4901961,0.545098,0.5607843,1" name="color" type="QString"/>
|
||||
<Option value="1" name="horizontal_anchor_point" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="circle" name="name" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="35,35,35,255,rgb:0.1372549,0.1372549,0.1372549,1" name="outline_color" type="QString"/>
|
||||
<Option value="solid" name="outline_style" type="QString"/>
|
||||
<Option value="0" name="outline_width" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="outline_width_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="outline_width_unit" type="QString"/>
|
||||
<Option value="diameter" name="scale_method" type="QString"/>
|
||||
<Option value="2" name="size" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="size_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="size_unit" type="QString"/>
|
||||
<Option value="1" name="vertical_anchor_point" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
<symbol force_rhr="0" clip_to_extent="1" name="fillSymbol" alpha="1" type="fill" is_animated="0" frame_rate="10">
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
<layer locked="0" enabled="1" class="SimpleFill" pass="0" id="">
|
||||
<Option type="Map">
|
||||
<Option value="3x:0,0,0,0,0,0" name="border_width_map_unit_scale" type="QString"/>
|
||||
<Option value="255,255,255,255,rgb:1,1,1,1" name="color" type="QString"/>
|
||||
<Option value="bevel" name="joinstyle" type="QString"/>
|
||||
<Option value="0,0" name="offset" type="QString"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>
|
||||
<Option value="MM" name="offset_unit" type="QString"/>
|
||||
<Option value="128,128,128,255,rgb:0.5019608,0.5019608,0.5019608,1" name="outline_color" type="QString"/>
|
||||
<Option value="no" name="outline_style" type="QString"/>
|
||||
<Option value="0" name="outline_width" type="QString"/>
|
||||
<Option value="Point" name="outline_width_unit" type="QString"/>
|
||||
<Option value="solid" name="style" type="QString"/>
|
||||
</Option>
|
||||
<data_defined_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</data_defined_properties>
|
||||
</layer>
|
||||
</symbol>
|
||||
</background>
|
||||
<shadow shadowOffsetUnit="MM" shadowDraw="0" shadowOffsetDist="1" shadowOffsetMapUnitScale="3x:0,0,0,0,0,0" shadowScale="100" shadowColor="0,0,0,255,rgb:0,0,0,1" shadowOffsetGlobal="1" shadowRadius="1.5" shadowOffsetAngle="135" shadowRadiusAlphaOnly="0" shadowOpacity="0.69999999999999996" shadowRadiusMapUnitScale="3x:0,0,0,0,0,0" shadowBlendMode="6" shadowUnder="0" shadowRadiusUnit="MM"/>
|
||||
<dd_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</dd_properties>
|
||||
<substitutions/>
|
||||
</text-style>
|
||||
<text-format reverseDirectionSymbol="0" autoWrapLength="0" useMaxLineLengthForAutoWrap="1" decimals="3" wrapChar="" addDirectionSymbol="0" formatNumbers="0" plussign="0" leftDirectionSymbol="<" rightDirectionSymbol=">" multilineAlign="3" placeDirectionSymbol="0"/>
|
||||
<placement lineAnchorPercent="0.5" preserveRotation="1" prioritization="PreferCloser" dist="0" placement="0" repeatDistance="0" polygonPlacementFlags="2" overrunDistanceUnit="MM" maximumDistance="0" rotationAngle="0" centroidInside="0" maximumDistanceUnit="MM" maxCurvedCharAngleIn="25" offsetType="0" lineAnchorTextPoint="FollowPlacement" repeatDistanceUnits="MM" yOffset="0" centroidWhole="0" geometryGeneratorType="PointGeometry" geometryGeneratorEnabled="0" fitInPolygonOnly="0" predefinedPositionOrder="TR,TL,BR,BL,R,L,TSR,BSR" distUnits="MM" maxCurvedCharAngleOut="-25" offsetUnits="MM" repeatDistanceMapUnitScale="3x:0,0,0,0,0,0" distMapUnitScale="3x:0,0,0,0,0,0" rotationUnit="AngleDegrees" layerType="PointGeometry" overrunDistanceMapUnitScale="3x:0,0,0,0,0,0" overlapHandling="PreventOverlap" priority="5" lineAnchorClipping="0" quadOffset="4" geometryGenerator="" overrunDistance="0" maximumDistanceMapUnitScale="3x:0,0,0,0,0,0" allowDegraded="0" placementFlags="10" labelOffsetMapUnitScale="3x:0,0,0,0,0,0" lineAnchorType="0" xOffset="0"/>
|
||||
<rendering mergeLines="0" scaleMin="0" maxNumLabels="2000" zIndex="0" scaleVisibility="0" limitNumLabels="0" obstacleType="1" obstacle="1" fontMinPixelSize="3" minFeatureSize="0" upsidedownLabels="0" obstacleFactor="1" fontLimitPixelSize="0" drawLabels="1" unplacedVisibility="0" fontMaxPixelSize="10000" labelPerPart="0" scaleMax="0"/>
|
||||
<dd_properties>
|
||||
<Option type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
</dd_properties>
|
||||
<callout type="simple">
|
||||
<Option type="Map">
|
||||
<Option value="pole_of_inaccessibility" name="anchorPoint" type="QString"/>
|
||||
<Option value="0" name="blendMode" type="int"/>
|
||||
<Option name="ddProperties" type="Map">
|
||||
<Option value="" name="name" type="QString"/>
|
||||
<Option name="properties"/>
|
||||
<Option value="collection" name="type" type="QString"/>
|
||||
</Option>
|
||||
<Option value="false" name="drawToAllParts" type="bool"/>
|
||||
<Option value="0" name="enabled" type="QString"/>
|
||||
<Option value="point_on_exterior" name="labelAnchorPoint" type="QString"/>
|
||||
<Option value="<symbol force_rhr="0" clip_to_extent="1" name="symbol" alpha="1" type="line" is_animated="0" frame_rate="10"><data_defined_properties><Option type="Map"><Option value="" name="name" type="QString"/><Option name="properties"/><Option value="collection" name="type" type="QString"/></Option></data_defined_properties><layer locked="0" enabled="1" class="SimpleLine" pass="0" id="{0a30b836-1767-4ca1-b70d-a1412d7bd21e}"><Option type="Map"><Option value="0" name="align_dash_pattern" type="QString"/><Option value="square" name="capstyle" type="QString"/><Option value="5;2" name="customdash" type="QString"/><Option value="3x:0,0,0,0,0,0" name="customdash_map_unit_scale" type="QString"/><Option value="MM" name="customdash_unit" type="QString"/><Option value="0" name="dash_pattern_offset" type="QString"/><Option value="3x:0,0,0,0,0,0" name="dash_pattern_offset_map_unit_scale" type="QString"/><Option value="MM" name="dash_pattern_offset_unit" type="QString"/><Option value="0" name="draw_inside_polygon" type="QString"/><Option value="bevel" name="joinstyle" type="QString"/><Option value="60,60,60,255,rgb:0.2352941,0.2352941,0.2352941,1" name="line_color" type="QString"/><Option value="solid" name="line_style" type="QString"/><Option value="0.3" name="line_width" type="QString"/><Option value="MM" name="line_width_unit" type="QString"/><Option value="0" name="offset" type="QString"/><Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/><Option value="MM" name="offset_unit" type="QString"/><Option value="0" name="ring_filter" type="QString"/><Option value="0" name="trim_distance_end" type="QString"/><Option value="3x:0,0,0,0,0,0" name="trim_distance_end_map_unit_scale" type="QString"/><Option value="MM" name="trim_distance_end_unit" type="QString"/><Option value="0" name="trim_distance_start" type="QString"/><Option value="3x:0,0,0,0,0,0" name="trim_distance_start_map_unit_scale" type="QString"/><Option value="MM" name="trim_distance_start_unit" type="QString"/><Option value="0" name="tweak_dash_pattern_on_corners" type="QString"/><Option value="0" name="use_custom_dash" type="QString"/><Option value="3x:0,0,0,0,0,0" name="width_map_unit_scale" type="QString"/></Option><data_defined_properties><Option type="Map"><Option value="" name="name" type="QString"/><Option name="properties"/><Option value="collection" name="type" type="QString"/></Option></data_defined_properties></layer></symbol>" name="lineSymbol" type="QString"/>
|
||||
<Option value="0" name="minLength" type="double"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="minLengthMapUnitScale" type="QString"/>
|
||||
<Option value="MM" name="minLengthUnit" type="QString"/>
|
||||
<Option value="0" name="offsetFromAnchor" type="double"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offsetFromAnchorMapUnitScale" type="QString"/>
|
||||
<Option value="MM" name="offsetFromAnchorUnit" type="QString"/>
|
||||
<Option value="0" name="offsetFromLabel" type="double"/>
|
||||
<Option value="3x:0,0,0,0,0,0" name="offsetFromLabelMapUnitScale" type="QString"/>
|
||||
<Option value="MM" name="offsetFromLabelUnit" type="QString"/>
|
||||
</Option>
|
||||
</callout>
|
||||
</settings>
|
||||
</labeling>
|
||||
<customproperties>
|
||||
<Option type="Map">
|
||||
<Option value="0" name="embeddedWidgets/count" type="int"/>
|
||||
<Option name="variableNames"/>
|
||||
<Option name="variableValues"/>
|
||||
</Option>
|
||||
</customproperties>
|
||||
<blendMode>0</blendMode>
|
||||
<featureBlendMode>0</featureBlendMode>
|
||||
<layerOpacity>1</layerOpacity>
|
||||
<geometryOptions removeDuplicateNodes="0" geometryPrecision="0">
|
||||
<activeChecks/>
|
||||
<checkConfiguration/>
|
||||
</geometryOptions>
|
||||
<legend type="default-vector" showLabelLegend="0"/>
|
||||
<referencedLayers/>
|
||||
<referencingLayers/>
|
||||
<fieldConfiguration>
|
||||
<field configurationFlags="NoFlag" name="shortname">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="number">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="agency">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="timestamp">
|
||||
<editWidget type="DateTime">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="value">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="unit">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="mean">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="absolute">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
<field configurationFlags="NoFlag" name="water">
|
||||
<editWidget type="TextEdit">
|
||||
<config>
|
||||
<Option/>
|
||||
</config>
|
||||
</editWidget>
|
||||
</field>
|
||||
</fieldConfiguration>
|
||||
<aliases>
|
||||
<alias index="0" name="" field="shortname"/>
|
||||
<alias index="1" name="" field="number"/>
|
||||
<alias index="2" name="" field="agency"/>
|
||||
<alias index="3" name="" field="timestamp"/>
|
||||
<alias index="4" name="" field="value"/>
|
||||
<alias index="5" name="" field="unit"/>
|
||||
<alias index="6" name="" field="mean"/>
|
||||
<alias index="7" name="" field="absolute"/>
|
||||
<alias index="8" name="" field="water"/>
|
||||
</aliases>
|
||||
<defaults>
|
||||
<default expression="" applyOnUpdate="0" field="shortname"/>
|
||||
<default expression="" applyOnUpdate="0" field="number"/>
|
||||
<default expression="" applyOnUpdate="0" field="agency"/>
|
||||
<default expression="" applyOnUpdate="0" field="timestamp"/>
|
||||
<default expression="" applyOnUpdate="0" field="value"/>
|
||||
<default expression="" applyOnUpdate="0" field="unit"/>
|
||||
<default expression="" applyOnUpdate="0" field="mean"/>
|
||||
<default expression="" applyOnUpdate="0" field="absolute"/>
|
||||
<default expression="" applyOnUpdate="0" field="water"/>
|
||||
</defaults>
|
||||
<constraints>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="shortname"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="number"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="agency"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="timestamp"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="value"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="unit"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="mean"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="absolute"/>
|
||||
<constraint exp_strength="0" constraints="0" unique_strength="0" notnull_strength="0" field="water"/>
|
||||
</constraints>
|
||||
<constraintExpressions>
|
||||
<constraint exp="" desc="" field="shortname"/>
|
||||
<constraint exp="" desc="" field="number"/>
|
||||
<constraint exp="" desc="" field="agency"/>
|
||||
<constraint exp="" desc="" field="timestamp"/>
|
||||
<constraint exp="" desc="" field="value"/>
|
||||
<constraint exp="" desc="" field="unit"/>
|
||||
<constraint exp="" desc="" field="mean"/>
|
||||
<constraint exp="" desc="" field="absolute"/>
|
||||
<constraint exp="" desc="" field="water"/>
|
||||
</constraintExpressions>
|
||||
<expressionfields/>
|
||||
<attributeactions>
|
||||
<defaultAction value="{00000000-0000-0000-0000-000000000000}" key="Canvas"/>
|
||||
</attributeactions>
|
||||
<attributetableconfig actionWidgetStyle="dropDown" sortExpression="" sortOrder="0">
|
||||
<columns>
|
||||
<column hidden="0" name="shortname" type="field" width="-1"/>
|
||||
<column hidden="0" name="number" type="field" width="-1"/>
|
||||
<column hidden="0" name="agency" type="field" width="-1"/>
|
||||
<column hidden="0" name="timestamp" type="field" width="-1"/>
|
||||
<column hidden="0" name="value" type="field" width="-1"/>
|
||||
<column hidden="0" name="unit" type="field" width="-1"/>
|
||||
<column hidden="0" name="mean" type="field" width="-1"/>
|
||||
<column hidden="0" name="absolute" type="field" width="-1"/>
|
||||
<column hidden="0" name="water" type="field" width="-1"/>
|
||||
<column hidden="1" type="actions" width="-1"/>
|
||||
</columns>
|
||||
</attributetableconfig>
|
||||
<conditionalstyles>
|
||||
<rowstyles/>
|
||||
<fieldstyles/>
|
||||
</conditionalstyles>
|
||||
<storedexpressions/>
|
||||
<editform tolerant="1"></editform>
|
||||
<editforminit/>
|
||||
<editforminitcodesource>0</editforminitcodesource>
|
||||
<editforminitfilepath></editforminitfilepath>
|
||||
<editforminitcode><![CDATA[# -*- coding: utf-8 -*-
|
||||
"""
|
||||
QGIS-Formulare können eine Python-Funktion haben,, die aufgerufen wird, wenn sich das Formular öffnet
|
||||
|
||||
Diese Funktion kann verwendet werden um dem Formular Extralogik hinzuzufügen.
|
||||
|
||||
Der Name der Funktion wird im Feld "Python Init-Function" angegeben
|
||||
Ein Beispiel folgt:
|
||||
"""
|
||||
from qgis.PyQt.QtWidgets import QWidget
|
||||
|
||||
def my_form_open(dialog, layer, feature):
|
||||
geom = feature.geometry()
|
||||
control = dialog.findChild(QWidget, "MyLineEdit")
|
||||
]]></editforminitcode>
|
||||
<featformsuppress>0</featformsuppress>
|
||||
<editorlayout>generatedlayout</editorlayout>
|
||||
<editable>
|
||||
<field editable="1" name="agency"/>
|
||||
<field editable="1" name="number"/>
|
||||
<field editable="1" name="shortname"/>
|
||||
<field editable="1" name="mean"/>
|
||||
<field editable="1" name="absolute"/>
|
||||
<field editable="1" name="timestamp"/>
|
||||
<field editable="1" name="unit"/>
|
||||
<field editable="1" name="value"/>
|
||||
<field editable="1" name="water"/>
|
||||
</editable>
|
||||
<labelOnTop>
|
||||
<field name="agency" labelOnTop="0"/>
|
||||
<field name="number" labelOnTop="0"/>
|
||||
<field name="shortname" labelOnTop="0"/>
|
||||
<field name="mean" labelOnTop="0"/>
|
||||
<field name="absolute" labelOnTop="0"/>
|
||||
<field name="timestamp" labelOnTop="0"/>
|
||||
<field name="unit" labelOnTop="0"/>
|
||||
<field name="value" labelOnTop="0"/>
|
||||
<field name="water" labelOnTop="0"/>
|
||||
</labelOnTop>
|
||||
<reuseLastValue>
|
||||
<field reuseLastValue="0" name="agency"/>
|
||||
<field reuseLastValue="0" name="number"/>
|
||||
<field reuseLastValue="0" name="shortname"/>
|
||||
<field reuseLastValue="0" name="mean"/>
|
||||
<field reuseLastValue="0" name="absolute"/>
|
||||
<field reuseLastValue="0" name="timestamp"/>
|
||||
<field reuseLastValue="0" name="unit"/>
|
||||
<field reuseLastValue="0" name="value"/>
|
||||
<field reuseLastValue="0" name="water"/>
|
||||
</reuseLastValue>
|
||||
<dataDefinedFieldProperties/>
|
||||
<widgets/>
|
||||
<previewExpression>"shortname"</previewExpression>
|
||||
<mapTip enabled="1"> <h1>[% "shortname" %]</h1> <table> <tr> <th style='text-align: left'>Nummer:</th> <td>#[% "number" %]</td> </tr> <tr> <th style='text-align: left'>Behörde:</th> <td>[% "agency" %]</td> </tr> <tr> <th style='text-align: left'>Gewässer:</th> <td>[% "water" %]</td> </tr> <tr> <th style='text-align: left'>Zeitstempel:</th> <td>[% "timestamp" %]</td> </tr> <tr> <th style='text-align: left'>Aktueller Pegel:</th> <td>[% "value" %] [% "unit" %]</td> </tr> <tr> <th style='text-align: left'>MNW, MHW:</th> <td>[% "mean" %]</td> </tr> <tr> <th style='text-align: left'>NSW, HSW:</th> <td>[% "absolute" %]</td> </tr> </table></mapTip>
|
||||
<layerGeometryType>0</layerGeometryType>
|
||||
</qgis>
|
||||
Loading…
Reference in New Issue
Block a user