GeoJSON (.geojson)

IETF Standart

GeoJSON web haritalarında yaygındır ancak destek değişir. GitHub desteklenen dosyaları sınırlamalarla gösterir; RFC 7946 önce boylam sonra enlem sırasını belirler.

GEOJSON biçimini KML biçimine dönüştür

Tarayıcında GEOJSON biçimini KML biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.

İncele ve Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, GeoJSON dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

Bayt düzeyinde başlık imzası (sihirli baytlar)

İşletim sistemleri ve dosya çözümleyicileri, GeoJSON dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

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

ASCII GÖSTERİMİ: {\n "type": "Feature

Standartlaştırma: IETF RFC 7946

Teknik Özellikler

Kapsayıcı mimarisiCoğrafi Özellikleri, Özellik Koleksiyonlarını ve Geometrileri temsil eden, RFC 7946 ile uyumlu JSON belgesi
SıkıştırmaSıkıştırılmamış metin (HTTP üzerinden Gzip veya Brotli ile kolayca sıkıştırılır)
Bayt Düzeni (Endianness)UTF-8 metin akışı
Renk UzaylarıN/A (Geographic Data)
Kanallar ve YapıNoktalar, Çoklu Noktalar, Çizgiler, Çoklu Çizgiler, Çokgenler, Çoklu Çokgenler, Geometri Koleksiyonları ve özel özellikler
Maksimum BoyutlarWorld Geodetic System 1984 (WGS 84) koordinat alanı: boylam (-180 ile +180), enlem (-90 ile +90)
ŞeffaflıkNone
Akış ve Aşamalı İşlemeSatırla ayrılmış GeoJSON (GeoJSONL / GeoJSONSeq), milyonlarca özelliğin sürekli akışını sağlar

Teknik karşılaştırma matrisi: GeoJSON ve rakipleri

Teknik NitelikGeoJSON (Güncel)KMLGPXSHP
Web Haritalama Benimsenmesi%100 evrensel web CBS varsayılanıGoogle Earth varsayılanıGPS cihazı ve fitness varsayılanıMasaüstü CBS eski standardı
Koordinat Sırası[Boylam, Enlem] (X, Y)Boylam, Enlem, YükseklikEnlem, BoylamX, Y koordinatları
Sözdizimi StiliTemiz JSON anahtar-değerleriAyrıntılı XML etiketleri (<kml>)Ayrıntılı XML etiketleri (<gpx>)Çoklu dosya ikili (.shp, .shx, .dbf)
Özellikler Şemasıİsteğe bağlı JSON özellikleri nesnesiExtendedData şema etiketleriSabit GPX şema etiketleridBase IV (.dbf) sabit sütunları

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Harita noktaları gerçek konumları yerine Antarktika yakınındaki okyanusta görünür.

Kök Neden: Koordinat dizisinde Enlem ve Boylam değerleri yanlışlıkla yer değiştirdi.

Kurtarma: File2File.app GeoJSON Converter ile koordinatların [boylam, enlem] sırasını değiştir.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

GeoJSON özellikleri her tür kullanıcı girdisini içerebilir; XSS'yi önlemek için bu veriler harita açılır pencerelerinde gösterilmeden önce temizlenmelidir.

Bilinen Saldırı Vektörleri

  • Harita bilgi balonlarında gösterilen GeoJSON özelliklerindeki kaçışlanmamış HTML aracılığıyla siteler arası komut dosyası çalıştırma (XSS).
  • Derin iç içe geçmiş GeometryCollection yapıları veya milyonlarca köşeli çokgenler yoluyla hizmet reddi.
  • Uzak GeoJSON özelliği yükleme yoluyla Sunucu Tarafı İstek Sahteciliği (SSRF).

Savunmaya yönelik en iyi uygulamalar: Harita açılır pencerelerine eklemeden önce tüm özellik metni dizelerini DOMPurify ile temizle.

Tarihsel kökenler ve önemli dönüm noktaları

2016IETF, WGS 84 koordinat referans sistemlerini zorunlu kılarak GeoJSON formatını resmi olarak RFC 7946 standardı haline getirir.
2014GeoJSON web haritalarında yaygındır ancak destek değişir. GitHub desteklenen dosyaları sınırlamalarla gösterir; RFC 7946 önce boylam sonra enlem sırasını belirler.
2008Howard Butler, Sean Gillies ve açık kaynaklı CBS topluluğu ilk GeoJSON 1.0 spesifikasyonunu yayınlar.

Temel Avantajlar ve Artılar

  • Yerel web standardı: Tarayıcı haritalama kütüphanelerinde (Mapbox GL JS, Leaflet) doğrudan JavaScript nesnelerine eşlenir.
  • İnsan tarafından okunabilen JSON yapısı, kolayca programla üretim, filtreleme ve hata ayıklama yapılmasını sağlar.
  • Her tür özelliği içerebilen JSON şeması: geometrik şekillere istediğin özel meta verileri (nüfus, ad, hız, gelir) doğrudan ekle.

Teknik Kısıtlamalar ve Eksiler

  • Metin ayrıntısı: Kayan noktalı koordinatları tekrar eden ASCII rakamları olarak saklar; bu da ikili Shapefile veya FlatGeobuf formatlarına göre daha büyük dosya boyutlarına yol açar.
  • RFC 7946 kesinlikle [Boylam, Enlem] sırasını zorunlu kılar; bu durum 'Enlem/Boylam' düzenine alışkın geliştiricilerin kafasını sıklıkla karıştırır.
  • Milyonlarca köşesi olan büyük çokgenler, web tarayıcısında DOM'un yavaş çizilmesine neden olabilir.

İlginç Teknik Bilgiler

  • Resmi GeoJSON standardı koordinatları [Boylam, Enlem] (X, Y Kartezyen sırası) olarak sıralar; bu, insanların konuşma şeklinin ('Enlem, Boylam') tam tersidir.
  • GeoJSON web haritalarında yaygındır ancak destek değişir. GitHub desteklenen dosyaları sınırlamalarla gösterir; RFC 7946 önce boylam sonra enlem sırasını belirler.
  • RFC 7946, çokgen sınır halkalarının 'sağ el kuralı'na uymasını zorunlu kılar: dış halkalar saat yönünün tersine çizilmelidir.

Sıkça Sorulan Teknik Sorular

GeoJSON koordinatlarım neden [enlem, boylam] yerine [boylam, enlem] şeklinde sıralanmış?

GeoJSON web haritalarında yaygındır ancak destek değişir. GitHub desteklenen dosyaları sınırlamalarla gösterir; RFC 7946 önce boylam sonra enlem sırasını belirler.

KML veya Shapefile'ı GeoJSON'a nasıl dönüştürebilirim?

Google Earth KML dosyalarını veya Esri Shapefile dosyalarını doğrudan tarayıcında File2File.app kullanarak saniyeler içinde temiz ve web'de kullanıma hazır GeoJSON biçimine dönüştürebilirsin.

GeoJSON ve Shapefile arasındaki fark nedir?

Shapefile veri alışverişinde hâlâ yaygın olarak kullanılır ve GIS yazılımları tarafından desteklenir; ancak çok dosyalı yapısı ve öznitelik sınırlamaları bazı iş akışlarında GeoJSON veya bir coğrafi veritabanını daha uygun kılabilir.