Skip to content

Commit 7e1414d

Browse files
wojtek19022algluszekagluszekapawlaczekAlek
authored
v1.2.3 (#183)
--------- Co-authored-by: aglu <alek.glu@gmail.com> Co-authored-by: agluszek <77581802+agluszek@users.noreply.github.com> Co-authored-by: Agnieszka Pawlaczek <agnieszkapawlaczek7@gmail.com> Co-authored-by: Alek <alexandr.miha68@gmail.com> Co-authored-by: Ueschar <alaksandr.michaleu@proton.me> Co-authored-by: Agnieszka Pawlaczek <157118546+apawlaczek@users.noreply.github.com>
1 parent 6053786 commit 7e1414d

34 files changed

+1050
-547
lines changed

constants.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from datetime import datetime
2+
13
AEROTRAINGULACJA_WMS_URL = 'https://mapy.geoportal.gov.pl/wss/service/PZGIK/ZDJ/WMS/Aerotriangulacja?'
24
BDOO_WMS_URL = 'https://opendata.geoportal.gov.pl/bdoo/'
35
BDOT_WMS_URL = 'https://opendata.geoportal.gov.pl/Archiwum/bdot10k/'
@@ -29,6 +31,10 @@
2931

3032
PRG_URL = 'https://integracja.gugik.gov.pl/PRG/pobierz.php?'
3133

34+
CURRENT_YEAR = datetime.now().year
35+
MIN_YEAR_BUILDINGS_3D = 1970
36+
OKRES_DOSTEPNYCH_DANYCH_LOD = range(MIN_YEAR_BUILDINGS_3D, CURRENT_YEAR + 1)
37+
3238
DOUBLE_VALIDATOR_OBJECTS = [
3339
'orto_pixelFrom_lineEdit',
3440
'orto_pixelTo_lineEdit',
@@ -193,6 +199,7 @@
193199
'SHP': 'https://opendata.geoportal.gov.pl/bdot10k/schemat2021/SHP/',
194200
'GML 2011': 'https://opendata.geoportal.gov.pl/bdot10k/',
195201
'GPKG': 'https://opendata.geoportal.gov.pl/bdot10k/schemat2021/GPKG/',
202+
'BDOT10k_GeoParquet': 'https://opendata.geoportal.gov.pl/bdot10k/schemat2021/GeoParquet/',
196203
}
197204

198205

@@ -226,3 +233,17 @@
226233
'NMPT (PL-KRON86-NH)': 'https://mapy.geoportal.gov.pl/wss/service/PZGIK/NumerycznyModelPokryciaTerenuKRON86/WFS/Skorowidze',
227234
'NMPT (PL-EVRF2007-NH)': 'https://mapy.geoportal.gov.pl/wss/service/PZGIK/NumerycznyModelPokryciaTerenuEVRF2007/WFS/Skorowidze'
228235
}
236+
237+
POZIOMY_UPROSZCZENIA = {
238+
1000 : 50,
239+
5000: 10,
240+
10000 : 50,
241+
50000 : 100,
242+
100000 : 500,
243+
500000 : 2000,
244+
1000000: 5000,
245+
5000000: 10000,
246+
10000000: 50000,
247+
50000000: 100000
248+
249+
}

dialogs.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@ def vector_layers_filter():
2828
return Qgis.LayerFilters(
2929
Qgis.LayerFilter.PolygonLayer | Qgis.LayerFilter.LineLayer | Qgis.LayerFilter.PointLayer
3030
)
31-
else:
32-
warnings.filterwarnings("ignore", category=DeprecationWarning)
33-
return QgsMapLayerProxyModel.PolygonLayer | QgsMapLayerProxyModel.LineLayer | QgsMapLayerProxyModel.PointLayer
31+
warnings.filterwarnings("ignore", category=DeprecationWarning)
32+
return QgsMapLayerProxyModel.PolygonLayer | QgsMapLayerProxyModel.LineLayer | QgsMapLayerProxyModel.PointLayer
3433

3534
def __init__(self, regionFetch, parent=None):
3635
"""Constructor."""
@@ -67,10 +66,6 @@ def fill_wfs_services_data(self):
6766
aktualna_warstwa = self.wfs_service_cmbbx.currentText()
6867
self.wfs_service_cmbbx_currentTextChanged(aktualna_warstwa)
6968

70-
def fill_wfs_services_data(self):
71-
aktualna_warstwa = self.wfs_service_cmbbx.currentText()
72-
self.wfs_service_cmbbx_currentTextChanged(aktualna_warstwa)
73-
7469
def setup_validators(self):
7570
double_validator = QRegExpValidator(QRegExp("[0-9.]*"))
7671
for obj in DOUBLE_VALIDATOR_OBJECTS:

egib_api.py

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,45 @@
33
import requests
44
from lxml import etree
55

6+
from .service_api import check_internet_connection
67
from .constants import EGIB_WFS_URL
78
from .wfs.httpsAdapter import get_legacy_session
89

9-
10-
def get_wfs_egib_dict():
11-
egib_dict = {}
10+
def get_wfs_dict(filter_name):
11+
data_dict = {}
1212
try:
13-
with get_legacy_session().get(url=EGIB_WFS_URL, verify=False, timeout=30) as resp:
13+
with get_legacy_session().get(url=EGIB_WFS_URL, verify=False) as resp:
1414
if resp.status_code != 200:
1515
return
1616
except requests.exceptions.ConnectionError:
1717
iface.messageBar().pushWarning("Ostrzeżenie:", 'Brak połączenia z internetem - nie można pobrać adresu WFS.')
1818
return
19+
1920
except requests.exceptions.Timeout:
2021
iface.messageBar().pushWarning('Ostrzeżenie:', 'Przekroczono czas oczekiwania na odpowiedź serwera.')
2122
return
23+
2224
root = etree.HTML(resp.content)
2325
table = root.xpath('.//table[contains(@class, "table")]')[0]
2426
if table is None:
2527
return
28+
2629
for row in table.iterfind('.//tr'):
2730
cells = [cell for cell in row.iterfind('td')]
28-
if len(cells) < 7:
31+
if len(cells) < 7:
2932
continue
30-
teryt = next(cells[3].itertext())
31-
link = cells[6].find('a').get('href')
32-
egib_dict[teryt] = link.split("?")[0] if link else ''
33-
egib_dict.update({"2062": "https://mapy.geoportal.gov.pl/wss/ext/PowiatoweBazyEwidencjiGruntow/2062"})
34-
egib_dict.update({"2007": "https://mapy.geoportal.gov.pl/wss/ext/PowiatoweBazyEwidencjiGruntow/2007"})
35-
return egib_dict
33+
nazwa_zbioru = next(cells[2].itertext()).strip()
34+
35+
if nazwa_zbioru == filter_name:
36+
teryt = next(cells[3].itertext()).strip()
37+
link_element = cells[6].find('a')
38+
link = link_element.get('href') if link_element is not None else ''
39+
data_dict[teryt] = link.split("?")[0] if link else ''
40+
41+
data_dict.update({"2062": "https://mapy.geoportal.gov.pl/wss/ext/PowiatoweBazyEwidencjiGruntow/2062"})
42+
data_dict.update({"2007": "https://mapy.geoportal.gov.pl/wss/ext/PowiatoweBazyEwidencjiGruntow/2007"})
43+
44+
return data_dict
45+
46+
def get_wfs_egib_dict():
47+
return get_wfs_dict("Ewidencja gruntów i budynków (EGIB)")

metadata.txt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name=Pobieracz danych GUGiK
77
qgisMinimumVersion=3.4
88
description=Pozwala na pobranie danych z zasobów GUGiK z interfejsu QGIS. EN: Allows user to download spatial data of Poland based on GUGiK's services.(Poland only)
99

10-
version=1.2.2
10+
version=1.2.3
1111

1212
author=EnviroSolutions Sp. z o.o.
1313
email=office@envirosolutions.pl
@@ -55,8 +55,20 @@ repository=https://github.com/envirosolutionspl/pobieracz_danych_gugik
5555
hasProcessingProvider=no
5656
# Uncomment the following line and add your changelog:
5757
changelog=
58-
Wersja 1.2.2
59-
* Zwiększenie dokładności pobierania danych NMT i NMPT w zakładce "Usługa WMS/Geoportal"
58+
Wersja 1.2.3
59+
* Poprawa działania powiadomień użytkownika
60+
* Optymalizacja działania zakładki WFS dla większych obszarów
61+
* Zmiana formatu wybierania daty dla pobierania budynków LOD
62+
* Dodanie skróconej listy rozwijalnej dla większości obiektów typu ComboBox
63+
* Naprawa wyglądu wtyczki dla ciemnego motywu
64+
* Naprawa działania zakładki WFS
65+
* Naprawa błędu generowanego przy nie wybraniu województwa, powiatu lub gminy
66+
* Naprawa błędnej ilości zwracanych obiektów przez wtyczkę
67+
* Dodanie nowego formatu danych BDOT 10K (geoparquet - tylko dla całego kraju)
68+
* Dodanie cyklicznego sprawdzania połączenia z internetem w przypadku pobierania większych plików
69+
* Przyspieszenie działania sprawdzenia połączenia z internetem
70+
# Wersja 1.2.2
71+
# * Zwiększenie dokładności pobierania danych NMT i NMPT w zakładce "Usługa WMS/Geoportal"
6072
# Wersja 1.2.1
6173
# * Naprawiono filtrowanie dla zakładki WMS/Geoportal (ortofotomapa, NMT/NMPT, LiDAR, obrazy intensywności)
6274
# * Naprawiono filtrowanie dla zakładki Inne dane (zdjęcia lotnicze)

0 commit comments

Comments
 (0)