Veri Formatları 5 dk okuma

KML / KMZ: Google Earth Veri Formatı

KML (Keyhole Markup Language), Google Earth ve Google Maps'te coğrafi veri görüntülemek için kullanılan XML tabanlı bir dosya formatıdır.

Son güncelleme: 20 Haziran 2026

KML Nedir?

KML (Keyhole Markup Language), coğrafi veri ve görselleştirmeyi tanımlamak için kullanılan XML tabanlı bir dosya formatıdır. Adını Google'ın 2004'te satın aldığı Keyhole Inc. şirketinden alan KML, 2008 yılında OGC (Open Geospatial Consortium) tarafından resmi standard olarak kabul edilmiştir.

KML ve KMZ Arasındaki Fark

  • KML: Düz metin XML dosyası. İnsan tarafından okunabilir, herhangi bir metin editörüyle açılabilir. Uzantısı .kml'dir.
  • KMZ: KML dosyasının ZIP sıkıştırması. İçinde KML dosyasına ek olarak görseller, ikonlar ve diğer kaynaklar bulunabilir. Uzantısı .kmz'dir.

KML Dosya Yapısı

KML, hiyerarşik bir yapıya sahip XML belgesidir. Temel elemanlar şunlardır:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>Türkiye Şehirleri</name>
    <Placemark>
      <name>Ankara</name>
      <description>Türkiye'nin başkenti</description>
      <Point>
        <coordinates>32.8597,39.9334,900</coordinates>
      </Point>
    </Placemark>
    <Placemark>
      <name>İstanbul</name>
      <Polygon>
        <outerBoundaryIs>
          <LinearRing>
            <coordinates>
              28.5,40.8 29.5,40.8 29.5,41.3 28.5,41.3 28.5,40.8
            </coordinates>
          </LinearRing>
        </outerBoundaryIs>
      </Polygon>
    </Placemark>
  </Document>
</kml>

KML Temel Geometri Tipleri

  • Point: Tekil nokta konumu.
  • LineString: Bir dizi koordinattan oluşan çizgi.
  • LinearRing: Kapalı çizgi (poligon sınırı için kullanılır).
  • Polygon: İç ve dış sınırlardan oluşan alan.
  • MultiGeometry: Birden fazla geometrinin birleşimi.
  • Model: 3B COLLADA modeli (Google Earth'te 3B bina görünümü için).

Stil Tanımlama

KML'de görsel stil Style elemanı ile tanımlanır:

<Style id="yesilNokta">
  <IconStyle>
    <color>ff00ff00</color>
    <scale>1.2</scale>
    <Icon>
      <href>https://maps.google.com/mapfiles/kml/shapes/placemark_circle.png</href>
    </Icon>
  </IconStyle>
  <LabelStyle>
    <color>ff00ff00</color>
  </LabelStyle>
</Style>

KML'de NetworkLink

NetworkLink elemanı, harici KML dosyalarına dinamik bağlantı kurulmasını sağlar. Bu özellik, sürekli güncellenen veri akışları (araç takip, hava durumu gibi) için kullanılır:

<NetworkLink>
  <Link>
    <href>https://example.com/live-data.kml</href>
    <refreshMode>onInterval</refreshMode>
    <refreshInterval>60</refreshInterval>
  </Link>
</NetworkLink>

KML ile Çalışan Yazılımlar

  • Google Earth Pro: KML/KMZ'nin ana platformu.
  • Google Maps: KML/KMZ dosyalarını içe aktarabilir.
  • QGIS: KML okuma ve yazma desteği.
  • ArcGIS: KML/KMZ dosya dönüşüm araçları.
  • OpenLayers / Leaflet: JavaScript kütüphaneleri KML katmanlarını destekler.

KML vs GeoJSON: Hangisini Seçmeli?

  • Web API'leri ve JavaScript uygulamaları için: GeoJSON tercih edilmeli.
  • Google Earth görselleştirmeleri ve 3B içerik için: KML/KMZ tercih edilmeli.
  • Dosya boyutu önemli ise: GeoJSON genellikle daha kompakt.
  • Zengin stil ve bağlantılı kaynak için: KMZ avantajlı.

KML Dönüşüm Araçları

KML dosyalarını diğer formatlara dönüştürmek için OGR/GDAL kütüphanesi kullanılabilir:

# KML'den GeoJSON'a dönüştürme
ogr2ogr -f GeoJSON output.geojson input.kml

# Shapefile'dan KML'ye
ogr2ogr -f KML output.kml input.shp