Konwersja GeoJSON na GeoPackage

Ten konwerter zamienia jeden lub więcej plików GeoJSON na pojedynczy GeoPackage (.gpkg) dla QGIS lub ArcGIS Pro: każdy plik staje się osobną warstwą z typowanymi polami, układem współrzędnych i indeksem przestrzennym. Pliki są konwertowane w przeglądarce i nie są wysyłane na serwer. Plik, w którym punkty, linie i poligony są wymieszane, jest dzielony na osobne warstwy dla każdego typu geometrii, a wartości zagnieżdżone są zapisywane jako tekst JSON.

Plik nie przekonwertował się poprawnie? Napisz na [email protected], najlepiej z małym przykładowym plikiem, a błąd zostanie naprawiony.

Najważniejsze informacje

GeoJSON na GeoPackage: po co konwertować

GeoJSON to format, który zwracają mapy internetowe, API, geojson.io i skrypty, ale w projekcie GIS jest to wolny, czysto tekstowy format: bez indeksu przestrzennego, z każdą liczbą zapisaną jako tekst i z jednym plikiem na warstwę. GeoPackage, domyślny format QGIS i standard OGC, który ArcGIS Pro także odczytuje i edytuje, przechowuje dowolną liczbę warstw w jednym pliku SQLite z prawdziwymi typami pól i indeksem, dzięki czemu duże warstwy szybko się rysują i filtrują. Ta strona zapisuje GeoPackage z Twojego GeoJSON za pomocą GDAL, otwartej biblioteki, na której działa QGIS, bezpośrednio w przeglądarce. Upuść kilka plików GeoJSON naraz, a staną się warstwami w tym samym pliku .gpkg, nazwanymi tak jak pliki, co ułatwia przekazanie całego zbioru danych w jednym pliku.

Jak przekonwertować GeoJSON na GeoPackage

  1. Upuść jeden lub więcej plików .geojson lub .json w polu albo kliknij, aby je wybrać.
  2. Sprawdź warstwy na mapie. Opcjonalnie wybierz wyjściowy układ współrzędnych.
  3. Kliknij „Konwertuj na GeoPackage” i otwórz plik .gpkg w QGIS lub ArcGIS Pro.

Co się zmienia podczas konwersji

Wymieszane punkty, linie i poligony

FeatureCollection w GeoJSON może łączyć różne typy geometrii, ale QGIS najlepiej stylizuje i edytuje warstwę o jednym typie. Dlatego plik z wymieszanymi typami staje się osobną warstwą dla każdego typu, np. parks_points i parks_polygons, z tymi samymi polami. Linie i poligony są zapisywane jako typy wieloczęściowe (MultiLineString, MultiPolygon), więc obiekty jedno- i wieloczęściowe mieszczą się w tej samej warstwie, a wysokości (Z) są zachowywane. Kolekcje geometrii i obiekty bez geometrii trafiają do warstwy z końcówką _other, zamiast zostać pominięte.

Typy pól

GDAL rozpoznaje typ każdego atrybutu na podstawie wartości: liczby całkowite stają się polami całkowitoliczbowymi, liczby z częścią dziesiętną polami zmiennoprzecinkowymi, true/false polami logicznymi, a wartości takie jak 2024-05-01 polami daty. Atrybut, który łączy liczby i tekst, staje się polem tekstowym. Zagnieżdżone obiekty i tablice, częste w odpowiedziach API, są zapisywane jako tekst JSON, który QGIS pokazuje bez zmian.

Układ współrzędnych

GeoJSON zgodny z RFC 7946 to zawsze długość i szerokość geograficzna w WGS84, a GeoPackage dostaje EPSG:4326. Plik zapisany przed RFC 7946 z elementem „crs” (np. z układem krajowym) zachowuje ten układ. Plik bez „crs”, którego współrzędne są wyraźnie w metrach, np. eksport z odwzorowanego projektu QGIS, nie jest odczytywany jako WGS84: strona prosi o układ współrzędnych i proponuje pasujące. Wpisz wyjściowy układ, aby przeliczyć warstwy podczas konwersji.

Niepoprawne geometrie

Poligony z samoprzecięciami, częste w danych rysowanych ręcznie, są podczas konwersji naprawiane funkcją makevalid z GDAL, aby QGIS i bazy danych je akceptowały. Poprawne kształty są zapisywane bez zmian.

O formatach plików

GeoJSON

GeoJSON to tekstowy format JSON dla obiektów geograficznych, ustandaryzowany jako RFC 7946 w 2016 roku. Jest natywnym formatem map internetowych, takich jak Leaflet, MapLibre i Mapbox, oraz wielu API.

  • Współrzędne to długość i szerokość geograficzna w WGS84 (w tej kolejności).
  • W jednym pliku można łączyć punkty, linie i poligony.
  • Właściwości mogą być dowolną wartością JSON, bez limitu długości nazw pól.

GeoPackage

GeoPackage to otwarty standard OGC z 2014 roku oparty na SQLite. Jest domyślnym formatem w QGIS i w jednym pliku może przechowywać wiele warstw, dowolny układ współrzędnych i długie nazwy pól.

  • Jeden plik może zawierać wiele warstw wektorowych i tabel oraz kafle rastrowe.
  • W przeciwieństwie do shapefile'ów nazwy pól nie są ograniczone do 10 znaków.
  • Przechowuje układ współrzędnych każdej warstwy w pliku, więc nie ma osobnego pliku .prj.
  • W przeciwieństwie do plików .shp i .dbf shapefile'a nie ma limitu 2 GB na warstwę.

Najczęściej zadawane pytania

Czy mogę umieścić kilka plików GeoJSON w jednym GeoPackage?

Tak. Wybierz lub upuść wszystkie pliki naraz. Każdy plik staje się osobną warstwą w tym samym pliku .gpkg, nazwaną tak jak plik.

Po co konwertować GeoJSON na GeoPackage dla QGIS?

QGIS otwiera GeoJSON, ale musi wczytać cały plik tekstowy i nie ma indeksu przestrzennego. GeoPackage otwiera się szybko, można go bezpiecznie edytować, zachowuje typy pól i kilka warstw w jednym pliku, a do tego jest domyślnym formatem samego QGIS.

Czy ArcGIS Pro otworzy ten GeoPackage?

Tak. ArcGIS Pro odczytuje i edytuje pliki GeoPackage bezpośrednio; dodaj plik .gpkg w panelu Catalog i przeciągnij warstwę na mapę.

Czy mój GeoJSON jest wysyłany na serwer?

Nie. GDAL działa w Twojej przeglądarce jako WebAssembly, a GeoPackage jest zapisywany na Twoim komputerze.

Czy mogę przekonwertować GeoPackage z powrotem?

Tak. Przeglądarka GeoPackage pokazuje warstwy na mapie i ich tabele atrybutów, a konwerter GeoPackage na shapefile zapisuje każdą warstwę jako shapefile.