Przejdź do treści
Wróć do bloga
AI Agent
QGIS
Poradnik

Jak pobrać dane OpenStreetMap do QGIS

Published

Central Kisumu, Kenia, podzielone na dwie części: po lewej podkład OpenStreetMap, a po prawej te same ulice jako wczytane dane, budynki pokolorowane według powierzchni zabudowy i główne drogi.
Central Kisumu, Kenia. Po lewej podkład OpenStreetMap: obraz. Po prawej to samo miejsce jako dane, które możesz zaznaczać, mierzyć i zapisywać: 4,572 budynki i 128 odcinków głównych dróg.

Aby pobrać dane OpenStreetMap do QGIS, zainstaluj plugin QuickOSM, otwórz Vector > QuickOSM > QuickOSM…, wpisz klucz taki jak building w zakładce Quick query, wybierz Canvas Extent i kliknij Run query. Dla całego kraju pobierz plik .osm.pbf z Geofabrik i przeciągnij go do QGIS.

To, którą metodę wybrać, zależy od dwóch rzeczy: jak duży jest obszar i czy znasz już tag OpenStreetMap dla tego, czego potrzebujesz. Wszystkie metody poniżej przetestowałem na centralnym Kisumu w Kenii 23 września 2026 roku, w QGIS 3.44.7, i każdą zmierzyłem w czasie.

Krótka odpowiedź

Twój obszarMetodaZmierzone na Kisumu
Miasto lub widok, który masz otwarty, i znasz tagMetoda 1: QuickOSM5 sekund dla 4,560 budynków na 6.3 km²
Nie znasz tagów albo chcesz je od razu ostylować i zapisaćMetoda 2: agent AI w QGIS3 min 41 s dla budynków, głównych dróg, stylu i GeoPackage
Region lub cały krajMetoda 3: wyciąg z Geofabrik57 s na pobranie Kenii (334 MB), 6 min 28 s na wycięcie Kisumu
Zapytanie, które chcesz najpierw przetestować na mapieMetoda 4: Overpass Turbo, eksport GeoJSON417 budynków na ekranie w kilka sekund

Domyślnie wybieram QuickOSM dla wszystkiego do rozmiaru miasta, a Geofabrik, gdy tylko obszar jest regionem. Metoda, której bym unikał, to wysyłanie zapytania o rozmiarze kraju do Overpass, a kolejne sekcje pokazują dlaczego.

Zanim zaczniesz

OpenStreetMap przechowuje wszystko jako tagi, pary klucza i wartości: building=yes, highway=primary, amenity=school. Każda metoda pobierania prosi o klucz, wartość albo jedno i drugie, więc warto najpierw sprawdzić tag na stronie Map features w wiki OSM. Sam klucz (building) zwraca każdą jego wartość.

Potrzebujesz QGIS 3.34 lub nowszego dla QuickOSM 2.5.3, aktualnej wersji w repozytorium pluginów (stan na 23 września 2026), oraz połączenia z internetem. W przypadku metody z Geofabrik załóż kilkaset megabajtów dysku na kraj.

Gdzie internet się tu myli

„OpenStreetMap layer w QGIS to dane”. Nie. Wpis OpenStreetMap pod XYZ Tiles w panelu Browser to zestaw obrazów narysowanych na podstawie danych. Nie możesz na nim zaznaczyć budynku, odczytać jego atrybutów ani go zmierzyć.

Polityka korzystania z kafelków mówi to w jednym zdaniu: „Dane OpenStreetMap (OSM) są darmowe dla wszystkich. Nasze serwery kafelków już nie”. Zabrania też masowego pobierania kafelków, więc zapisanie podkładu na dysku też nie jest obejściem.

„Access blocked oznacza, że OpenStreetMap cię zablokował”. Komunikat „Access blocked” jest wypisywany na kaflach mapy, a nie na danych. Strona wiki OSM o zablokowanych kaflach podaje najczęstszy z nich: „403r. Access blocked. Referer is required by tile usage policy of OpenStreetMap's volunteer-run servers”.

Oznacza to, że aplikacja wyświetlająca podkład nie wysłała nagłówka Referer ani User-Agent. Nie ma to nic wspólnego z usługami danych opisanymi poniżej, które zawodzą w inny sposób.

„Overpass może dać mi cały kraj”. Wiki Overpass API prosi publicznych użytkowników, by nie przekraczali 10,000 zapytań i 1 GB dziennie, a osoby potrzebujące dużych obszarów kieruje do regionalnych zrzutów na Geofabrik. Mój test, w którym poprosiłem QuickOSM o każdy budynek w Kenii, padł po około 32 sekundach z powodu timeoutu, co opisuje Metoda 4.

Metoda 1: QuickOSM, dla miasta lub bieżącego widoku

QuickOSM wysyła twoje zapytanie do serwera Overpass i wczytuje odpowiedź jako layers. To najszybsza droga, gdy obszar mieści się na ekranie.

Zainstaluj QuickOSM

Plugins > Manage and Install Plugins, wyszukaj QuickOSM, Install Plugin. Przy pierwszym otwarciu pokazuje przypomnienie, że dane OSM są objęte licencją ODbL, i prosi o oznaczenie „© OpenStreetMap contributors”.

Przybliż do swojego obszaru

Ustaw miasto lub dzielnicę na kanwie. Ja przybliżyłem do centralnego Kisumu, około 3 km na 2 km.

Wypełnij zakładkę Quick query

Vector > QuickOSM > QuickOSM…, potem Quick query. Wpisz building jako klucz, pozostaw wartość pustą (widnieje tam „Query on all values”), i ustaw zasięg na Canvas Extent. Pozostałe opcje zasięgu to In (nazwa miejsca), Around, Layer Extent i Not Spatial.

Uruchom zapytanie

Kliknij Run query. Kisumu wróciło w 5 sekund jako dwa layers: 4,560 wielokątów budynków z 58 polami atrybutów i 3 budynki zmapowane jako punkty.
Zakładka Quick query w QuickOSM z kluczem building, pustą wartością, wybranym Canvas Extent i otwartą sekcją Advanced, pokazującą 25-sekundowy timeout i Save to temporary file.
Zakładka Quick query z otwartą sekcją Advanced. Spójrz na dół: 25-sekundowy timeout i „Save to temporary file” to ustawienia domyślne.

Sekcja Advanced ma większe znaczenie, niż się wydaje. Timeout domyślnie wynosi 25 sekund, co wystarcza dla miasta, ale nie dla regionu. Pole Directory domyślnie wskazuje „Save to temporary file”, więc layers trafiają do pamięci, oznaczone ikoną scratch-layer w panelu Layers, i znikają, gdy zamkniesz QGIS bez ich zapisania.

QGIS z 4,560 budynkami OpenStreetMap na czerwono na podkładzie OpenStreetMap centralnego Kisumu i dwoma layers o nazwie building w panelu Layers z ikoną layer tymczasowego.
Wynik QuickOSM na podkładzie. Dwa layers „building” mają ikonę tymczasowości po prawej stronie nazwy: nic nie ma jeszcze na dysku.

Aby je zachować, kliknij layer prawym przyciskiem myszy, Make Permanent…, i wybierz ścieżkę GeoPackage. Budynki Kisumu utworzyły plik 1.5 MB. Możesz też ustawić katalog w Advanced przed uruchomieniem, a QuickOSM zapisze bezpośrednio GeoPackage (domyślnie), GeoJSON, Shapefile lub KML.

Menu kontekstowe layer w QGIS z opcją Make Permanent, obok okna Save Scratch Layer ustawionego na GeoPackage z nazwą layer buildings.
Make Permanent otwiera okno Save Scratch Layer, domyślnie GeoPackage. QuickOSM dodaje też „Reload the query in a new file” do tego samego menu.

Nie spodziewałem się, jak ubogie są tu tagi. 4,453 z 4,560 budynków Kisumu (98%) ma tylko building=yes. Stylizowanie „według typu budynku” daje jeden kolor i 107 wyjątków. Tagi są tak szczegółowe, jak je stworzyli lokalni mapujący, więc sprawdź liczbę wartości, zanim obiecasz mapę według typu.

Użyj, gdy: obszar to miasto lub mniejszy i znasz klucz, którego chcesz.

Pomiń, gdy: obszar to region lub kraj, albo zapytanie wymaga połączenia kilku tagów w sposób, którego nie oferuje formularz Quick query.

Metoda 2: jedno zdanie do agenta AI w QGIS

Budujemy jedno z takich narzędzi, AI Agent, panel czatu wewnątrz QGIS, który wykonuje kroki w projekcie, który masz otwarty. Ta sekcja dotyczy naszego własnego narzędzia.

Pasuje do czytelnika, który nie zna tagów albo chce, by cały łańcuch został wykonany za jednym razem: pobierz, wytnij, ostyluj i zapisz. W nowym projekcie, przybliżonym na ten sam widok Kisumu, wpisałem:

Wczytaj budynki i główne drogi centralnego Kisumu w Kenii z OpenStreetMap, pokoloruj budynki według powierzchni zabudowy i zapisz oba layers do GeoPackage.

Zajęło to 3 minuty 41 sekund i 39 akcji. Zgeokodowało Kisumu, odpytało OpenStreetMap o budynki i o drogi oznaczone od motorway do tertiary na obszarze widoku 6.2 km², przycięło oba do tego widoku i obliczyło pole area_m2 w strefie UTM 36S, dzięki czemu obszary są w prawdziwych metrach kwadratowych. Następnie zastosowało pięcioklasowy styl stopniowany i zapisało oba layers do Kisumu central OSM.gpkg obok projektu, pytając raz przed zapisaniem pliku.

QGIS z budynkami centralnego Kisumu pokolorowanymi od żółtego do ciemnoczerwonego według powierzchni zabudowy i głównymi drogami na niebiesko, panel Layers pokazujący pięć klas obszaru i panel AI Agent wymieniający zapisany GeoPackage o rozmiarze 1.5 MB.
Wynik obok panelu: 4,572 budynki w pięciu klasach obszaru, do 17,026 m², 128 odcinków głównych dróg i zapisany GeoPackage o rozmiarze 1.5 MB.

Te layers to zwykłe layers QGIS w GeoPackage, więc przechodzą do reszty twojego projektu tak jak te z QuickOSM. Dla jednego tagu w jednym widoku wygrywa 5 sekund QuickOSM. Agent zajmuje minuty, bo dodatkowo przycina, dodaje pole powierzchni, stylizuje i zapisuje.

Wypróbuj AI Agent za darmo w QGIS

Druga wiadomość pokazuje coś, czego żadna z pozostałych metod nie robi za jednym razem. Poprosiłem o wczytanie budynków Overture Maps dla tego samego widoku i policzenie tych, których nie ma w OpenStreetMap. W 2 minuty 41 sekund wczytało 7,318 budynków Overture i dopasowało je po ID: 4,572 pochodzi z OpenStreetMap, 2,367 z Google Open Buildings i 379 z opartych na uczeniu maszynowym obrysów Microsoftu.

To 2,746 budynków, 38% całości, które pomija czyste pobranie OSM centralnego Kisumu.

QGIS z budynkami Overture centralnego Kisumu pokolorowanymi według źródła, żółty dla OpenStreetMap, fioletowy dla Google Open Buildings i morski dla Microsoft ML Buildings, oraz odpowiedź AI Agent licząca 2,746 budynków nieobecnych w OpenStreetMap.
Overture nad tym samym widokiem, pokolorowane według źródła. Fioletowy (Google) i morski (Microsoft) to budynki, których OpenStreetMap jeszcze nie ma.

Użyj, gdy: obszar to miasto lub widok, który masz otwarty, i chcesz, by dane zostały ostylowane, przycięte lub porównane, a nie tylko wczytane.

Pomiń, gdy: potrzebujesz regionu lub kraju. Działa w skali miasta, zapytania na dużych obszarach częściej kończą się timeoutem, a szybszą drogą jest tam wyciąg z Geofabrik.

Metoda 3: wyciąg z Geofabrik, dla regionu lub kraju

Geofabrik publikuje darmowe wyciągi OpenStreetMap dla kontynentu, kraju, a w przypadku niektórych krajów również regionu. Nic nie jest odpytywane: pobierasz plik, który już zawiera każdy obiekt.

Wybierz region

Przejdź do swojego kraju. Strona Kenii 23 września 2026 oferowała kenya-latest.osm.pbf o rozmiarze 334 MB, kenya-latest-free.shp.zip o rozmiarze 939 MB i kenya-latest-free.gpkg.zip o rozmiarze 965 MB. Plik .pbf pobrał się tu w 57 sekund.

Przeciągnij .pbf do QGIS

QGIS otwiera okno „Select Items to Add” z pięcioma layers: points, lines, multilinestrings, multipolygons i other_relations. Budynki, użytkowanie terenu i większość obszarów znajduje się w multipolygons.

Odfiltruj to, czego potrzebujesz

Kliknij layer prawym przyciskiem myszy, Filter…, i wpisz "building" IS NOT NULL. Częste klucze, takie jak building, amenity i landuse, mają własne kolumny. Wszystko inne siedzi w other_tags.

Wytnij swój obszar i zapisz go

Rysowanie całego kraju jest wolne. Wytnij swój obszar raz, poleceniem poniżej, i pracuj na tym pliku.
Okno Select Items to Add w QGIS dla kenya-latest.osm.pbf, wymieniające lines, multilinestrings, multipolygons, other_relations i points, z wybranym multipolygons.
Pięć layers wewnątrz .pbf z Geofabrik. Dla budynków wybierz multipolygons.

Nie pracuj na pliku kraju takim, jaki jest. QGIS czyta .osm.pbf od początku do końca za każdym razem, gdy rysuje lub liczy, niezależnie od przybliżenia. Narysowanie widoku Kisumu bezpośrednio z pliku Kenii zajęło na moim laptopie 19 minut za pierwszym razem, gdy inne zadanie czytało ten sam plik, a policzenie budynków w tym widoku w drugim przebiegu zajęło 2 minuty 42 sekundy. Wytnij raz za pomocą ogr2ogr, narzędzia GDAL dostarczanego z QGIS:

ogr2ogr -f GPKG kisumu.gpkg kenya-latest.osm.pbf multipolygons -spat 34.745 -0.1114 34.772 -0.0926 -where "building IS NOT NULL"

Zajęło to 6 minut 28 sekund i zostawiło 1.3 MB GeoPackage z 4,576 budynkami, który QGIS obsługuje jak każdy mały layer. Cztery liczby po -spat to zachód, południe, wschód i północ w stopniach.

Pliki zip ze shapefile i GeoPackage są łatwiejsze do otwarcia, z jednym layer na motyw, ale opis formatu wymienia, co pomija darmowa wersja: między innymi wysokość budynku i liczbę kondygnacji. Plik .pbf zachowuje każdy tag.

Użyj, gdy: obszar to region lub kraj albo będziesz odpytywać ten sam obszar wiele razy.

Pomiń, gdy: potrzebujesz jednego tagu w jednej dzielnicy. Pobieranie 334 MB dla 6 km² to wolna droga.

Metoda 4: Overpass Turbo, dla zapytania, które chcesz najpierw zobaczyć

Overpass Turbo to strona internetowa, na której piszesz zapytanie Overpass, uruchamiasz je na bieżącym widoku mapy i patrzysz na wynik, zanim cokolwiek pobierzesz. To miejsce do budowania zapytań, których nie wyrazi formularz QuickOSM.

Trzy linijki poniżej proszą o każdy budynek w bieżącym widoku mapy:

[out:json][timeout:25];
way["building"]({{bbox}});
out geom;

Napisz zapytanie

Wklej je w edytorze po lewej albo zbuduj zapytanie przyciskiem Wizard.

Uruchom je na swoim widoku

Przybliż mapę do swojego obszaru i kliknij Run. W widoku centralnego Kisumu przy przybliżeniu 17 narysowało 417 budynków.

Wyeksportuj jako GeoJSON

Export, potem GeoJSON, download. To samo okno oferuje GPX, KML i surowe dane OSM. Przeciągnij plik .geojson do QGIS.
Overpass Turbo z trzylinijkowym zapytaniem o budynki po lewej i centralnym Kisumu po prawej, z obrysami budynków podświetlonymi na niebiesko. Linia statusu pokazuje 417 ways loaded.
Zapytanie po lewej, wynik po prawej. Licznik w prawym dolnym rogu mówi, co wróciło: 417 ways, 417 wielokątów.

Stąd też biorą się timeouty, bo QuickOSM i Overpass Turbo rozmawiają z tymi samymi serwerami. Ustawienie [timeout:] domyślnie wynosi 180 sekund, a [maxsize:] 512 MB pamięci serwera, zgodnie z dokumentacją Overpass QL. Zapytanie, które przekroczy jedno lub drugie, jest ucinane. QuickOSM wysyła domyślnie 25 sekund. Gdy poprosiłem go o każdy budynek w Kenii, odpowiedź po około 32 sekundach brzmiała:

Overpass error: Query timed out in "area-query" at line 5 after 30 seconds.

Publiczny serwer również racjonuje żądania. Odpytując go bezpośrednio w szybkiej pętli, by wybrać miasto do tego wpisu, moje piąte żądanie w około 20 sekund wróciło z 429 Too Many Requests, a szóste z 504 Gateway Timeout. Rada z wiki dotycząca błędu 429 to pauza 30 sekund przed wysłaniem kolejnego. Zwiększenie [timeout:] pomaga zapytaniu, które jest prawie wystarczająco szybkie. W przypadku kraju sprawia tylko, że czekasz dłużej na tę samą odpowiedź.

Użyj, gdy: piszesz własne zapytanie i chcesz sprawdzić wynik na mapie przed jego wczytaniem.

Pomiń, gdy: obszar jest duży albo będziesz często powtarzać pobieranie. Użyj Metody 3.

Oznacz OpenStreetMap, gdy publikujesz

Dane OpenStreetMap są objęte licencją Open Database License. Strona praw autorskich prosi o dwie rzeczy wszędzie, gdzie ich używasz: oznacz OpenStreetMap i wyjaśnij, że dane są objęte ODbL, co załatwia link do openstreetmap.org/copyright. Wytyczne dotyczące oznaczenia autorstwa akceptują „© OpenStreetMap contributors” i chcą, by znajdowało się obok mapy lub tam, gdzie czytelnik spodziewałby się oznaczeń autorstwa.

Obraz mapy lub PDF to utwór wytworzony i oznaczenie autorstwa wystarcza. Layer, który udostępniasz jako dane, na przykład GeoPackage z poprawionymi budynkami, pozostaje objęty ODbL. Ta sama strona mówi: „Jeśli zmieniasz nasze dane lub tworzysz na ich podstawie, możesz rozpowszechniać wynik tylko na tej samej licencji”. W układzie wydruku QGIS element tekstowy z oznaczeniem w rogu mapy pokrywa pierwszy przypadek.

Co zapamiętać

  • Wybierz metodę według obszaru: QuickOSM dla miasta lub bieżącego widoku (5 sekund dla 4,560 budynków w Kisumu), agent AI, gdy chcesz, by dane zostały przycięte, ostylowane i zapisane w jednej wiadomości, .pbf z Geofabrik dla regionu lub kraju, Overpass Turbo do przetestowania własnego zapytania.
  • Podkład OpenStreetMap w QGIS to obraz narysowany na podstawie danych, a „Access blocked” to komunikat o tych obrazach, nie o danych.
  • Wyniki QuickOSM to tymczasowe layers, dopóki nie użyjesz Make Permanent… lub nie ustawisz katalogu w Advanced.
  • Zapytania Overpass zawodzą na dużych obszarach: domyślny timeout QuickOSM to 25 sekund, serwer racjonuje żądania przez 429, a kraj należy do wyciągu z Geofabrik.
  • Pokrycie OpenStreetMap jest nierówne: w centralnym Kisumu Overpass zwrócił 4,572 budynki, podczas gdy Overture, który dodaje obrysy Google i Microsoftu, zawierał 7,318.

Pytania, które ludzie zadają

Jak zdobyć budynki lub drogi OSM dla swojego miasta?

Przybliż do miasta w QGIS, otwórz Vector > QuickOSM > QuickOSM…, wpisz building (albo highway dla dróg) jako klucz, ustaw Canvas Extent i uruchom zapytanie. Dla dróg dodaj wartość taką jak primary albo pozostaw ją pustą, by dostać każdą klasę dróg, łącznie ze ścieżkami. Zapisz wynik przez Make Permanent….

QuickOSM, Geofabrik czy Overpass: który wybrać?

QuickOSM dla miasta lub mniejszego obszaru, gdy znasz tag. Geofabrik dla regionu lub kraju albo gdy będziesz ponownie używać tego obszaru. Overpass Turbo, gdy chcesz najpierw napisać i przetestować zapytanie na mapie. QuickOSM i Overpass Turbo korzystają z tych samych serwerów Overpass, więc mają te same limity rozmiaru.

Dlaczego moje zapytanie Overpass kończy się timeoutem albo mówi access blocked?

Timeout oznacza, że zapytanie przekroczyło swój [timeout:] (25 sekund w QuickOSM, domyślnie 180 w Overpass) lub limit pamięci, więc zmniejsz obszar albo przejdź na wyciąg z Geofabrik. 429 Too Many Requests oznacza, że wysłałeś zbyt wiele w krótkim czasie. Poczekaj 30 sekund. „Access blocked” jest wypisywane na kaflach podkładu, nie na danych Overpass, i wynika z reguł Referer i User-Agent serwera kafelków.

Jak zapisać tymczasowy layer utworzony przez QuickOSM?

Kliknij layer prawym przyciskiem myszy w panelu Layers, Make Permanent…, wybierz GeoPackage i ścieżkę pliku. Aby pominąć ten krok następnym razem, ustaw Directory w sekcji Advanced QuickOSM przed uruchomieniem zapytania, a zapisze plik bezpośrednio.

Czego wymaga licencja ODbL, gdy publikuję mapę?

Oznacz OpenStreetMap, na przykład „© OpenStreetMap contributors”, obok mapy, i wyjaśnij, że dane są objęte ODbL, zwykle linkiem do openstreetmap.org/copyright. Jeśli udostępniasz same dane, zmienione lub nie, muszą pozostać objęte ODbL.

Czy pokrycie budynków OSM jest kompletne?

Nie wszędzie. Badanie z 2023 roku w Nature Communications oszacowało średnią kompletność budynków OSM na 24% na ośrodek miejski na świecie, z 71% w Europie i Azji Centralnej oraz 9% w Azji Południowej. W centralnym Kisumu 38% budynków, które zawiera Overture, nie ma w OSM.

Zanim oprzesz się na liczbach, porównaj je z innymi źródłami albo wykryj brakujące budynki na zdjęciach, jak w wykrywaniu obrysów budynków w QGIS. Czym jest obrys budynku opisuje różnicę między zbiorami danych.

Gdy dane są już wczytane, przewodnik po AI Agent pokazuje, co jeszcze jedna wiadomość może z nimi zrobić. Jeśli twoim następnym layer są obrazy, a nie wektory, pobieranie Sentinel-2 w QGIS i georeferencjonowanie zeskanowanej mapy to dwa towarzyszące poradniki, a dodawanie podkładu opisuje layer obrazowy, od którego zaczyna się ten wpis.

Wypróbuj AI Agent za darmo w QGIS