GeoJSON (.geojson)
IETF StandardowyGeographic JavaScript Object Notation (GeoJSON) to uniwersalny, natywny dla internetu standard kodowania struktur danych geograficznych, szeroko stosowany w nowoczesnych mapach internetowych (Leaflet, Mapbox, OpenLayers) oraz aplikacjach GIS.
Konwertuj GEOJSON na KML
Darmowy konwerter z GEOJSON na KML w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki GeoJSON, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki GeoJSON, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65REPREZENTACJA ASCII: {\n "type": "Feature
Normalizacja: IETF RFC 7946
Specyfikacja techniczna
| Architektura kontenera | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Kompresja | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| Kolejność bajtów (Endianness) | UTF-8 text stream |
| Przestrzenie kolorów | N/A (Geographic Data) |
| Kanały i struktura | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Maks. wymiary | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Przezroczystość | None |
| Streaming i progresywne ładowanie | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Techniczna macierz porównawcza: GeoJSON a konkurencja
| Atrybut techniczny | GeoJSON (Bieżący) | KML | GPX | SHP |
|---|---|---|---|---|
| Wdrożenie w mapach internetowych | 100% uniwersalny domyślny GIS internetowy | Domyślny dla Google Earth | Domyślny dla urządzeń GPS i fitness | Dziedziczony standard dla stacjonarnych GIS |
| Kolejność współrzędnych | [Długość, Szerokość] (X, Y) | Długość, Szerokość, Wysokość | Szerokość, Długość | Współrzędne X, Y |
| Styl składni | Czyste pary klucz-wartość JSON | Rozbudowane znaczniki XML (<kml>) | Rozbudowane znaczniki XML (<gpx>) | Pliki binarne wieloplikowe (.shp, .shx, .dbf) |
| Schemat właściwości | Dowolny obiekt właściwości JSON | znaczniki schematu ExtendedData | Stałe znaczniki schematu GPX | Stałe kolumny dBase IV (.dbf) |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Punkty na mapie pojawiają się w oceanie w pobliżu Antarktydy zamiast w swojej rzeczywistej lokalizacji.
Główna przyczyna: Wartości szerokości i długości geograficznej zostały przypadkowo zamienione miejscami w tablicy współrzędnych.
Odzyskiwanie: Zamień pozycje współrzędnych [lon, lat] za pomocą konwertera GeoJSON File2File.
Analiza bezpieczeństwa i wektory ataku na parser
Właściwości GeoJSON mogą zawierać dowolne dane wprowadzane przez użytkownika, które muszą zostać oczyszczone przed wyrenderowaniem w oknach wyskakujących mapy, aby zapobiec atakom XSS.
Znane wektory ataku
- Cross-site scripting (XSS) za pomocą nieoznakowanego kodu HTML we właściwościach obiektów GeoJSON renderowanych w podpowiedziach mapy.
- Atak typu Denial of Service poprzez głęboko zagnieżdżone obiekty GeometryCollection lub wielokąty liczące miliony wierzchołków.
- Server-Side Request Forgery poprzez zdalne ładowanie obiektów GeoJSON.
Najlepsze praktyki obronne:
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Natywny standard internetowy: mapuje się bezpośrednio na obiekty JavaScript w bibliotekach map przeglądarkowych (Mapbox GL JS, Leaflet).
- Czytelna dla człowieka struktura JSON pozwala na bezproblemowe programowe tworzenie, filtrowanie i debugowanie.
- Dowolny schemat właściwości: dołączanie dowolnych niestandardowych metadanych (populacja, nazwa, prędkość, przychód) bezpośrednio do kształtów geometrycznych.
Ograniczenia techniczne i wady
- Zawiłość tekstowa: przechowuje współrzędne zmiennoprzecinkowe jako powtarzające się cyfry ASCII, co prowadzi do większych rozmiarów plików niż w przypadku binarnego formatu Shapefile lub FlatGeobuf.
- RFC 7946 ściśle narzuca kolejność [Długość, Szerokość] (Longitude, Latitude), co często dezorientuje programistów przyzwyczajonych do układu 'Lat/Long'.
- Duże wielokąty z milionami wierzchołków mogą powodować spowolnienia renderowania DOM w przeglądarce internetowej.
Ciekawe informacje techniczne
- Oficjalny standard GeoJSON porządkuje współrzędne jako [Długość geograficzna, Szerokość geograficzna] (porządek kartezjański X, Y), co jest dokładnie odwrotnością tego, jak mówią ludzie ('Szerokość, Długość').
- Jeśli zatwierdzisz plik .geojson w serwisie GitHub, GitHub automatycznie renderuje go jako interaktywną, klikalną mapę.
- RFC 7946 wymaga, aby pierścienie graniczne wielokątów były zgodne z 'zasadą prawej ręki': pierścienie zewnętrzne muszą być nawijane przeciwnie do ruchu wskazówek zegara.
Często zadawane pytania techniczne
Dlaczego współrzędne w moim pliku GeoJSON są uporządkowane jako [długość, szerokość] zamiast [szerokość, długość]?
Ponieważ w matematyce i grafice komputerowej współrzędne są zawsze podawane jako (X, Y). Długość geograficzna reprezentuje poziomą oś X, a szerokość geograficzna reprezentuje pionową oś Y.
Jak mogę przekonwertować plik KML lub Shapefile do formatu GeoJSON?
Możesz przekonwertować pliki Google Earth KML lub Esri Shapefile na czysty format GeoJSON gotowy do użycia w sieci w kilka sekund za pomocą File2File.app bezpośrednio w przeglądarkce.
Jaka jest różnica między GeoJSON a Shapefile?
Shapefile to przestarzały, wieloplikowy format binarny z lat 90. XX wieku (.shp, .shx, .dbf). GeoJSON to nowoczesny, jednoplikowy, otwarty format internetowy zapisany w czystym formacie JSON.
Powiązane pary konwersji GeoJSON
Konwersja wektorów GeoJSON do formatu Google KML przekształca lekkie tablice współrzędnych JSON w ustrukturyzowane dokumenty XML dostosowane do programów Google Earth i Google Maps.
Konwersja plików Google KML do formatu GeoJSON przekształca hierarchiczne geograficzne dane XML w lekki wektorowy JavaScript Object Notation dla nowoczesnych map internetowych.
Konwersja danych wektorowych GeoJSON na format GPX przekształca standardowe obiekty geograficzne JSON w format oparty na języku XML, zoptymalizowany dla fizycznych urządzeń nawigacyjnych.