KML'yi GeoJSON'a dönüştürme

Bu ücretsiz KML'den GeoJSON'a dönüştürücü, Google Earth veya Google Benim Haritalarım'daki yer işaretlerini, yolları ve alanları web haritaları, veritabanları ve kod için GeoJSON'a çevirir. Dosya tarayıcınızda dönüştürülür ve sunucuya gönderilmez. KML stilleri ve ExtendedData alanları aktarılmaz, ağ bağlantıları izlenmez; birden fazla klasör içeren bir KML, klasör başına bir GeoJSON dosyası olarak zip içinde gelir.

Bir dosya doğru dönüştürülmedi mi? Tercihen küçük bir örnek dosyayla birlikte [email protected] adresine e-posta gönderin, sorun düzeltilecektir.

Temel bilgiler

KML → GeoJSON: neden dönüştürmelisiniz

KML, Google Earth ve Google Benim Haritalarım'dan aldığınız biçimdir. GeoJSON ise web haritalarının, JavaScript kütüphanelerinin ve çoğu API'nin beklediği biçimdir. Dönüştürme sayesinde Google Earth'teki yer işaretlerini, yolları ve alanları bir Leaflet veya MapLibre haritasına koyabilir, PostGIS gibi bir veritabanına aktarabilir ya da GeoJSON'u harita olarak önizleyen GitHub'a ekleyebilirsiniz. KML dosyanızı aşağıya bırakın; dönüştürme tamamen tarayıcınızda, QGIS'in de kullandığı motor olan GDAL ile yapılır.

KML dosyası GeoJSON biçimine nasıl dönüştürülür

  1. .kml dosyanızı kutuya bırakın veya seçmek için tıklayın.
  2. Harita önizlemesini ve katman ve obje listesini kontrol edin.
  3. “GeoJSON biçimine dönüştür” düğmesine tıklayın ve GeoJSON dosyanızı indirin.

Dönüştürme sırasında neler değişir

Stiller aktarılmaz

Renkler, çizgi kalınlıkları ve simgeler KML'nin bir parçasıdır ama GeoJSON standardında yer almaz, bu yüzden aktarılmaz. Bir web haritasında stil gerekiyorsa, bunu harita kodunuzda yer işaretinin adı veya klasörü gibi bir özniteliğe göre tanımlayın.

Her klasör ayrı bir katman olur

GeoJSON'da klasör yoktur. KML'nizde birkaç klasör varsa her klasör ayrı bir GeoJSON dosyasına dönüştürülür ve hepsini, klasör adlarıyla adlandırılmış olarak, tek bir .zip içinde indirirsiniz.

Adlar ve açıklamalar öznitelik olur

Yer işaretinin adı ve açıklaması “Name” ve “Description” öznitelikleri olarak korunur. Google Earth'te HTML olarak yazılmış açıklamalar HTML metni olarak kalır. KML ExtendedData olarak saklanan ek alanlar aktarılmaz; bunlara ihtiyacınız varsa katmanı önce değerler açıklamanın içinde olacak şekilde QGIS'ten veya Google Earth'ten dışa aktarın.

Yükseklik korunur

KML koordinatları yükseklik içerebilir. Yükseklik, GeoJSON'da üçüncü koordinat olarak korunur. Çoğu web haritası bunu yok sayar, dolayısıyla zararı olmaz.

Koordinat dönüşümü gerekmez

KML de GeoJSON da WGS84 boylam ve enlemini kullanır; bu nedenle koordinatlarınız değişmez, yalnızca en fazla 7 ondalık basamakla (yaklaşık 1 cm) yazılır.

Dosya biçimleri hakkında

KML

KML (Keyhole Markup Language), Google Earth ve Google Benim Haritalarım'ın temelindeki XML biçimidir ve 2008'den beri bir OGC standardıdır. Geometrinin yanı sıra stiller, simgeler, klasörler ve HTML açıklamalar da içerebilir.

  • Her zaman WGS84 boylam, enlem ve isteğe bağlı yükseklik.
  • Klasörler yer işaretlerini gruplar; dönüştürmede her klasör kendi katmanı olabilir.
  • Stiller (renkler, çizgi kalınlıkları, simgeler) KML'ye ve Google Earth'e özgüdür.

GeoJSON

GeoJSON, coğrafi nesneler için düz metin bir JSON biçimidir ve 2016'da RFC 7946 olarak standartlaştırıldı. Leaflet, MapLibre ve Mapbox gibi web haritalarının ve birçok API'nin doğal biçimidir.

  • Koordinatlar WGS84 boylam, enlem şeklindedir (bu sırayla).
  • Noktalar, çizgiler ve poligonlar tek bir dosyada karıştırılabilir.
  • Özellikler (properties) herhangi bir JSON değeri olabilir; alan adı uzunluğunda sınır yoktur.

Sıkça sorulan sorular

KML dosyam bir sunucuya gönderiliyor mu?

Hayır. Dosya kendi tarayıcınız tarafından okunur ve dönüştürülür. Hiçbir yere bir şey gönderilmez; bu da dönüştürücüyü gizli veriler için de güvenli kılar.

KMZ dosyasını dönüştürebilir miyim?

Evet, KMZ'den GeoJSON'a dönüştürücüyü kullanın. KMZ sıkıştırılmış bir KML'dir ve dönüştürücü onu sizin için açar.

Neden tek bir GeoJSON dosyası yerine .zip aldım?

KML'nizde birden fazla klasör var. Yapı kaybolmasın diye her klasör ayrı bir GeoJSON dosyası olur. Her şeyi tek dosyada istiyorsanız önce Google Earth'te tüm yer işaretlerini tek bir klasöre taşıyın.

Ağ bağlantıları izleniyor mu?

Hayır. Ağ bağlantıları başka bir sunucudaki verilere işaret eder ve bu veriler indirilmez. Bağlantılı dosyayı önce Google Earth'te açın ve KML olarak kaydedin.

Adım adım rehberler