GeoJSON (.geojson)

IETF Standar

Geographic JavaScript Object Notation (GeoJSON) adalah standar universal berbasis web untuk mengenkode struktur data geografis, yang banyak digunakan dalam pemetaan web modern (Leaflet, Mapbox, OpenLayers) dan aplikasi GIS.

Konversi GEOJSON ke KML

Pengonversi GEOJSON ke KML gratis di dalam peramban. Konversi berkas secara instan di perangkat Anda.

Periksa & Metadata

Sistem operasi dan penganalisis file mengidentifikasi file GeoJSON dengan memeriksa urutan byte biner utama:

Pilih atau letakkan berkas di sini

100% konversi privat di dalam peramban - berkas tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan terjadi secara lokal di sandboks peramban Anda.

Tanda Tangan Header Tingkat-Byte (Magic Bytes)

Sistem operasi dan penganalisis file mengidentifikasi file GeoJSON dengan memeriksa urutan byte biner utama:

SIGNATURE HEX (OFFSET 0):

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

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

Standardisasi: IETF RFC 7946

Spesifikasi Teknis

Arsitektur WadahJSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries
KompresiUncompressed text (readily compressed over HTTP via Gzip or Brotli)
Endianness ByteUTF-8 text stream
Ruang WarnaN/A (Geographic Data)
Saluran & StrukturPoints, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties
Dimensi MaksWorld Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90)
TransparansiNone
Streaming & ProgresifLine-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features

Matriks Perbandingan Teknis: GeoJSON vs Pesaing

Atribut TeknisGeoJSON (Saat Ini)KMLGPXSHP
Adopsi Pemetaan Web100% standar universal GIS webStandar bawaan Google EarthStandar bawaan perangkat GPS & kebugaranStandar lama GIS desktop
Urutan Koordinat[Bujur, Lintang] (X, Y)Bujur, Lintang, KetinggianLintang, BujurKoordinat X, Y
Gaya SintaksisNilai kunci JSON yang bersihTag XML bertele-tele (<kml>)Tag XML bertele-tele (<gpx>)Biner multi-file (.shp, .shx, .dbf)
Skema PropertiObjek properti JSON arbitrerTag skema ExtendedDataTag skema GPX tetapKolom tetap dBase IV (.dbf)

Mode Kerusakan Umum & Panduan Pemulihan Hex

Titik peta muncul di samudra dekat Antartika alih-alih lokasi aslinya.

Penyebab Utama: Nilai Lintang dan Bujur secara tidak sengaja tertukar dalam array koordinat.

Pemulihan: Tukar posisi koordinat [bujur, lintang] menggunakan Konverter GeoJSON File2File.

Analisis Keamanan & Vektor Serangan Parser

Properti GeoJSON dapat berisi input pengguna arbitrer yang harus disanitasi sebelum dirender ke dalam pop-up peta untuk mencegah XSS.

Vektor Serangan yang Diketahui

  • Cross-site scripting (XSS) melalui HTML yang tidak di-escape dalam properti fitur GeoJSON yang dirender di tooltip peta.
  • Penolakan layanan (Denial of Service) melalui GeometryCollections yang bersarang dalam atau poligon berjuta-juta titik sudut.
  • Server-Side Request Forgery melalui pemuatan fitur GeoJSON jarak jauh.

Praktik Terbaik Defensif:

Asal-Usul & Tonggak Sejarah

2016IETF secara resmi menstandarisasi format GeoJSON sebagai RFC 7946, yang mewajibkan sistem referensi koordinat WGS 84.
2014GitHub memperkenalkan rendering peta visual interaktif bawaan untuk semua file .geojson.
2008Howard Butler, Sean Gillies, dan komunitas GIS sumber terbuka menerbitkan spesifikasi awal GeoJSON 1.0.

Keunggulan & Kelebihan Utama

  • Standar web bawaan: dipetakan langsung ke dalam objek JavaScript di perpustakaan pemetaan peramban (Mapbox GL JS, Leaflet).
  • Struktur JSON yang dapat dibaca manusia memungkinkan pembuatan, pemfilteran, dan debugging secara terprogram dengan mudah.
  • Skema properti arbitrer: lampirkan metadata kustom apa pun (populasi, nama, kecepatan, pendapatan) langsung ke bentuk geometris.

Keterbatasan Teknis & Kekurangan

  • Kelimpahan teks: menyimpan koordinat titik mengambang sebagai digit ASCII berulang, yang mengarah pada ukuran file yang lebih besar daripada Shapefile biner atau FlatGeobuf.
  • RFC 7946 secara ketat mewajibkan urutan [Bujur, Lintang] (Longitude, Latitude), yang sering kali membingungkan pengembang yang terbiasa dengan 'Lat/Long'.
  • Poligon besar dengan jutaan titik sudut dapat menyebabkan perlambatan rendering DOM peramban web.

Fakta Teknis Menarik

  • Standar resmi GeoJSON mengurutkan koordinat sebagai [Bujur, Lintang] (urutan Kartesius X, Y), yang merupakan kebalikan persis dari cara orang berbicara ('Lintang, Bujur').
  • Jika Anda melakukan commit file .geojson ke GitHub, GitHub secara otomatis merendernya sebagai peta interaktif yang dapat diklik.
  • RFC 7946 mewajibkan cincin batas poligon untuk mengikuti 'aturan tangan kanan': cincin luar harus berputar berlawanan arah jarum jam.

Pertanyaan Teknis yang Sering Diajukan

Mengapa koordinat GeoJSON saya diurutkan berdasarkan [bujur, lintang] (longitude, latitude) alih-alih [lintang, bujur]?

Karena dalam matematika dan grafika komputer, koordinat selalu ditentukan sebagai (X, Y). Bujur (longitude) merepresentasikan sumbu X horizontal, dan Lintang (latitude) merepresentasikan sumbu Y vertikal.

Bagaimana cara mengonversi KML atau Shapefile ke GeoJSON?

Anda dapat mengonversi file Google Earth KML atau Esri Shapefile menjadi GeoJSON yang bersih dan siap web dalam hitungan detik menggunakan File2File.app langsung di peramban Anda.

Apa perbedaan antara GeoJSON dan Shapefile?

Shapefile adalah format biner multi-file usang dari tahun 1990-an (.shp, .shx, .dbf). GeoJSON adalah format web terbuka modern dengan satu file tunggal yang ditulis dalam JSON bersih.