GeoJSON (.geojson)

IETF Standardní

GeoJSON je běžný ve webových mapách, ale podpora se liší. GitHub zobrazuje podporované soubory s omezeními; RFC 7946 stanoví pořadí zeměpisná délka, šířka.

Převést GEOJSON na KML

Bezplatný konvertor z GEOJSON do KML v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.

Kontrola a metadata

Operační systémy a analyzátory souborů identifikují soubory GeoJSON kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory GeoJSON kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (POSUN 0):

7B 0A 20 20 22 74 79 70 65 22 3A 20 22 46 65 61 74 75 72 65

ASCII REPREZENTACE: {\n "type": "Feature

Standardizace: IETF RFC 7946

Technické specifikace

Architektura kontejneruDokument JSON podle RFC 7946, který popisuje geografické prvky Feature, FeatureCollection a Geometry
KompreseNekomprimovaný text (lze jej snadno komprimovat přes HTTP pomocí Gzip nebo Brotli)
Pořadí bajtůProud textu UTF-8
Barevné prostoryNevztahuje se (geografická data)
Kanály a strukturaPoint, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection a vlastní vlastnosti
Max. rozměrySouřadnicový prostor World Geodetic System 1984 (WGS 84): zeměpisná délka (-180 až +180), zeměpisná šířka (-90 až +90)
PrůhlednostŽádná
Streamování a progresivní načítáníGeoJSON oddělený po řádcích (GeoJSONL / GeoJSONSeq) umožňuje průběžné streamování milionů prvků

Technická srovnávací matice: GeoJSON vs konkurence

Technický atributGeoJSON (Aktuální)KMLGPXSHP
Rozšíření webového mapováníŠiroké využití ve webovém mapování; podpora se v aplikacích liší.Výchozí pro Google EarthVýchozí formát pro GPS zařízení a fitness aplikaceZastaralý standard pro desktopový GIS
Pořadí souřadnic[Zeměpisná délka, Zeměpisná šířka] (X, Y)Zeměpisná délka, Zeměpisná šířka, Nadmořská výškaZeměpisná šířka, Zeměpisná délkaSouřadnice X, Y
Styl syntaxePřehledné klíče a hodnoty JSONPodrobné tagy XML (<kml>)Podrobné tagy XML (<gpx>)Více souborů v binární podobě (.shp, .shx, .dbf)
Schéma vlastnostíLibovolný objekt vlastností JSONTagy schématu ExtendedDataPevné tagy schématu GPXPevné sloupce dBase IV (.dbf)

Běžné režimy poškození a příručka pro obnovení v hex

Body na mapě se zobrazují v oceánu blízko Antarktidy namísto jejich skutečné polohy.

Hlavní příčina: Hodnoty zeměpisné šířky a délky byly v poli souřadnic náhodně prohozeny.

Obnovení: Prohoďte pozice souřadnic [lon, lat] pomocí převaděče GeoJSON od File2File.app.

Bezpečnostní analýza a vektory útoků na parser

Vlastnosti GeoJSON mohou obsahovat libovolné uživatelské vstupy, které je nutné před vykreslením do kontextových oken mapy sanitizovat, aby se předešlo útokům typu XSS.

Známé vektory útoků

  • Skriptování mezi weby (XSS) prostřednictvím nezpracovaného HTML ve vlastnostech prvků GeoJSON vykreslených v popisech mapy.
  • Odepření služby (DoS) prostřednictvím hluboce vnořených GeometryCollections nebo polygonů s miliony vrcholů.
  • Falšování požadavků na serveru (SSRF) prostřednictvím načítání vzdálených prvků GeoJSON.

Doporučené bezpečnostní postupy: Všechny textové řetězce vlastností před vložením do oken vyskakovacích map sanitizujte pomocí knihovny DOMPurify.

Historický vývoj a milníky

2016IETF oficiálně standardizuje formát GeoJSON jako RFC 7946, který stanovuje použití souřadnicového referenčního systému WGS 84.
2014GeoJSON je běžný ve webových mapách, ale podpora se liší. GitHub zobrazuje podporované soubory s omezeními; RFC 7946 stanoví pořadí zeměpisná délka, šířka.
2008Howard Butler, Sean Gillies a komunita kolem open-source GIS vydávají první specifikaci GeoJSON 1.0.

Klíčové výhody a přednosti

  • Standard nativní pro web: lze jej přímo převést na objekty JavaScriptu v mapových knihovnách pro prohlížeče (Mapbox GL JS, Leaflet).
  • Struktura JSON čitelná pro člověka umožňuje snadné programové vytváření, filtrování a ladění.
  • Libovolné schéma vlastností: připojení libovolných vlastních metadat (populace, název, rychlost, tržby) přímo ke geometrickým tvarům.

Technická omezení a nevýhody

  • Uchovávání v textové podobě: ukládá souřadnice s plovoucí řádovou čárkou jako opakující se číslice v kódování ASCII, což vede k větším velikostem souborů než u binárních formátů Shapefile nebo FlatGeobuf.
  • RFC 7946 přísně vyžaduje pořadí [Zeměpisná délka, Zeměpisná šířka], což často mate vývojáře zvyklé na „Šířka/Délka".
  • Velké polygony s miliony vrcholů mohou způsobit zpomalení vykreslování DOM ve webovém prohlížeči.

Zajímavé technické drobnosti

  • Oficiální standard GeoJSON řadí souřadnice jako [Zeměpisná délka, Zeměpisná šířka] (kartézské pořadí X, Y), což je přesný opak toho, jak lidé mluví („Šířka, Délka").
  • GeoJSON je běžný ve webových mapách, ale podpora se liší. GitHub zobrazuje podporované soubory s omezeními; RFC 7946 stanoví pořadí zeměpisná délka, šířka.
  • RFC 7946 nařizuje, že hraniční prstence polygonu musí dodržovat „pravidlo pravé ruky": vnější prstence musí být stočené proti směru hodinových ručiček.

Často kladené technické otázky

Proč jsou souřadnice v mém souboru GeoJSON uspořádány jako [zeměpisná délka, zeměpisná šířka] místo [zeměpisná šířka, zeměpisná délka]?

GeoJSON je běžný ve webových mapách, ale podpora se liší. GitHub zobrazuje podporované soubory s omezeními; RFC 7946 stanoví pořadí zeměpisná délka, šířka.

Jak mohu převést KML nebo Shapefile na GeoJSON?

Pomocí File2File.app přímo ve svém prohlížeči můžete během několika sekund převést soubory Google Earth KML nebo Esri Shapefile na čistý formát GeoJSON připravený pro web.

Jaký je rozdíl mezi formáty GeoJSON a Shapefile?

Shapefile se stále široce používá k výměně dat a podporuje jej GIS software, ale jeho struktura s více soubory a omezení atributů mohou pro některé pracovní postupy činit GeoJSON nebo geodatabázi vhodnější volbou.