Konwersja CSV na GeoJSON

Ten konwerter zamienia plik CSV z kolumnami szerokości i długości geograficznej lub z kolumną WKT na GeoJSON, radząc sobie ze średnikami, przecinkami dziesiętnymi i kodowaniem Windows, które często zapisuje Excel. Plik CSV jest odczytywany w przeglądarce i nie jest wysyłany na serwer. Adresy nie są geokodowane, współrzędne w stopniach, minutach i sekundach nie są obsługiwane, a wiersze bez poprawnych współrzędnych zostają z geometrią null.

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

Najważniejsze informacje

CSV na GeoJSON: po co konwertować

Listy sklepów, czujników, obserwacji czy klientów często powstają w Excelu lub Arkuszach Google, z jednym wierszem na miejsce oraz kolumnami szerokości i długości geograficznej. Aby umieścić je na mapie internetowej, potrzebujesz GeoJSON. Ten konwerter sam znajduje kolumny ze współrzędnymi, jeśli mają typowe nazwy, takie jak lat, latitude, lon, lng, longitude, x lub y, albo korzysta z kolumny z tekstem WKT, np. POINT (21.01 52.23), co pozwala też na linie i poligony. Radzi sobie z wariantami CSV, które Excel zapisuje w różnych krajach: przecinki lub średniki, kropki lub przecinki dziesiętne, UTF-8 lub starsze kodowanie Windows. Jeśli kolumny nie zostaną rozpoznane, wybierasz je samodzielnie. Każda pozostała kolumna staje się atrybutem. Plik jest odczytywany w przeglądarce i nigdy nie jest wysyłany na serwer.

Jak przekonwertować CSV na GeoJSON

  1. Upuść plik .csv w polu albo kliknij, aby go wybrać.
  2. Sprawdź kolumny użyte jako współrzędne i podaj układ współrzędnych, jeśli nie są to długość i szerokość geograficzna.
  3. Kliknij „Konwertuj na GeoJSON” i pobierz plik GeoJSON.

Co się zmienia podczas konwersji

Jak wykrywane są kolumny ze współrzędnymi

Kolumna, której wartości wyglądają jak WKT, jest w pierwszej kolejności używana jako geometria. W przeciwnym razie kolumną długości geograficznej (X) staje się pierwsza kolumna, której nazwa zaczyna się od lon, lng lub long albo brzmi x lub easting, a kolumną szerokości geograficznej (Y) pierwsza zaczynająca się od lat albo o nazwie y lub northing. Podsumowanie pokazuje, które kolumny zostały użyte, i możesz wybrać inne. Punkt w Kopenhadze z zamienioną szerokością i długością ląduje na Morzu Arabskim, więc warto zerknąć na mapę przed konwersją. Adresy nie są zamieniane na współrzędne; plik musi zawierać liczby lub WKT.

Średniki i przecinki dziesiętne

W Polsce, Niemczech, Francji, Danii i wielu innych krajach Excel zapisuje pliki CSV ze średnikami między kolumnami i przecinkiem jako separatorem dziesiętnym, więc 52,2297 oznacza 52.2297. Separator (przecinek, średnik, tabulator lub kreska pionowa) jest wykrywany na podstawie wiersza nagłówka, a pierwsza linia „sep=” z Excela jest uwzględniana. Przecinki dziesiętne są rozumiane w plikach rozdzielanych średnikami lub tabulatorami; w pliku rozdzielanym przecinkami przecinek może być tylko separatorem. W pliku z przecinkami dziesiętnymi liczby z separatorem tysięcy, np. 1.200, pozostają tekstem. Współrzędne w stopniach, minutach i sekundach, np. 52°13'47"N, nie są obsługiwane; najpierw przelicz je na stopnie dziesiętne.

Kodowanie tekstu

Rozpoznawane są UTF-8, ze znacznikiem kolejności bajtów (BOM) lub bez niego, oraz UTF-16. Plik, który nie jest poprawnym UTF-8, jest odczytywany jako Windows-1252, czyli kodowanie, którego Excel w Windows używa dla „CSV (rozdzielany przecinkami)” w Europie Zachodniej i obu Amerykach, więc litery takie jak æ, ø, é i ñ przetrwają. Inne starsze kodowania, np. cyrylica, azjatyckie strony kodowe czy środkowoeuropejskie Windows-1250, nie są wykrywane; zapisz takie pliki najpierw jako „CSV UTF-8”.

Liczby, tekst i puste komórki

Kolumna staje się liczbowa w GeoJSON tylko wtedy, gdy wszystkie jej wartości są liczbami. Wartości z zerem na początku, np. kod 0800 lub identyfikator 000123, sprawiają, że kolumna pozostaje tekstowa, więc nic nie ginie. Kolumny ze współrzędnymi nie są powtarzane jako atrybuty. Wiersze z pustą lub nieczytelną współrzędną zostają zachowane z "geometry": null, a strona informuje, ile ich jest.

Układ współrzędnych

Plik CSV nie mówi, w jakim układzie współrzędnych zapisano liczby. Długość i szerokość geograficzna są traktowane jako WGS84, jak z GPS czy Map Google. Gdy wartości wyraźnie nie są stopniami, np. współrzędne UTM w metrach, strona prosi o kod EPSG, taki jak EPSG:2180 lub EPSG:25832, i przelicza je do WGS84. Wartości EWKT z SRID=... same uzupełniają kod.

O formatach plików

CSV

CSV (comma-separated values, wartości rozdzielone przecinkami) to tabela w zwykłym tekście, która otwiera się w Excelu, Arkuszach Google i każdej bazie danych. Nie ma własnego typu geometrii: położenie zapisuje się albo w dwóch kolumnach ze współrzędnymi, takich jak szerokość i długość geograficzna, albo w kolumnie z tekstem WKT.

  • Punkty mieszczą się w dwóch kolumnach (X i Y albo długość i szerokość geograficzna); linie i poligony wymagają kolumny WKT.
  • Układ współrzędnych nie jest zapisywany w pliku, więc zanotuj go osobno.
  • Nie ma standardu separatora: Excel używa przecinka lub średnika w zależności od ustawień językowych.
  • Każda wartość jest tekstem; to program czytający plik decyduje, czy 0800 to liczba, czy kod pocztowy.

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.

Najczęściej zadawane pytania

Czy mój plik CSV jest wysyłany na serwer?

Nie. Plik jest odczytywany i konwertowany przez Twoją przeglądarkę, więc listy klientów i inne prywatne adresy zostają na Twoim komputerze.

Której opcji Excela użyć do zapisania CSV?

Najbezpieczniejsza jest opcja „CSV UTF-8 (rozdzielany przecinkami)”, bo zachowuje każdy znak. Zwykła opcja „CSV” też działa; konwerter odczytuje jej kodowanie Windows oraz, w krajach z przecinkiem dziesiętnym, jej średniki.

Czy CSV może zawierać linie i poligony?

Tak, w kolumnie WKT. Każdy wiersz zawiera jedną geometrię, np. LINESTRING (21.01 52.23, 21.02 52.24) albo POLYGON lub MULTIPOLYGON. Współrzędne punktów w dwóch kolumnach mogą dać tylko punkty.

Czy to działa z Arkuszami Google?

Tak. W Arkuszach Google wybierz Plik, Pobierz, Wartości rozdzielane przecinkami (.csv) i upuść ten plik tutaj.