zanieczyszczenie_swiatlem

Metoda masowego pobierania z Google Earth Engine i oceny presji zewnętrznych na dowolny obszar z pliku GPKG: sztuczne światło nocą (VIIRS DNB), globalna modyfikacja przez człowieka (gHM) oraz obszary Natura 2000.

Wersja 1.0.0. Notatnik Google Colab i niezależny skrypt Python, te same komórki kodu. DOI archiwum: 10.5281/zenodo.24186500.

1. Cel i zakres

Narzędzie odpowiada na trzy pytania o dowolny obszar wskazany w pliku GeoPackage: ile sztucznego światła nocą dociera do obszaru i jego otoczenia oraz jak zmienia się ono w czasie, jak silnie obszar i jego sąsiedztwo są przekształcone przez człowieka oraz jaką część zajmują obszary Natura 2000 i czy zmiany pokrycia terenu w sieci Natura 2000 różnią się od zmian poza nią.

Zakresem pracy jest suma wszystkich obiektów wskazanej warstwy pliku GPKG. Może to być park, gmina, zlewnia, pole badań, także kilka rozłącznych obiektów. Obszar nie musi być parkiem krajobrazowym ani leżeć w Polsce. Warstwy Natura 2000 istnieją tylko w Unii Europejskiej, więc poza nią odpowiednie tabele są puste, a narzędzie zapisuje o tym uwagę i liczy dalej.

Główną część pracy wykonuje masowe pobieranie: dla obszaru z GPKG skrypt sam pobiera z Google Earth Engine (GEE) roczne mediany VIIRS, wszystkie miesięczne kompozyty VIIRS, gHM, raster Natura 2000, tło Sentinel-2 i mapy Dynamic World, a następnie zapisuje je jako GeoTIFF i w lokalnej pamięci podręcznej.

Plik GPKGdowolny obszar(zakres pracy) Strefy i siatkaAOI, pierścień 5 km,siatka 30 m Pobieranie z GEEkafle, ponawianie,pamięć podręczna Analizatabele, trendy,porównania WynikiGeoTIFF, CSV,ryciny, animacje VIIRS DNB · gHM · WDPA · Sentinel-2 · Dynamic World błąd jednego modułu trafia do raportu, pozostałe moduły liczą dalej
Rys. 1. Przepływ pracy narzędzia.

2. Przewodnik krok po kroku: jak to działa i jak uruchomić u siebie

Ta część jest napisana dla osoby, która nigdy nie programowała. Nie trzeba nic instalować na komputerze: wszystko działa w przeglądarce, na koncie Google. Interfejsy Google się zmieniają, więc nazwy przycisków mogą się nieco różnić od opisanych, a przewodnik nie zawiera zrzutów ekranu.

2.1. Co to robi, prostym językiem

Satelity fotografują Ziemię także nocą i mierzą, jak jasno świecą miasta, drogi i oświetlone miejsca. Narzędzie bierze Twój obszar (na przykład park, gminę albo teren badań), pobiera dla niego zdjęcia satelitarne z ogólnodostępnego magazynu danych Google Earth Engine i liczy trzy rzeczy:

  1. jak jasno świeci obszar i jego otoczenie w nocy oraz czy z roku na rok jest jaśniej, czy ciemniej;
  2. jak bardzo teren i jego sąsiedztwo zostały przekształcone przez człowieka (zabudowa, rolnictwo, drogi);
  3. jaką część zajmują obszary Natura 2000 (sieć ochrony przyrody w Unii Europejskiej).

Na końcu dostajesz gotowe tabele, wykresy, mapy, animacje i pliki do programów GIS (na przykład QGIS). Całość jest uruchamiana w Google Colab: to „komputer w przeglądarce”, który Google udostępnia po zalogowaniu kontem Google. Ty wpisujesz tylko trzy rzeczy: gdzie leży plik z obszarem, gdzie zapisać wyniki i identyfikator własnego projektu Earth Engine.

2.2. Słowniczek

PojęcieCo to znaczy
Obszar (AOI)Miejsce, które badasz: granica parku, gminy, zlewni albo dowolnego terenu.
Plik GPKG (GeoPackage)Plik z granicą obszaru, który otwiera i zapisuje program QGIS. Jeden plik może zawierać kilka obiektów; narzędzie weźmie je wszystkie razem.
Google Earth Engine (GEE)Bezpłatny dla badań i edukacji serwis Google z ogromnym zbiorem zdjęć satelitarnych. Narzędzie prosi go o dane dla Twojego obszaru.
Projekt GEE i jego identyfikatorTwoje „konto robocze” w Google Cloud, z którego korzystasz z Earth Engine. Identyfikator to krótki napis typu moj-projekt-123456. To nie jest nazwa wyświetlana projektu.
Google ColabStrona, na której uruchamia się notatnik z kodem bez instalowania czegokolwiek.
NotatnikDokument złożony z komórek z opisem i kodem; uruchamia się je po kolei jednym poleceniem.
Dysk GoogleTwoje miejsce w chmurze Google, skąd notatnik czyta plik z obszarem i dokąd zapisuje wyniki.
RadiancjaMiara jasności nocnego światła widzianego z satelity. Większa liczba oznacza jaśniej.
GeoTIFFPlik ze zdjęciem lub mapą, który zna swoje położenie na Ziemi; otwiera się go w QGIS.

2.3. Czego potrzebujesz

Krok 2 (projekt Earth Engine) wykonuje się raz; potem w kolejnych pracach używasz tego samego identyfikatora.

Krok 1. Załóż lub wybierz konto Google

Zaloguj się na konto Google, którego będziesz używać do wszystkiego poniżej (Dysk, Colab, Earth Engine). Używaj wszędzie tego samego konta, bo to najczęstsze źródło błędów „brak dostępu”.

Krok 2. Załóż własny projekt Google Earth Engine

Według oficjalnej instrukcji Google dostęp do Earth Engine wymaga projektu w Google Cloud, włączenia interfejsu Earth Engine API i zarejestrowania projektu [20]. Po kolei:

  1. Utwórz projekt. Wejdź na console.cloud.google.com/projectcreate, wpisz dowolną nazwę (na przykład swiatlo-nocne) i kliknij przycisk tworzenia. Google nada projektowi identyfikator (zwykle nazwa z dopisanym numerem). Zapisz go: to jest wartość do wpisania w ustawieniach. Identyfikator widać potem na liście projektów u góry strony Google Cloud, obok nazwy.
  2. Włącz Earth Engine API. Wejdź na stronę interfejsu Earth Engine API, upewnij się, że u góry wybrany jest Twój projekt, i kliknij Enable (Włącz).
  3. Zarejestruj projekt. Wejdź na console.cloud.google.com/earth-engine/configuration. Do użytku niekomercyjnego (badania, edukacja) wypełnij krótką ankietę; dokumentacja Google podaje, że wtedy nie trzeba konfigurować płatności, a po rejestracji dostęp włącza się od razu [20]. Zastosowania komercyjne mają osobne zasady; warunki sprawdź na stronie Google, bo się zmieniają.

Po tym kroku masz identyfikator projektu, na przykład swiatlo-nocne-123456. Nie jest to hasło i nie trzeba go chronić, ale musi być wpisany dokładnie.

Krok 3. Przygotuj plik z obszarem i wgraj go na Dysk Google

  1. W QGIS zaznacz warstwę z granicą obszaru, kliknij ją prawym przyciskiem myszy, wybierz Eksportuj, potem Zapisz obiekty jako i jako format wskaż GeoPackage. Nazwij plik na przykład obszar.gpkg. Układ współrzędnych musi być nadany (QGIS robi to sam).
  2. Wejdź na drive.google.com, utwórz folder o nazwie zanieczyszczenie_swiatlem i wgraj do niego plik obszar.gpkg (przycisk Nowy, potem Przesyłanie pliku).

Przy pierwszym uruchomieniu wybierz niewielki obszar. Przekonasz się, że wszystko działa, zanim zaczniesz pobierać dane dla dużego terenu.

Krok 4. Otwórz notatnik w Colabie

Kliknij Otwórz w Colabie i zaloguj się tym samym kontem Google. Zobaczysz notatnik z opisem i komórkami kodu. Niczego nie instaluj i nie zmieniaj, poza komórką z ustawieniami z kroku 5.

Krok 5. Wpisz trzy ustawienia

Przewiń do komórki pod nagłówkiem 1. Ustawienia. Na samej górze są trzy wiersze do uzupełnienia:

'aoi_gpkg': '/content/drive/MyDrive/zanieczyszczenie_swiatlem/obszar.gpkg',
'folder_wynikow': '/content/drive/MyDrive/zanieczyszczenie_swiatlem/wyniki',
'projekt_gee': 'TWOJ-PROJEKT-GEE',

Zostaw cudzysłowy i przecinki na końcu wierszy. Pozostałe ustawienia mają dobre wartości domyślne (na przykład pierścień 5 km wokół obszaru i lata od 2014).

Krok 6. Uruchom wszystko

  1. W menu Runtime (po polsku Środowisko wykonawcze) wybierz Run all (Uruchom wszystko) albo naciśnij Ctrl+F9.
  2. Colab zapyta o dostęp do Dysku Google: zezwól, bo stamtąd czyta plik z obszarem i tam zapisuje wyniki.
  3. Colab poprosi o potwierdzenie dostępu do Earth Engine: otwórz podany link, wybierz to samo konto Google, zezwól na dostęp i, jeśli pojawi się kod, wklej go z powrotem w okienku w Colabie [21].
  4. Poczekaj. Czas zależy od wielkości obszaru i liczby lat. Nie zamykaj karty. Komórki wypisują postęp pod sobą.

Zanim zacznie się pobieranie, notatnik sprawdza trzy wpisane pola. Jeśli coś jest nie tak (brak identyfikatora, zła ścieżka do pliku, brak zapisu w folderze), zatrzyma się od razu z komunikatem po polsku, co poprawić. Jeśli bieg się przerwie (zamknięta karta, limit czasu Colaba), uruchom go jeszcze raz: pobrane dane są zapisane w folderze wyników i nie będą pobierane od nowa.

Krok 7. Odbierz wyniki

Wejdź na Dysk Google, do folderu zanieczyszczenie_swiatlem/wyniki/<nazwa obszaru>:

PodfolderCo tam jest i czym to otworzyć
02_rycinyWykresy i mapy w plikach PNG. Otwierają się jak zwykłe zdjęcia.
01_tabeleTabele w plikach CSV. Otwierają się w Excelu lub Arkuszach Google.
03_animacjeAnimacje (GIF i MP4) zmian światła nocą w kolejnych latach i miesiącach.
04_rastryPobrane zdjęcia i mapy w plikach GeoTIFF. Otwiera je QGIS.
06_raportOpis źródeł i parametrów biegu. Warto go dołączyć do swojej pracy.

2.4. Jak czytać wyniki

2.5. Najczęstsze problemy

Co widziszCo to znaczy i co zrobić
„BŁĄD USTAWIEŃ ... projekt_gee”Nie wpisano identyfikatora projektu. Wstaw go w miejsce TWOJ-PROJEKT-GEE (krok 5).
„nie znaleziono pliku GPKG”Ścieżka jest błędna albo nie zezwolono na dostęp do Dysku. Sprawdź nazwę folderu i pliku (także wielkość liter) i zezwól na dostęp do Dysku przy uruchamianiu.
„Nie udało się połączyć z Earth Engine”Zwykle: identyfikator jest błędny (wpisano nazwę zamiast identyfikatora), nie włączono Earth Engine API albo projekt nie jest zarejestrowany, albo logujesz się innym kontem niż to, które ma dostęp. Wróć do kroku 2 i sprawdź kolejno te trzy rzeczy.
Tabele Natura 2000 są pusteObszar leży poza Unią Europejską; sieć Natura 2000 tam nie istnieje. To nie jest błąd.
Błąd pamięci albo bieg trwa bardzo długoObszar jest bardzo duży. Wybierz mniejszy albo w ustawieniach zmniejsz kafel_px do 256 lub zwiększ skala_m do 960 (mniej szczegółowa, ale lżejsza siatka).
Bieg się przerwałUruchom ponownie (Run all). Dane już pobrane są w pamięci podręcznej w folderze wyników.

Jeśli komunikat jest inny, skopiuj ostatnie linijki błędu i zgłoś je w zakładce Issues repozytorium.

2.6. Czy to kosztuje

Colab ma wersję bezpłatną, która wystarcza do niewielkich i średnich obszarów. Earth Engine do użytku niekomercyjnego nie wymaga według dokumentacji Google konfiguracji płatności [20]. Zasady Google (limity, warunki użytku niekomercyjnego) mogą się zmienić, więc przed większą pracą przeczytaj aktualną instrukcję dostępu do Earth Engine.

3. Dane

WarstwaIdentyfikator w GEERola w analizie
VIIRS DNB, miesięczne kompozyty z korektą światła rozproszonego (pasma avg_rad, cf_cvg)NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFGSztuczne światło nocą: radiancja w nW/(cm²·sr) i liczba obserwacji bezchmurnych. Producent: Earth Observation Group, Colorado School of Mines.
Global Human ModificationCSP/HM/GlobalHumanModificationWskaźnik 0–1, stan około 2016 r., rozdzielczość około 1 km [10].
World Database on Protected AreasWCMC/WDPA/current/polygonsGranice obszarów Natura 2000 (siedliskowe i ptasie) oraz rezerwatów przyrody.
Sentinel-2 z maską Cloud Score+COPERNICUS/S2_SR_HARMONIZEDTło map (kompozyt medianowy) [13].
Dynamic WorldGOOGLE/DYNAMICWORLD/V1Pokrycie terenu 10 m do porównania zmian w Natura 2000 i poza nią [12].

Do publikacji zaleca się wskazać datowaną wersję WDPA (WCMC/WDPA/RRRRMM/polygons), żeby wynik był odtwarzalny. Kolekcja bieżąca zmienia się w czasie.

4. Metoda krok po kroku

  1. Zakres pracy. Skrypt wczytuje wskazaną warstwę GPKG i łączy wszystkie obiekty w jeden obszar (AOI). Wybiera układ metryczny: PL-1992 (EPSG:2180) w Polsce, w innych miejscach strefę UTM właściwą dla środka obszaru. Opcjonalnie dzieli AOI na dwie części według atrybutu (na przykład park i otulina), żeby policzyć je osobno.
  2. Strefy i siatka. Tworzy pierścień o promieniu 5 km wokół AOI (otoczenie, z którego dociera rozproszone światło) oraz siatkę 30 m wyrównaną do tej samej siatki co w notatniku głównym, dzięki czemu rastry z obu narzędzi się pokrywają. Dane VIIRS i gHM liczone są na siatce grubszej, 480 m (16 pikseli 30 m), zbliżonej do natywnej rozdzielczości VIIRS. Piksel gruby należy do strefy, jeśli co najmniej połowa zawartych w nim pikseli 30 m leży w tej strefie.
  3. Pobieranie z GEE. Każdy obraz jest pobierany kaflami 512 × 512 pikseli przez ee.data.computePixels, z ponawianiem błędów przejściowych i zapisem atomowym do pamięci podręcznej (.npz), której klucz zależy od definicji obrazu. Wiele obrazów pobiera się równolegle. Przerwany bieg wznawia się bez ponownych zapytań do GEE.
  4. Światło nocą, wyniki roczne. Dla każdego roku skrypt bierze mediany z miesięcznych obrazów, odrzucając piksele bez obserwacji (cf_cvg = 0). Mediana ogranicza wpływ jednorazowych zdarzeń (pożary, zorza, statki), których wersja 1 produktu nie filtruje. Radiancja jest zapisywana jako liczba całkowita (wartość × 100), brak danych jako −999999. W każdej strefie liczona jest średnia, mediana i suma radiancji. Suma jest wskaźnikiem przyjętym w ocenie polskich parków [1], bo uwzględnia powierzchnię oświetloną, a nie tylko typowe jasności.
  5. Światło nocą, wyniki miesięczne. Wszystkie dostępne miesięczne kompozyty (radiancja i liczba obserwacji) są pobierane i zapisywane jako wielopasmowy GeoTIFF. Z nich powstaje tabela miesięczna, mapa cieplna lat × miesiące i animacja.
  6. Trend. Na rocznych wartościach średniej radiancji w strefie (co najmniej pięć lat danych) liczone jest nachylenie Theila-Sena (mediana nachyleń wszystkich par punktów) [14] oraz test Manna-Kendalla na istnienie monotonicznego trendu [15]. Tabela podaje nachylenie w nW/(cm²·sr) na rok, zmianę względną w procentach na rok (nachylenie podzielone przez średnią z okresu) i wartość p. Statystyka testu to
    S = Σ sgn(xj − xi) dla i < j;  Var(S) = n(n − 1)(2n + 5) / 18
    Z = (S − 1)/√Var(S) dla S > 0, Z = (S + 1)/√Var(S) dla S < 0;  p = 2Φ(−|Z|)
    Wariancja jest podana bez poprawki na powtórzenia wartości, a test zakłada brak autokorelacji szeregu (zob. ograniczenia).
  7. Modyfikacja przez człowieka. Warstwa gHM jest pobierana na siatce 480 m. W każdej strefie liczona jest średnia i mediana oraz udział powierzchni powyżej progu 0,4. Próg 0,4 jest umowną granicą silnej modyfikacji, ustawioną w skrypcie. Producent warstwy nie definiuje klas ani progów w opisie zbioru w GEE, więc próg można i należy dostosować do pytania badawczego.
  8. Natura 2000. Z WDPA wybierane są poligony o oznaczeniach siedliskowych (Habitats Directive Site, Site of Community Importance) i ptasich (Birds Directive Site) oraz rezerwaty. Skrypt rasteryzuje je na siatce analizy i liczy udział sieci Natura 2000 w AOI i w pierścieniu.
  9. Zmiany pokrycia terenu w Natura 2000 i poza nią. Źródłem map jest (a) plik RF 5 klas z notatnika głównego, jeśli istnieje i siatka się zgadza, albo (b) Dynamic World: modalna etykieta z sezonu czerwiec-wrzesień dla dwóch epok, z 10 m agregowana większością do 30 m i sprowadzona do pięciu klas (zabudowa, lasy, wody, trawy i krzewy, uprawy; gleba odkryta i śnieg trafiają do klasy trawy i krzewy). Dla każdej strefy i dla pikseli wewnątrz i na zewnątrz sieci Natura 2000 liczone są udziały nowej zabudowy, ubytku i przyrostu lasu. Grupy mniejsze niż 100 pikseli są pomijane.
  10. Wyniki i raport. Tabele CSV, ryciny PNG, animacje (GIF, MP4), rastry GeoTIFF, wektory GPKG oraz raport: parametry biegu (JSON), opis źródeł i ograniczeń (Markdown) i lista błędów modułów, jeśli wystąpiły.

5. Podstawy naukowe

5.1. Dlaczego światło nocą jest presją na przyrodę

Sztuczne światło nocą zaburza naturalny cykl światła i ciemności, który reguluje zegary biologiczne, żerowanie, rozmnażanie i migracje wielu grup organizmów. Mechanizmy opisano w przeglądzie Gastona i in. [4], a postulaty badawcze i polityczne w pracy Hölkera i in. [5]. Wpływ nie kończy się na granicy oświetlonego miejsca: światło rozproszone w atmosferze (poświata nocnego nieba) sięga obszarów odległych od miast. Globalny atlas jasności nocnego nieba pokazuje skalę tego zjawiska [6], a analizy nakładania atlasu na sieci obszarów chronionych wykazały, że znaczna część obszarów ważnych dla bioróżnorodności i obszarów chronionych leży pod rozjaśnionym niebem [8],[9]. Dla polskich parków narodowych i krajobrazowych opracowano skalę ELP oceniającą oddziaływanie światła [1]. Stąd potrzeba oceny nie tylko samego obszaru, lecz także jego otoczenia, co realizuje pierścień presji.

5.2. Dlaczego VIIRS DNB

Radiometr VIIRS na satelitach serii Suomi NPP i NOAA-20 ma pasmo dzień/noc (DNB) bardzo czułe na słabe światło, co umożliwia obserwację oświetlenia nocnego w skali globalnej [2]. Miesięczne kompozyty uśredniają obserwacje bezchmurne, a roczne szeregi tworzy się z kompozytów miesięcznych [3]. Wersja z korektą światła rozproszonego (VCMSLCFG) poszerza obszar użytecznych obserwacji i poprawia zakres dynamiki, ale według opisu zbioru nie filtruje świateł chwilowych ani nie oddziela świateł od tła. Dlatego narzędzie używa mediany rocznej z miesięcy z obserwacjami, a nie pojedynczych miesięcy, i zapisuje obok radiancji liczbę obserwacji (cf_cvg).

Wskaźnik sumy radiancji w strefie, a nie samej średniej, odpowiada praktyce oceny polskich obszarów chronionych [1]: duży, słabo oświetlony obszar i mały, silnie oświetlony mogą mieć podobną średnią, ale różne sumy. Kierunek trendu radiancji dla Ziemi jest przedmiotem badań: analiza satelitarna wykazała wzrost oświetlonej powierzchni i radiancji w latach 2012-2016 [7], jednak lokalnie (na przykład po wymianie opraw na LED) wynik może być przeciwny, bo czujnik jest ślepy na światło niebieskie.

5.3. Modyfikacja przez człowieka

Wskaźnik gHM łączy w jednym gradiencie 0-1 wpływ zabudowy, rolnictwa, transportu, energetyki, wydobycia i innych presji [10],[11]. Daje to miarę presji, której nie widać w samym świetle: obszar może być ciemny i jednocześnie otoczony silnie przekształconym krajobrazem. Używamy go jako zmiennej opisowej, w jednym stanie czasowym, bez interpretacji przyczynowej.

5.4. Trend nieparametryczny

Nachylenie Theila-Sena jest odporne na wartości odstające i nie zakłada rozkładu normalnego [14], a test Manna-Kendalla ocenia, czy szereg ma monotoniczny trend [15]. Szereg roczny dla jednego obszaru ma kilkanaście punktów, więc moc testu jest ograniczona; istotność statystyczna nie przesądza o znaczeniu ekologicznym.

5.5. Porównanie wewnątrz i na zewnątrz Natura 2000

Różnica zmian pokrycia terenu wewnątrz i na zewnątrz obszarów chronionych nie jest oceną skuteczności ochrony. Obszary chronione są lokalizowane nieprzypadkowo, częściej tam, gdzie presja rozwojowa jest mniejsza (wyżej, dalej od miast) [16], a szacunki skuteczności bez kontroli tej różnicy lokalizacji są zawyżone [17]. Dlatego narzędzie podaje tylko opis porównawczy, bez wniosku o efekcie przyczynowym.

6. Ograniczenia

7. Uruchomienie dla zaawansowanych

Osoby początkujące powinny zacząć od przewodnika w sekcji 2. Ta część opisuje uruchomienie skryptu na własnym komputerze i pełną listę ustawień.

7.1. Notatnik (Google Colab)

Otwórz notatnik w Colabie, uzupełnij trzy pola wymagane w komórce 1. Ustawienia (aoi_gpkg, folder_wynikow, projekt_gee) i uruchom wszystkie komórki. Wyniki trafiają do <folder_wynikow>/<nazwa AOI>/.

7.2. Skrypt Python (komputer lokalny, serwer)

Skrypt wymaga Pythona 3 i konta z dostępem do projektu Earth Engine. Trzy pola wymagane są na górze pliku w sekcji USTAWIENIA DO WPISANIA: PROJEKT_GEE (można też podać zmienną środowiskową GEE_PROJECT), PLIK_GPKG i FOLDER_WYNIKOW. Te same wartości można przekazać w wierszu poleceń. Przed pobieraniem skrypt sprawdza, czy pola są wypełnione, czy plik istnieje i czy w folderze wyników można zapisywać.

pip install -r requirements.txt

# sprawdzenie ustawień i połączenia z Earth Engine, bez pobierania danych
python zanieczyszczenie_swiatlem.py --projekt MOJ_PROJEKT_GEE --gpkg obszar.gpkg --out wyniki --tylko-sprawdz

# pełny bieg
python zanieczyszczenie_swiatlem.py --projekt MOJ_PROJEKT_GEE --gpkg obszar.gpkg --out wyniki

# dowolne ustawienie można nadpisać (wartość w formacie JSON)
python zanieczyszczenie_swiatlem.py --projekt MOJ_PROJEKT_GEE --gpkg obszar.gpkg --out wyniki \
    --ustaw animacje.miesieczna=false --ustaw presje.skala_m=960 --ustaw bufory_m=[2000,5000]

Przy pierwszym uruchomieniu skrypt sam uruchomi logowanie do Earth Engine [21]. Plik zanieczyszczenie_swiatlem.py ma format Jupytext (komórki # %%), więc można go także otworzyć jako notatnik. Kod wyjścia 2 oznacza, że jakiś moduł przerwał się błędem; raport i pozostałe wyniki są zapisane.

7.3. Ustawienia

Ustawienie (skrypt / notatnik)DomyślnieZnaczenie
wymagane: PROJEKT_GEE / projekt_gee(do wpisania)Identyfikator projektu Google Cloud z włączonym Earth Engine.
wymagane: PLIK_GPKG / aoi_gpkgobszar.gpkgZakres pracy: plik GPKG (suma wszystkich obiektów warstwy).
wymagane: FOLDER_WYNIKOW / folder_wynikowwynikiFolder wyników; w nim powstaje folder z nazwą obszaru.
WARSTWA_GPKG / aoi_warstwapierwsza warstwaWarstwa w pliku GPKG.
NAZWA_OBSZARU / nazwanazwa pliku GPKGNazwa w tytułach rycin i plikach wyników.
PROMIEN_PRESJI_M / presja_promien_m5000Promień pierścienia presji wokół AOI, w metrach.
LATA_VIIRS / presje.viirs_lata(2014, 2026)Lata do analizy; lata bez miesięcy w kolekcji są pomijane. Niepełny rok bieżący warto wyłączyć.
aoi_kolumna_typuNoneOpcjonalny podział AOI na dwie części według atrybutu.
presje.skala_m480Siatka VIIRS i gHM (wielokrotność 30 m).
presje.natura.zrodlo_zmianautoŹródło map pokrycia: auto, rf_geotiff lub dw.
pobieranie.*GeoTIFF włączonyZapis warstw, miesięczne VIIRS, tło S2, przycięcie do stref, ZIP, równoległość.
kafel_px, watki512, 8Wydajność pobierania; przy błędach pamięci GEE zmniejsz kafel do 256.

7.3. Wtyczka do QGIS

Dla osób pracujących w QGIS przygotowano wtyczkę Zanieczyszczenie światłem nocnym (Night-time Light Pollution) z interfejsem w języku polskim i angielskim. Obejmuje wyłącznie światło nocne VIIRS (jasność roczna i miesięczna, trend, sezonowość, mapy, animacje, GeoTIFF, raport). Obszar wskazuje się warstwą poligonową z projektu lub plikiem; biblioteki Pythona wtyczka instaluje do osobnego folderu, nie zmieniając instalacji QGIS, a zakładka Dostęp do GEE prowadzi krok po kroku przez założenie projektu Google Cloud i logowanie do Earth Engine.

  1. Pobierz plik zanieczyszczenie_swiatla_nocnego-1.0.1.zip (kod źródłowy w katalogu qgis_plugin).
  2. W QGIS (3.22 lub nowszy) wybierz Wtyczki, Zarządzanie wtyczkami, Zainstaluj z pliku ZIP i wskaż pobrany plik.
  3. W oknie wtyczki otwórz zakładkę Dostęp do GEE, kliknij kolejno Zainstaluj biblioteki, Zaloguj do Earth Engine i Sprawdź połączenie, a potem wróć do zakładki Analiza.

Wtyczka ma status eksperymentalny. Okno i silnik sprawdzono na zaślepkach Earth Engine i QGIS, bez prawdziwego QGIS, więc pierwsze uruchomienie traktuj jako test i zgłoś uwagi w repozytorium.

8. Co powstaje w folderze wyników

FolderZawartość
01_tabeleRoczna i miesięczna radiancja w strefach, trend Theila-Sena i Manna-Kendalla, gHM, udział Natura 2000, zmiany pokrycia terenu w sieci i poza nią, manifest pobranych plików.
02_rycinyPanel światła nocą (mapy, szeregi, trend), mapa cieplna lat × miesięcy, gHM, mapa i wykres Natura 2000.
03_animacjeAnimacja roczna i (opcjonalnie) miesięczna światła nocą, GIF i MP4.
04_rastryGeoTIFF: VIIRS roczne i miesięczne, liczba obserwacji, gHM, Natura 2000, strefy analizy, tło Sentinel-2, mapy Dynamic World.
05_wektory, 06_raportStrefy (GPKG); parametry biegu (JSON) i opis źródeł oraz ograniczeń (Markdown).

9. Literatura

  1. T. Ściężor et al., „Ecological Light Pollution (ELP) Scale as a Measure of Light Pollution Impact on Protected Areas: Case Study of Poland,” Sustainability, vol. 17, no. 11, art. 4824, 2025, doi: 10.3390/su17114824.
  2. C. D. Elvidge, K. Baugh, M. Zhizhin, F.-C. Hsu, T. Ghosh, „VIIRS night-time lights,” Int. J. Remote Sens., 2017, doi: 10.1080/01431161.2017.1342050.
  3. C. D. Elvidge, M. Zhizhin, T. Ghosh, F.-C. Hsu, J. Taneja, „Annual time series of global VIIRS nighttime lights derived from monthly averages: 2012 to 2019,” Remote Sens., 2021, doi: 10.3390/rs13050922.
  4. K. J. Gaston, J. Bennie, T. W. Davies, J. Hopkins, „The ecological impacts of nighttime light pollution: a mechanistic appraisal,” Biol. Rev., 2013, doi: 10.1111/brv.12036.
  5. F. Hölker et al., „The dark side of light: a transdisciplinary research agenda for light pollution policy,” Ecol. Soc., 2010, doi: 10.5751/ES-03685-150413.
  6. F. Falchi et al., „The new world atlas of artificial night sky brightness,” Sci. Adv., 2016, doi: 10.1126/sciadv.1600377.
  7. C. C. M. Kyba et al., „Artificially lit surface of Earth at night increasing in radiance and extent,” Sci. Adv., 2017, doi: 10.1126/sciadv.1701528.
  8. J. K. Garrett, P. F. Donald, K. J. Gaston, „Skyglow extends into the world's Key Biodiversity Areas,” Anim. Conserv., 2019, doi: 10.1111/acv.12480.
  9. K. J. Gaston, J. P. Duffy, J. Bennie, „Quantifying the erosion of natural darkness in the global protected area system,” Conserv. Biol., 2015, doi: 10.1111/cobi.12462.
  10. C. M. Kennedy et al., „Managing the middle: a shift in conservation priorities based on the global human modification gradient,” Glob. Change Biol., 2019, doi: 10.1111/gcb.14549.
  11. D. M. Theobald et al., „Earth transformed: detailed mapping of global human modification from 1990 to 2017,” Earth Syst. Sci. Data, 2020, doi: 10.5194/essd-12-1953-2020.
  12. C. F. Brown et al., „Dynamic World, near real-time global 10 m land use land cover mapping,” Sci. Data, 2022, doi: 10.1038/s41597-022-01307-4.
  13. V. J. Pasquarella, C. F. Brown, W. Czerwinski, W. J. Rucklidge, „Comprehensive quality assessment of optical satellite imagery using weakly supervised video learning,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. Workshops (CVPRW), 2023, pp. 2125-2135.
  14. P. K. Sen, „Estimates of the regression coefficient based on Kendall's tau,” J. Am. Stat. Assoc., 1968, doi: 10.1080/01621459.1968.10480934.
  15. H. B. Mann, „Nonparametric tests against trend,” Econometrica, 1945, doi: 10.2307/1907187.
  16. L. Joppa, A. Pfaff, „High and far: biases in the location of protected areas,” PLoS ONE, 2009, doi: 10.1371/journal.pone.0008273.
  17. K. S. Andam, P. J. Ferraro, A. Pfaff, G. A. Sanchez-Azofeifa, J. A. Robalino, „Measuring the effectiveness of protected area networks in reducing deforestation,” Proc. Natl. Acad. Sci. USA, 2008, doi: 10.1073/pnas.0800437105.
  18. K. H. Hamed, A. R. Rao, „A modified Mann-Kendall trend test for autocorrelated data,” J. Hydrol., 1998, doi: 10.1016/S0022-1694(97)00125-X.
  19. S. Yue, P. Pilon, B. Phinney, G. Cavadias, „The influence of autocorrelation on the ability to detect trend in hydrological series,” Hydrol. Process., 2002, doi: 10.1002/hyp.1095.
  20. Google, „Get Earth Engine access,” dokumentacja Google Earth Engine (strona sprawdzona 13.11.2026). [Online]. Dostępne: developers.google.com/earth-engine/guides/access
  21. Google, „Python install: authentication and initialization,” dokumentacja Google Earth Engine (strona sprawdzona 13.11.2026). [Online]. Dostępne: developers.google.com/earth-engine/guides/python_install

Rejestry obszarów chronionych, kolekcje VIIRS, gHM i Dynamic World są opisane w katalogu danych Google Earth Engine pod identyfikatorami z tabeli w sekcji 3; opis zbioru VIIRS VCMSLCFG podaje ograniczenia wersji 1 cytowane w sekcji 5.2.

10. Jak cytować

Archiwum wydania v1.0.0 ma stały identyfikator DOI w Zenodo: 10.5281/zenodo.24186500 (rekord). Zalecany zapis (IEEE):

G. Górniak, „zanieczyszczenie_swiatlem: bulk Google Earth Engine download and assessment of external pressures (night-time light, human modification, Natura 2000) for any area from a GPKG file,” wersja v1.0.0, Zenodo, 2026, doi: 10.5281/zenodo.24186500.

Plik CITATION.cff w repozytorium zawiera te same dane w formacie czytelnym dla programów (Zotero, GitHub). Strona opisuje bieżący stan gałęzi głównej repozytorium; archiwum DOI zawiera stan z dnia wydania. Przy publikacji wyników podaj wersję i datę uruchomienia (zapisuje je plik z parametrami biegu w folderze 06_raport).