GeoJSON (.geojson)
IETF StandartGeoJSON 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:
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 65ASCII GÖSTERİMİ: {\n "type": "Feature
Standartlaştırma: IETF RFC 7946
Teknik Özellikler
| Kapsayıcı mimarisi | Coğrafi Özellikleri, Özellik Koleksiyonlarını ve Geometrileri temsil eden, RFC 7946 ile uyumlu JSON belgesi |
| Sıkıştırma | Sı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 Boyutlar | World Geodetic System 1984 (WGS 84) koordinat alanı: boylam (-180 ile +180), enlem (-90 ile +90) |
| Şeffaflık | None |
| Akış ve Aşamalı İşleme | Satı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 Nitelik | GeoJSON (Güncel) | KML | GPX | SHP |
|---|---|---|---|---|
| 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ükseklik | Enlem, Boylam | X, Y koordinatları |
| Sözdizimi Stili | Temiz JSON anahtar-değerleri | Ayrı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 nesnesi | ExtendedData şema etiketleri | Sabit GPX şema etiketleri | dBase 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ı
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.
İlgili GeoJSON Dönüşüm Çiftleri
GeoJSON vektörlerini Google KML formatına dönüştürmek, hafif JSON koordinat dizilerini Google Earth ve Google Maps için tasarlanmış yapılandırılmış XML belgelerine çevirir.
Google KML dosyalarını GeoJSON formatına dönüştürmek, hiyerarşik XML coğrafi verilerini modern web haritaları için hafif ve vektörel JavaScript Nesne Gösterimine (JSON) çevirir.
GeoJSON verilerini GPS Track GPX'e dönüştürmek, web haritası koordinatlarını navigasyon cihazları ve açık hava GPS alıcılarıyla uyumlu hâle getirir.