# GeoJSON

GeoJSON| Jenis MIME | ``application/geo+json`` |
| Jenis format | GIS file format |
| Pengembangan dari | JSON |
| Standar | RFC 7946 |
| Situs web | geojson.org |

**GeoJSON** adalah format untuk menyandikan struktur data geografis sederhana yang didasarkan pada *JavaScript Object Notation (JSON)*, format data terbuka yang umum. GeoJSON digunakan untuk merepresentasikan fitur-fitur geografis dan atribut non-spasialnya.

## Struktur GeoJSON

Format GeoJSON mendefinisikan beberapa tipe objek JSON:

* **Geometri**: Ini adalah komponen utama yang menggambarkan bentuk geografis. Tipe geometri yang umum meliputi:

1. **Point**: Merepresentasikan sebuah lokasi tunggal, misalnya, sebuah alamat atau menara.
2. **LineString**: Serangkaian titik yang terhubung, seperti jalan atau sungai.
3. **Polygon**: Bentuk tertutup yang dibuat dari serangkaian titik, seperti batas negara atau danau.

* **Fitur (Feature)**: Objek yang memiliki properti geometri dan atribut tambahan (data non-spasial). Contohnya, sebuah *Feature* bisa berupa *Point* yang mewakili sebuah restoran, dengan atribut seperti nama, alamat, dan peringkat.
* **Koleksi Fitur (FeatureCollection)**: Kumpulan dari beberapa objek *Feature*. Ini sering digunakan untuk menyimpan banyak lokasi, rute, atau area dalam satu file.

## Penggunaan

GeoJSON merupakan format yang populer karena sifatnya yang ringan, mudah dibaca oleh manusia, dan dapat diurai (*parse*) dengan mudah oleh banyak bahasa pemrograman. Format ini banyak digunakan dalam aplikasi web yang membutuhkan visualisasi data geografis, seperti Google Maps atau OpenStreetMap.

## Sejarah

GeoJSON berawal dari kebutuhan akan format data geospasial yang lebih sederhana dan ringan, terutama untuk aplikasi web. Berbeda dengan format geospasial tradisional seperti ESRI Shapefile atau KML (Keyhole Markup Language), yang seringkali lebih kompleks dan kurang ramah untuk web, GeoJSON dikembangkan untuk berintegrasi dengan mulus ke dalam lingkungan web.

Pada Maret 2007, sebuah kelompok kerja dan diskusi dimulai untuk mengembangkan format ini. Tujuannya adalah membuat standar yang didasarkan pada JSON, format data yang sudah sangat populer dan banyak digunakan di web.

Setelah melalui serangkaian diskusi dan pengembangan, spesifikasi GeoJSON pertama kali diselesaikan pada Juni 2008. Ini menjadi tonggak penting dalam sejarahnya, karena format ini mulai diadopsi oleh komunitas developer geospasial.

Pada tahun 2015, Internet Engineering Task Force (IETF) mendirikan kelompok kerja khusus untuk GeoJSON. Ini menunjukkan pengakuan yang semakin besar terhadap format tersebut. Hasilnya, pada Agustus 2016, GeoJSON secara resmi diterbitkan sebagai RFC 7946, menjadikannya standar internet resmi.

Sejak saat itu, GeoJSON telah menjadi salah satu format data geospasial paling dominan di dunia, terutama untuk aplikasi web dan pemetaan interaktif. Kemudahan penggunaannya, keringanannya, dan kompatibilitasnya dengan teknologi web modern menjadikannya pilihan utama bagi banyak pengembang dan platform.

## Perbedaan dengan JSON

Meskipun GeoJSON didasarkan pada JSON, ada perbedaan mendasar. JSON adalah format data umum, sedangkan GeoJSON adalah format spesifik yang memiliki struktur standar untuk data geospasial. Artinya, setiap file GeoJSON adalah file JSON yang valid, tetapi tidak semua file JSON adalah GeoJSON yang valid. GeoJSON memiliki tipe objek tertentu seperti `Feature`, `FeatureCollection`, dan berbagai tipe `Geometry`.

## Koordinat

Dalam GeoJSON, koordinat diatur dalam format `[longitude, latitude]`. Urutan ini penting dan merupakan standar. Misalnya, sebuah titik di Monas, Jakarta, akan ditulis sebagai `[-6.1754, 106.8272]`. Ini berbeda dengan beberapa sistem lain yang menggunakan urutan `[latitude, longitude]`.

## Sistem Koordinat

Secara default, GeoJSON menggunakan **World Geodetic System 1984 (WGS84)**, yang merupakan standar global untuk pemetaan. Ini adalah sistem koordinat yang sama yang digunakan oleh GPS. Pengguna tidak perlu secara eksplisit mendefinisikan sistem koordinat dalam file GeoJSON, karena WGS84 sudah dianggap sebagai standar implisit.

## Contoh Struktur Data

Berikut adalah contoh sederhana dari sebuah file GeoJSON yang berisi sebuah titik (Point) yang mewakili sebuah lokasi:

```
{
 "type": "Feature",
 "geometry": {
 "type": "Point",
 "coordinates": [106.8272, -6.1754]
 },
 "properties": {
 "name": "Monas",
 "lokasi": "Jakarta, Indonesia"
 }
}

```
Dalam contoh diatas, `type` menunjukkan bahwa ini adalah `Feature`, `geometry` mendeskripsikan bentuknya (sebuah `Point` dengan koordinat tertentu), dan `properties` adalah tempat untuk menyimpan data tambahan non-spasial, seperti nama dan lokasi.

## Lihat pula

* HEC-HMS
* Open Geospatial Consortium (OGC)
* Open Source Geospatial Foundation (OSGeo)
* PySheds
* QGIS

## Referensi

## Pranala luar

* Aplikasi web GeoJSON.io