GeoJSON (.geojson)
IETF StandarGeographic 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:
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 65REPRESENTASI ASCII: {\n "type": "Feature
Standardisasi: IETF RFC 7946
Spesifikasi Teknis
| Arsitektur Wadah | JSON document adhering to RFC 7946 representing geographic Features, FeatureCollections, and Geometries |
| Kompresi | Uncompressed text (readily compressed over HTTP via Gzip or Brotli) |
| Endianness Byte | UTF-8 text stream |
| Ruang Warna | N/A (Geographic Data) |
| Saluran & Struktur | Points, MultiPoints, LineStrings, MultiLineStrings, Polygons, MultiPolygons, GeometryCollections, and custom properties |
| Dimensi Maks | World Geodetic System 1984 (WGS 84) coordinate space: Longitude (-180 to +180), Latitude (-90 to +90) |
| Transparansi | None |
| Streaming & Progresif | Line-delimited GeoJSON (GeoJSONL / GeoJSONSeq) enables continuous streaming of millions of features |
Matriks Perbandingan Teknis: GeoJSON vs Pesaing
| Atribut Teknis | GeoJSON (Saat Ini) | KML | GPX | SHP |
|---|---|---|---|---|
| Adopsi Pemetaan Web | 100% standar universal GIS web | Standar bawaan Google Earth | Standar bawaan perangkat GPS & kebugaran | Standar lama GIS desktop |
| Urutan Koordinat | [Bujur, Lintang] (X, Y) | Bujur, Lintang, Ketinggian | Lintang, Bujur | Koordinat X, Y |
| Gaya Sintaksis | Nilai kunci JSON yang bersih | Tag XML bertele-tele (<kml>) | Tag XML bertele-tele (<gpx>) | Biner multi-file (.shp, .shx, .dbf) |
| Skema Properti | Objek properti JSON arbitrer | Tag skema ExtendedData | Tag skema GPX tetap | Kolom 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
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.
Pasangan Konversi GeoJSON Terkait
Mengonversi vektor GeoJSON ke Google KML menerjemahkan susunan koordinat JSON yang ringan ke dalam dokumen XML terstruktur yang disesuaikan untuk Google Earth dan Google Maps.
Mengonversi file Google KML ke GeoJSON mengubah data geografis XML hierarkis menjadi Notasi Objek JavaScript vektor ringan untuk peta web modern.
Mengonversi data vektor GeoJSON ke GPX menerjemahkan objek JSON geografis standar ke dalam format berbasis XML yang dioptimalkan untuk perangkat navigasi fisik.