KML 2.1 Eğitimi

Bu eğitim, KML 2.1'deki heyecan verici yeni özellikler hakkında bilgi vermek için tasarlanmıştır. Hızlı bir turla ilgileniyorsanız örnekleri Google Earth'te görüntülemek için bağlantıları tıklayın. Yeni KML öğeleri hakkında daha ayrıntılı bilgi edinmek istiyorsanız metni inceleyin ve bu özelliklerin Google Earth'ün bu yeni sürümüne nasıl esneklik ve güç kattığını anlamak için rakamları inceleyin. Bu araçlarla oluşturduğunuz yenilikçi sunuları ve turları görmek için sabırsızlanıyoruz.

Burada ele alınan öğelerle ilgili ayrıntılar için KML 2.1 Referansı ve KML 2.1 Şeması sayfalarına göz atın.

KML 2.1'de Öne Çıkanlar

  • Bölgeler: Bölgeler, verilerinizin Google Earth'te sunulma şekliyle ilgili ince ayarlar yapmanıza olanak tanıyan seçmeli ve ayrıntılı düzeyde davranış sağlar. Bölgeler, NetworkLinks ile birlikte kullanıldığında çok büyük veri kümelerinin akışını sağlar ve verilerin birden çok çözünürlükte "akıllı" olarak yüklenmesini sağlar (Süper Yer Paylaşımları bölümündeki bölümü inceleyin). Bölgeler'i kullanarak Google Earth'ün katmanlarını da simüle edebilirsiniz.
  • Dokulu 3D modeller - 3D nesneler kendi koordinat alanlarında doğal olarak modellenebilir ve COLLADATM dosyaları olarak dışa aktarılabilir, ardından Google Earth'e aktarılabilir ve Dünya yüzeyine yerleştirilebilir.
  • Artımlı güncellemeler: Artık NetworkLinks tarafından yüklenen verileri artımlı olarak güncelleyebilirsiniz. Böylece daha önce Google Earth'e yüklenen KML verilerini değiştirebilir, ekleyebilir ve silebilirsiniz.
  • Geçerlilik bitiş tarihi/saati - Önbelleğin temizlenmesi ve verilerin güncel kalması için verileri yenilenecek bir tarih saati belirtebilirsiniz.
  • Radyo düğmesi klasörleri - Kullanıcının bir klasörde yalnızca bir öğe seçmesine izin vermek için bir radyoKlasörü belirtmek üzere yeni ListStyle öğesini kullanın.

Soğuk Örnekler

Özellikleri İnceleyin.

KML 2.1'de kullanıma sunacağınız yeni ana öğelerden bazıları şunlardır:

Bölgelerle Çalışma

Bölgeler, performanstan ödün vermeden Google Earth'e çok büyük veri kümeleri eklemenize olanak tanıyan güçlü ve yeni bir KML özelliğidir. Veriler yalnızca kullanıcının görünümüne girdiğinde ve ekranın belirli bir bölümünü kapladığında yüklenir ve çizilir. Bölgeler'i kullanarak veriler için ayrı ayrıntı düzeyleri sağlayabilirsiniz. Böylece ince ayrıntılar yalnızca veriler ekranda görülebilecek kadar büyük bir bölümü doldurduğunda yüklenir.

Not: KML'de bazı sınıflar "ana" sınıftan türetilir. Türetilen "alt" sınıflar, üst sınıflarının tüm öğelerini devralır ve kendilerine ait belirli öğeleri ekler. (Bu, nesne odaklı sistemlerin yaygın bir tekniğidir.) Kolaylık sağlaması açısından, bu bölüm türetilen tüm alt sınıfları listelemek yerine üst sınıfla ilgilidir. Örneğin:

  • Özellik terimi, Özellik'ten türetilen tüm KML öğelerini ifade eder: Doküman, Klasör, GroundOverlay, NetworkLink, Yer İşareti ve Ekran Yer Paylaşımı.
  • Geometri, KML'deki herhangi bir geometrik öğeyi ifade eder: Nokta, Poligon, Doğrusal Ring, Çizgi Dizesi, Model, Çoklu Geometri.
  • Yer paylaşımı, Yer Paylaşımı'ndan türetilen öğeleri ifade eder: Zemin Yer Paylaşımı ve Ekran Yer Paylaşımı.

KML öğelerindeki devralmayı gösteren şema için KML Referansı bölümüne bakın.

Temel Kavramlar

Herhangi bir özellik bir Bölge içerebilir. Bölge, bir yer işaretinin geometrisinin veya yer paylaşımının resminin görünürlüğünü etkiler. Bölgeler, etkilenen geometrinin veya bindirmenin hem toplama hem de ayrıntı düzeyini tanımlar. Bölgeler KML hiyerarşisinden devralınır ve hiyerarşinin daha aşağıda tanımlanan özelliklerinin görünürlüğünü etkiler.

Bu bölümde, Bölgeleri anlamak için gereken temel kavramlar açıklanmaktadır:

Sınırlayıcı Kutu

Bölgede, verileriniz için sınırlayıcı kutuyu tanımlayan bir <LatLonAltBox> bulunur. Sınırlama kutusu, bir nesne veya veri noktalarını içeren bir birimdir. GroundOverlay'deki <LatLonBox>'a benzer şekilde, bir bölgedeki <LatLonAltBox> Kuzey, Güney, Doğu ve Batı sınırlarına sahiptir. Bölgenin içerdiği veriler 3D veya rakımda 2D ise Bölgenin <LatLonAltBox> değerinin en az <minAltitude> ve maksimum <maxAltitude> yüksekliğinin de bulunması gerekir.

Bu sınırlayıcı kutuyla ilişkili nesneler, (1) Bölge görünümün içine girdiğinde ve (2) <LatLonAltBox> boyutunun tahmini ekran boyutu, ilgili Bölge için belirtilen piksel aralığı içinde kaldığında (Ayrıntı Düzeyi (LOD) açıklandığı şekilde) çizilir. Bu koşulların her ikisi de sağlandığında, bölgenin "etkin" olduğu söylenir.

Ayrıntı Düzeyi (LOD)

Bölgeler ile ilgili ikinci önemli kavram Ayrıntı Düzeyi veya kısaca LOD'dur. Bilgisayar ekranında yeterli alan olmadığından, en yüksek veri miktarı yalnızca yeterli veriyi gösterecek yeterli piksel olduğunda yüklenecek şekilde ayarlanır. Bölge, ekranın nispeten küçük bir kısmını kapladığında (kullanıcı büyük bir mesafeyi görüntülemesi veya eğimli bir şekilde görüntülenmesi nedeniyle) LOD mekanizması, tam çözünürlük verilerinin yerine geçecek daha düşük çözünürlüklü bir veri kümesi belirtmenizi sağlar (KML yazarı). Bu daha düşük çözünürlüklü veri kümesi daha hızlı yüklenir ve yine de ekranın küçük bir kısmını kapladığı için kullanıcı muhtemelen farkı ayırt edemez.

Bir Bölgedeki <minLodPixels> ve <maxLodPixels> öğeleri, ekranın bir alanını (kare pikseller) belirtmenize olanak tanır. Verileriniz ekrana yansıtıldığında, görünür olması için <minLodPixels> değerinden daha geniş ve <maxLodPixels> değerinden daha küçük bir alanda kaplaması gerekir. Bölgenin tahmini boyutu bu sınırların dışına çıktığında artık görülemez ve bölge devre dışı kalır.

Verilerin sonsuz boyutta etkin olmasını istediğiniz özel durumda, <maxLodPixels> için ‐1 (varsayılan) değerini belirtin.

1. Örnek: Zemin Yer Paylaşımı için Bölge

İlk olarak, yer seviyesinde 2B yer paylaşımı için bölge oluşturan basit bir örneğe bakalım. Bu örnekte, Mountain View, Kaliforniya'nın 1991 yılındaki bir kısmını gösteren geçmiş verilerin bulunduğu bir zemin yer paylaşımı kullanılmıştır. Kullanıcı alanı yakınlaştırdığında, yer paylaşımı görünür hale gelir. Yer paylaşımı ilk görüldüğünde şöyle görünür (örnek dosyada da yer paylaşımının daha iyi dikkat çekmesini sağlamak için beyaz bir LineString de vardır):

Siyah-beyaz yer paylaşımının gösterildiği ekran görüntüsü

Bu örnekte <minLodPixels> 128'dir. Diğer bir deyişle, GroundOverlay ekranda 128 kare piksel olarak yer aldığında görünür. (Örnekte varsayılan değer olan <maxLodPixels> için -1 kullanılır, yani kullanıcı bu açıda yakınlaştırma yaptığında bu değer görünür kalır.) Bu yer paylaşımı için kullanılan resim 256 kare piksel karedir.

Kullanıcı görüntüyü yakınlaştırdığında resim şöyle görünür:

Eğilmiş resim görünmez hale gelmeden hemen önce aşağıdaki gibi görünür, çünkü <minLodPixels> değerinden daha az ekran alanı kullanır.

Veriler düz ve yer düzeyinde olduğu için, bu verilerin <LatLonAltBox> <minAltitude> ve <maxAltitude> öğelerini içermesi gerekmez. Bölgenin <LatLonAltBox> verileri için kullanılan sınırlayıcı kutu, zemin KML'nin <LatLonBox> sınırlarıyla aynıdır; aşağıdaki KML dosyasında gösterilmiştir:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>Flat Region</name>
<Region>
<LatLonAltBox>
<north>37.430419921875</north>
<south>37.41943359375</south>
<east>-122.080078125</east>
<west>-122.091064453125</west>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
</Lod>
</Region>
<GroundOverlay>
<name>Mountain View DOQQ</name>
<Icon>
<href>files/image.JPEG</href>
</Icon>
<LatLonBox>
<north>37.430419921875</north>
<south>37.41943359375</south>
<east>-122.080078125</east>
<west>-122.091064453125</west>
</LatLonBox>
</GroundOverlay> <Document> </kml>

Ayrıca, KML dosyasında, Bölgenin görünürlüğünü etkilediği resmin (veya geometrinin) kardeş olduğuna dikkat edin.

KML dosyasını incelemek için zamanınız olduğuna göre, yer paylaşımını Google Earth'e yüklemek için aşağıdaki bağlantıyı tıklayabilirsiniz. Ardından, farklı ekran noktalarıyla denemeler yapın ve ekran alanının ne kadarlık kısmına ihtiyaç duyduğuna bağlı olarak Bölge'nin ne zaman görüntülenip görüntülenemeyeceğini izleyin. Görüntüyü yeterince eğirseniz veya çok uzaklaştırırsanız <minLodPixels> gereksinimini karşılayamayacak kadar az ekran alanı kapladığı için yer paylaşımı kaybolur.

Google Earth'te örneği görüntüleyin (geçmiş yer paylaşımı.kmz)

Rakım

2. Örnek: 3D Modelin Bölgesi

Aşağıdaki örnekte yer seviyesinde 3D nesneler içeren bir bölgenin nasıl oluşturulacağı gösterilmektedir. Bu bölgenin <LatLonAltBox> değeri, binanın yüksekliği olduğundan 300 metrelik bir <maxAltitude> içerir. Bu binaları New York'ta Birleşmiş Milletler kompleksi olarak tanırsınız.

Bölgeye ait <LatLonAltBox> sınırlarının, Modelin boylam ve enlem sınırlarıyla tam olarak eşleşmemesi gerektiğini unutmayın. Modelin koordinatı, kendi yerel kaynağına göredir. Bu kaynak, Model'in Dünya'daki gerçek konumundan göreli konumlu olabilir.

<?xml version='1.0' encoding='UTF-8'?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>3D Region on ground</name>
<Placemark>
<name>United Nations Headquarters</name>
<visibility>0</visibility>
<Region>
<Lod>
<minLodPixels>128</minLodPixels>
</Lod>
<LatLonAltBox>
<north>40.750683130314</north>
<south>40.748162385230</south>
<east>-73.966608428427</east>
<west>-73.969476624071</west>
<minAltitude>0</minAltitude>
<maxAltitude>300</maxAltitude>
<altitudeMode>absolute</altitudeMode>

</LatLonAltBox>
</Region>
<Model>
<altitudeMode>absolute</altitudeMode>
<Location>
<longitude>-73.967763927199</longitude>
<latitude>40.749458312255</latitude>
<altitude>0.406173708576</altitude>
</Location>
<Link>
<href>models/un.dae</href>
</Link>
</Model>
</Placemark>
</Document>
</kml>

Dosyayı Google Earth'e yüklemek için aşağıdaki bağlantıyı tıklayın. Binaların ne zaman görünür hale geleceğini ve görünümden ne zaman kaldırılacağını görmek için farklı bakış açılarını deneyin.

Google Earth'te örneği görüntüleyin (unitedNations.kmz)

3. Örnek: Rakımda 2D Bindirme için Bölge

Bu örnekte, belirli bir rakımda dünyanın yüzeyinin üzerinde görüntülemek için 2B yer paylaşımını nasıl ekleyeceğiniz gösterilmektedir. Bu teknik, hava durumu cephelerini ve hava trafiği kalıplarını gösteren veriler için yararlıdır. Buradaki örnekte, deniz seviyesinden 100.000 metre yükseklikte küçük bir bulut örtüsü gösterilmektedir.

Bölgenin <LatLonAltBox> değeri,hem <minAltitude> hem de <maxAltitude> öğeleri için 100.000 metrelik bir değer belirtir. (Yer paylaşımı 2D olduğundan ve kalınlığı olmadığından, her iki öğe için de aynı değer kullanılır.) <heightMode> mutlak olduğundan bu değer deniz seviyesine göre belirlenir.

GroundOverlay'in <height> değerinin aynı zamanda 100.000 (Bölgenin sınırlayıcı kutusunun yükseklik değeriyle de eşleştiği) ve GroundOverlay'in <heightMode> değerinin, bölgenin <heightMode> için belirtilen değerle aynı olduğuna dikkat edin.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>Flat Region at altitude</name>
<GroundOverlay>
<name>Cloud overlay</name>
<Region>
<LatLonAltBox>
<north>33.75</north>
<south>22.5</south>
<east>-45</east>
<west>-56.25</west>
<minAltitude>100000</minAltitude>
<maxAltitude>100000</maxAltitude>
<altitudeMode>absolute</altitudeMode>

</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
</Lod>
</Region>
<Icon>
<href>files/image.PNG</href>
</Icon>
<altitude>100000</altitude>
<altitudeMode>absolute</altitudeMode>

<LatLonBox>
<north>33.75</north>
<south>22.5</south>
<east>-45</east>
<west>-56.25</west>
</LatLonBox>
</GroundOverlay>
</Document>
</kml>

Google Earth'te örneği görüntüleyin (cloudRegion.kmz)

Karartma Süresi

Ayrıca, bir bölge için şeffaflık kapsamı da belirtebilirsiniz. Böylece bir nesne şeffaftan opaka zarif bir şekilde geçiş yapabilir ve tekrar geri dönebilir. Google Earth, Bölge'nin maksimum görünür boyutu içindeyken tamamen şeffaftan tamamen opak olan rampayı belirlemek için maxFadeExtent'i kullanır. Bölge, minimum görünür boyutundayken karartma rampasını belirlemek için minFadeExtent'i kullanır. Fade aralıkları isteğe bağlıdır ancak farklı çözünürlüklere sahip LineStrings veya Poligonlar arasındaki "pop" etkisini engeller. Karartma, performans açısından çok pahalıdır ve görüntülerle kullanılmamalıdır.

Not: Şeffaflaşma aralığı, yer işareti simgeleri hariç tüm nesneler için geçerlidir. Şeffaflaştırma aralığı 0,5'ten büyük olduğunda bu simgeler çizilir.

 

Aşağıdaki örnekte soyutlamanın bir LineString'i nasıl etkilediği gösterilmektedir.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>Region in Placemark LineString</name>
<description>
The LineString corners mark the extent
of the Region LatLonAltBox.
The LineString minFadeExtent (at greatest range)
is 1/4 of the maxFadeExtent (at closest range)..
</description>
<Placemark>
<name>Region LineString</name>
<LineString>
<coordinates>
22,50,0
28,50,0
28,45,0
22,45,0
22,50,0
</coordinates>
</LineString>
<Region>
<LatLonAltBox>
<north>50</north>
<south>45</south>
<east>28</east>
<west>22</west>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
<maxLodPixels>1024</maxLodPixels>
<minFadeExtent>128</minFadeExtent>
<maxFadeExtent>512</maxFadeExtent>

</Lod>
</Region>
</Placemark>
</Document>
</kml>

Örneği Google Earth'te görüntüleyin (fadeLineString.KML)

Nesting Bölgeleri

Bölgeler'in yaygın kullanımlarından biri, daha belirgin bölge çözümleriyle ilişkili daha büyük Bölgeler'in ve daha ayrıntılı ayrıntılarla ilişkili daha küçük Bölgeler'in iç içe yerleştirilmesidir. Aşağıdaki şekilde her Bölge, ilişkili Bölge'nin etkin olması için gerekli olan piksel cinsinden Bölge'nin tahmini ekran boyutunu belirten LOD sınırlarına sahiptir. Kullanıcının bakış açısı yaklaştıkça, Bölge daha fazla ekran alanı kapladığı için daha ayrıntılı ayrıntılılığa (LOD) sahip bölgeler etkinleştirilir. Daha iyi LOD'ye sahip bölgeler, daha önce yüklenmiş Bölgeleri daha düşük LOD'lerle değiştirir.

Birbirini takip eden iç içe yerleştirilmiş bölgeler etkin hale geldiklerinde,

  • Her Bölgeyle ilişkili verileri toplayın (aşağıda açıklanan Süper Yer Paylaşımı örneğinde olduğu gibi)
  • Önceden yüklenmiş Bölge verilerini yeni verilerle değiştirin (önceki şekilde gösterilmiştir)

Bir alt bölgedeki <LatLonAltBox>, tümüyle üst Bölgesinin <LatLonAltBox> içinde yer almalıdır. Bölgeler, Klasör ve NetworkLink hiyerarşisi aracılığıyla devralınır. Yerel olarak tanımlanan bölgeler, Klasör hiyerarşisinde daha yüksek olarak tanımlanan Bölgeler'e göre önceliklidir. Aşağıdaki örnekte bir bölgenin yerel kapsamının hiyerarşide daha yukarıda tanımlanan bir bölgeyi nasıl geçersiz kıldığı gösterilmektedir. Bu örnekte, "ukraineRegion" yer işareti, Bölgeyi üst Dokümanından devralır. "romaniaFolder" Klasörü, "romaniaRegion" Yer İşareti tarafından kullanılan kendi Bölgesini belirtir. Maksimum verimlilik için NetworkLinks'te bölgelerin nasıl kullanılacağına dair daha fazla örnek için "Bölgeye Dayalı Akıllı Bağlantıların "Akıllı" Yüklemesi ile ilgili sonraki bölüme bakın.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>Nested Regions</name> <Region> <LatLonAltBox> <north>56.25</north> <south>45</south> <east>33.75</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Placemark> <name>ukraineRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0 33.75,45,0 33.75,56.25,0 22.5,56.25,0 22.5,45,0 </coordinates> </LineString> </Placemark> <Folder> <name>romaniaFolder</name> <Region> <LatLonAltBox> <north>50.625</north> <south>45</south> <east>28.125</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Placemark> <name>romaniaRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0 28.125,45,0 28.125,50.625,0 22.5,50.625,0 22.5,45,0 </coordinates> </LineString> </Placemark> </Folder> </Document> </kml>

Yukarıdaki örnekte gösterilen Bölgeye dayalı NetworkLink, Google Earth'te çok büyük bir veri kümesini yayınlamanın en etkili yoludur. NetworkLinks ile birlikte Bölgeler'i kullanarak işaretçilerden oluşan bir hiyerarşi oluşturabilirsiniz. Bu hiyerarşilerin her biri, belirli bir alt Bölgeyi işaret eder. Aşağıdaki KML dosyasında gösterildiği gibi <viewRefreshMode>, Bölge verilerini yalnızca Bölge etkin olduğunda yüklemeyi belirten bir onRegion seçeneğine sahiptir. İç içe yerleştirilmiş bölgelere birden çok ayrıntı düzeyi sağlarsanız daha fazla miktarda veri yalnızca kullanıcının bakış açısı sonraki yükü tetiklediğinde yüklenir. Üst Bindirmeler ile ilgili aşağıdaki bölümde ayrıntılı bir örnek verilmiştir.

1. Bölüm: Üst dosya

Bu örneği çalıştırmak için ilk bölümü her zamanki gibi kaydedin. NetworkLink'in etkin hale geldiğinde Bölge'yi yükleyebilmesi için ikinci bölümü romaniaRegion.KML olarak kaydedin.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>Nested Regions</name> <Region> <LatLonAltBox> <north>56.25</north> <south>45</south> <east>33.75</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Placemark> <name>ukraineRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0 33.75,45,0 33.75,56.25,0 22.5,56.25,0 22.5,45,0 </coordinates> </LineString> </Placemark> <NetworkLink> <name>romania NetworkLink</name> <Region> <LatLonAltBox> <north>50.625</north> <south>45</south> <east>28.125</east> <west>22.5</west> </LatLonAltBox> <Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod> </Region> <Link> <href>romaniaRegion.kml</href> <viewRefreshMode>onRegion</viewRefreshMode> </Link> </NetworkLink> </Document> </kml>
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>romania Document</name>
<Region>
<LatLonAltBox> <north>50.625</north> <south>45</south> <east>28.125</east> <west>22.5</west> </LatLonAltBox>
<Lod> <minLodPixels>128</minLodPixels> <maxLodPixels>1024</maxLodPixels> </Lod>
</Region> <Placemark> <name>romaniaRegion</name> <LineString> <tessellate>1</tessellate> <coordinates> 22.5,45,0
28.125,45,0 28.125,50.625,0 22.5,50.625,0 22.5,45,0 </coordinates> </LineString> </Placemark>
</Document>
</kml>

Üst Yer Paylaşımları

S: 47 MB boyutunda bir resmi dünyayla nasıl paylaşabilirim?
A: Tek seferde bir parça.

S: Herkes bunu yapmaya çalışırsa ne olur?
A: Bölgeye dayalı NetworkLink'ler kullanıyorsanız ve bu eğitimde açıklandığı gibi görüntüleriniz için birden fazla ayrıntı düzeyi sağlıyorsanız sorun değil.

Bu bölümde, geniş bir resim grubunu etkili bir şekilde yayınlamak için kullanılabilecek Bölgeler ve Ağ Bağlantıları hiyerarşisi olan "süper yer paylaşımı"nın nasıl oluşturulacağı açıklanmaktadır. Uygun alanın parçaları, görüntü alanının bir kısmı görünürken yüklenir ve görüntüleme noktası yaklaştığında daha yüksek çözünürlüklü kartlar yüklenir. 1024x768 çözünürlükte bir ekranda 7008x6720 piksel çözünürlüğü görüntülemek için çaba göstermek boşa yapılan bir çabadır. Dahası, kullanıcı dünya yüzeyinin birkaç kilometre üzerindeyse tüm bu veriler bir dizi piksele yığılmış olabilir ve performans düşük olur. Mountain View, Kaliforniya'da 1991 tarihli bir DOQQ'yu gösteren örneğimiz gibi üst bindirmeler, (1) ilgili Bölgenin görüntü alanının içinde olup olmadığını ve (2) öngörülen boyutunun mevcut görünüm açısından uygun olup olmadığını belirleyebilme olanağından faydalanır. Bölge "etkin" durumdaysa (iki koşul da karşılanmışsa) NetworkLink, Bölge ile ilişkili verileri yükler. Bölge etkin değilse veri yüklenmez. Orijinal resmi, artan ayrıntı düzeylerine sahip bir resim hiyerarşisine ayırırsanız Google Earth geçerli görünüme en uygun görüntüleri yükleyebilir.

Bu resim hiyerarşisinin nasıl kullanıldığını görmek için bu örnek dosyayı Google Earth'e yükleyin ve ilgilendiğiniz alanı yakınlaştırıp uzaklaştırarak deneyin: Mountain View Historial DOQQ.

 

Çok büyük bir veri kümesini verimli şekilde yüklemek için bölgeye dayalı ağ bağlantıları kullanma örneği. Orijinal resim 7008 x 6720 pikseldir. Burada gösterilen eğik görünüm, bu resmi temsil eden yalnızca beş küçük karo yükler. (Karo sınırlarını vurgulamak için beyaz çizgiler eklendi.) Bu uygulamada Mountain View şehrinin (1991 tarihli DOQQ) tarihi görüntüleri sunuluyor.

Verilerinizi Üst Bindirmeye Hazırlama

Örnek üst bindirmede, orijinal Mountain View resmi yüzlerce küçük GroundOverlays olarak alt bölümlere ayrılmıştır. Bu yer paylaşımları, veya karolar beş düzeyli bir hiyerarşide düzenlenir. Örneğin, buradaki tartışmada üç basit hiyerarşi ve 21 yer paylaşımından oluşan bir grup kullanılmıştır ancak kullanılan ilkeler aynıdır. Bunun, bölgeye dayalı ağ bağlantıları hiyerarşisini oluşturmanın yalnızca bir yolu olduğunu ve bu mekanizmayı uygulamanın başka yolları olduğunu unutmayın.

Üst bindirme oluşturmak için:

  1. Görüntüleri yönetilebilir parçalara bölerek hazırlayın (256x256 piksel önerilir) ve
  2. Bölgeleri, bağlantıları, ağ bağlantılarını ve bu örnekte GroundOverlays'i içeren dosyaları oluşturan KML dosyalarını oluşturun.

Görüntüleri hazırlama

Karolarınız için standart bir boyut seçin. Bunlar, ilişkili bölgeler etkinleştirildiğinde Google Earth'ün yükleyecekleri alt bölümlere ayrılmış resimlerdir (çeşitli çözünürlüklerde). Örnek olarak, karolarımız için 256x256 piksellik bir boyut kullanacağız. Bu boyut, yönetilebilecek kadar küçük bir boyuttur.

  1. Orijinal, tam çözünürlüklü resimle başlayın. Kartı n parçaya ayırabilir ve ardından bu blokların her birini n parçaya ayırabilirsiniz.
    Belirli bir boyuttaki parçalara sahip olana kadar alt bölümlere ayırmaya devam edin (bu örnekte 256 x 256 piksel).

    Orijinal resmimizin 1024x1024 piksel olduğunu varsayalım.
    Aşağıdaki hiyerarşi, alt bölümlere ayrıldığında ortaya çıkar.
  2.  

     

  3. Hiyerarşideki her bloku seçtiğiniz standart boyuta (örneğin, 256 x 256 piksel) yeniden ekleyin.
    Yeniden örneklenmiş bu karolar daha az ayrıntı içerir ancak daha uzak yerlerde etkin olan
    Bölgelerle ilişkilendirilir. Böylece, ayrıntılı bilgi kaybı kullanıcı tarafından algılanamaz.

 


Aşağıdaki şemada, iç içe yerleştirilmiş bölgelerin seyir noktası ve tanımı hangi kartların gerçekten yüklendiğini nasıl belirlediğini göstermektedir. Bu örnek büyük görüntü parçası için üç ayrıntı düzeyi sağlanmıştır. Kullanıcı, Bölgeye en uzak mesafeden baktığında Google Earth küçük resim görünümünü gösterir. Bu görünüm, LatLonAltBox'ın tamamına uzatılmıştır (ancak öngörülen boyut küçük (256 kare piksel) olduğundan gerçek bir görsel bilgi kaybı yoktur). Kullanıcı sahneyi yakınlaştırdığında, Bölge dört bölgeye bölünür. Dört "karo"nun her biri, küçük resimle aynı boyuta sahiptir ancak daha ayrıntılı görüntüler sunar.

Kullanıcı alanı yakınlaştırmaya devam ederse, kullanıcının bulunduğu yere ne kadar yakın olduğuna bağlı olarak tam çözünürlüklü görüntülerin bazı bölümleri görünür. Uzaktaki alanlar, önceden yüklenen daha az ayrıntılı görüntüleri korur. Mountain View DOQQ örneğinde "Box'lar"ı etkinleştirin ve Bölgeler çevresinde LineStrings kullanan ve aynı anda birden fazla hiyerarşi düzeyini gösteren Yer İşaretleri A ve B'ye göz atın.

Örnekte, tüm Bölgeler'de (hiyerarşinin tüm düzeylerinde) minLodPixels ve maxLodPixels için aynı değerler kullanıldığına dikkat edin. LatLonAltBox, hiyerarşinin hangi düzeyinin yükleneceğini ve Bölge içindeki hangi blokları belirlediğini belirler.

KML dosyalarını hazırlama

Her görüntü için, zemini bir Bölge ve bir Ağ Bağlantısıyla ilişkilendiren bir KML dosyası hazırlayın. Bu gruptaki her KML dosyasında aşağıdaki öğeler bulunur:

  • Bölge (Google Earth'ün belirli bir zamanda etkin olup olmadığını belirleyebilmesi için LatLonAltBox, minLodPixels ve maxLodPixels ile)
  • Alt dosyalara bir Ağ Bağlantısı grubu (hiyerarşinin bir sonraki düzeyindeki karolar)
  • bu Bölgenin zemin bindirmesi

Bu örnekte Mountain View DOQQ örneğinin en üst düzey KML dosyası gösterilmektedir. maxLodPixels için -1 değerini belirtir. Bu, "sonsuz boyut için etkin" özel anlamına gelir. Bu spesifikasyon olmadan hiyerarşinin tamamı hiçbir zaman tetiklenmeyebilir.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<NetworkLink>
<name>SuperOverlay: MV DOQQ</name>
<Region>
<LatLonAltBox>
<north>37.44140625</north>
<south>37.265625</south>
<east>-121.9921875</east>
<west>-122.16796875</west>
</LatLonAltBox>
<Lod>
<minLodPixels>128</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
</Lod>
</Region>
<Link>
<href>http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-070501/1.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>
</NetworkLink>
</kml>

Aşağıdaki dosya Mountain View DOQQ'da bir Bölge örneğini göstermektedir (179.KML). Bu dosya beş href etiketi içerir: Dörtü, resim hiyerarşisinin bir sonraki düzeyindeki dört KML dosyasına ve bir tanesi de bu karo için GroundOverlay için kullanılan resim dosyasına başvuruda bulunur.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.430419921875</north><south>37.41943359375</south>
<east>-122.091064453125</east><west>-122.10205078125</west>
</LatLonAltBox>
</Region>
<NetworkLink>
<name>001120</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.430419921875</north><south>37.4249267578125</south>
<east>-122.0965576171875</east><west>-122.10205078125</west>
</LatLonAltBox>
</Region>
<Link>
<href>180.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>

</NetworkLink>
<NetworkLink>
<name>001121</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.430419921875</north><south>37.4249267578125</south>
<east>-122.091064453125</east><west>-122.0965576171875</west>
</LatLonAltBox>
</Region>
<Link>
<href>185.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>

</NetworkLink>
<NetworkLink>
<name>001122</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.4249267578125</north><south>37.41943359375</south>
<east>-122.0965576171875</east><west>-122.10205078125</west>
</LatLonAltBox>
</Region>
<Link>
<href>190.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>

</NetworkLink>
<NetworkLink>
<name>001123</name>
<Region>
<Lod>
<minLodPixels>128</minLodPixels><maxLodPixels>-1</maxLodPixels>
</Lod>
<LatLonAltBox>
<north>37.4249267578125</north><south>37.41943359375</south>
<east>-122.091064453125</east><west>-122.0965576171875</west>
</LatLonAltBox>
</Region>
<Link>
<href>195.kml</href>
<viewRefreshMode>onRegion</viewRefreshMode>
</Link>

</NetworkLink>
<GroundOverlay>
<drawOrder>5</drawOrder>
<Icon>
<href>179.JPEG</href>
</Icon>

<LatLonBox>
<north>37.430419921875</north><south>37.41943359375</south>
<east>-122.091064453125</east><west>-122.10205078125</west>
</LatLonBox>
</GroundOverlay>
</Document>
</kml>

3D Nesneleri Görüntüleme

KML 2.1'de, COLLADA değişim dosyası biçiminde bina, köprü, anıt ve heykel gibi 3D modelleri içe aktarabilirsiniz. Modeller, SketchUp, 3D Studio Max, Softimage XSI veya Maya gibi uygulamalar kullanılarak Google Earth'ten bağımsız olarak kendi koordinat alanlarında tanımlanır. 3D model Google Earth'e aktarıldığında, Dünya koordinat sistemine sığacak şekilde çevrilir, döndürülür ve ölçeklendirilir. Google Earth'e önceden yüklenmiş olan modeller, KML 2.1'deki bir başka yeni özellik olan <Güncelle> öğesi kullanılarak yeniden konumlandırılabilir ve yeniden boyutlandırılabilir.

Örnek Model

Model, Google Earth'te diğer herhangi bir geometri nesnesi (nokta, çizgi veya poligon) gibi kullanılır. Dokulu bir modeli içe aktaran bir KML dosyasının basit bir örneğini burada görebilirsiniz.

Modele yapılan <Link> referansı, mutlak veya göreli bir dosya spesifikasyonu ya da bir URL olabilir.

Bu modeli görüntülemek için gerekli tüm doku ve yer paylaşımı dosyalarının yanı sıra Modeli içeren bu doc.KML dosyasını içeren bir arşiv olan MackyBldg.kmz dosyasını yükleyin:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Placemark>
<name>SketchUp Model of Macky Auditorium</name>
<description>University of Colorado, Boulder; model created by Noël Nemcik.</description> <LookAt>
<longitude>-105.2727379358738</longitude>
<latitude>40.01000594412381</latitude>
<altitude>0</altitude>
<range>127.2393107680517</range>
<tilt>65.74454495876547</tilt>
<heading>-27.70337734057933</heading> </LookAt> <Model id="model_4">
<altitudeMode>relativeToGround</altitudeMode>
<Location>
<longitude>-105.272774533734</longitude>
<latitude>40.009993372683</latitude>
<altitude>0</altitude>
</Location>
<Orientation>
<heading>0</heading>
<tilt>0</tilt>
<roll>0</roll>
</Orientation>
<Scale>
<x>1</x>
<y>1</y>
<z>1</z>
</Scale>
<Link>
<href>files/CU Macky.dae</href>
</Link>
</Model>
</Placemark>
</kml>

Model, Konum öğesinin enlem, boylam ve rakım spesifikasyonlarıyla coğrafi olarak konumlandırılır. Bu örnekte, bütünlük için dahil edilen Yön ve Ölçek öğeleri için varsayılan değerler kullanılmıştır.

Yön öğesi, modelin x (tilt), y (roll) ve z (başlık) eksenleri etrafında döndürülmesini belirtir. y ekseni Kuzey'i işaret eder, boylam çizgilerine paraleldir. x ekseni ise Doğu'ya işaret eder ve enlem çizgilerine paralel olur. Rotasyonlar derece olarak belirtilmiştir. Aşağıdaki şemada gösterildiği gibi pozitif rotasyonlar kullanılır.

.kmz Arşivi oluşturma

KMZ arşivi, tek bir KML sunusu oluşturmak için kullanılan dosyaların bir koleksiyonudur. Bu arşivde, .KML dosyasında başvurulan tüm yerel dosyalar (ör. resimler, dokular ve modeller) yer alır. KMZ arşivi bir ağ sunucusunda barındırılması gerekmeyen, bağımsız bir pakettir ve kolayca e-postayla gönderilebilir ve tek bir birim olarak depolanabilir. Google Earth, .KML ve .kmz dosyalarını doğrudan okuyabilir.

doc.KML dosyası ve başvuruda bulunduğu yerel dosyalar, ZIP dosyası biçimi kullanılarak arşivlenir. Birçok uygulama bu biçimi oluşturabilir. Windows sistemlerinde WinZip, Macintosh sistemlerinde Stuffit ve Linux veya Macintosh sistemlerinde zip dosyası, ZIP biçimini okuyup yazabilen popüler uygulamalardır. Doğrudan Windows Gezgini veya Mac Finder'ı kullanarak zip arşivleriyle de çalışabilirsiniz.

.zip dosyasını oluşturduktan sonra dosya uzantısını .kmz olarak değiştirin.

Macky Binası'nın dokulu modelinin tamamını içeren KMZ arşivinde şu dosyalar yer alır:

  • doc.KML - COLLADA (.dae) modelini içe aktarıp Google Earth'e yerleştiren, yukarıda gösterilen KML dosyası. Bu dosyayı KMZ (ZIP) dosyasının kök dizinine yerleştirin.
  • textures.txt: Model dosyasındaki doku yollarını (burada CU Macky.dae) KMZ dosyasının içindeki yollarla yeniden eşlemek için kullanılır. Bu dosyayı KMZ (ZIP) dosyasının kök dizinine yerleştirin. CU Macky .dae'da başvurulan her doku, formun textures.txt dosyasında bir satır içerir:
<kmz_file_path> <COLLADA_file_path> [<KML_ID_of_model>]

<kmz_file_path>, KMZ arşivinde dokunun bulunduğu göreli yoldur. Bu yol, KMZ arşivindeki files/ dizininde bulunan CU Macky.dae ile ilgilidir. Dokular files/ dizininde saklandığından <kmz_file_path> ../files/ ile başlamalıdır.

<COLLADA_file_path>, doku dosyasının tam olarak CU Macky .dae'de görünen adıdır.

[KML_ID], bu dokuyu kullanan modelin KML kimliğidir. Dokular birden fazla model tarafından kullanılabilir. Bu parametre isteğe bağlıdır.

Örneğin textures.txt dosyasından bir alıntı şöyledir:

<../files/CU-Macky---Center-StairsnoCulling.jpg> <CU-Macky---Center-StairsnoCulling.jpg> <model_4>
<../files/CU-Macky-4sideturretnoCulling.jpg> <CU-Macky-4sideturretnoCulling.jpg> <model_4>
<../files/CU-Macky-Back-NorthnoCulling.jpg> <CU-Macky-Back-NorthnoCulling.jpg> <model_4>
  • files/ dizini: Modelin geometrisini, dokularını ve malzemesini tanımlayan COLLADA dosyalarını içerir. Macky Binası örneğinde bu dizin, COLLADA dosyasını (CU Macky.dae) ve binayı dokulandırmak için kullanılan JPEG görsellerini içeren çok sayıda dosyayı içerir (CU-Macky-BrickwallnoCulling.jpg, CU-Macky--Center-StairsnoCulling.jpg, CU_Macky-EastdetaildoornoCulling.jpg).

Bu örnekte, dosyaları KMZ arşivinde yapılandırmanın bir yolu gösterilmektedir. Aslında, dosyaları bilgisayarınızdaki klasörlere veya dizinlere göre düzenlediğiniz gibi, size mantıklı gelen herhangi bir yapıda düzenleyebilirsiniz. Örneğin, tüm resimleri bir images/ dizinine yerleştirmek yararlı olabilir. Göreli başvurular (NetworkLink, Bağlantı, Yer Paylaşımı/Simge ve Modelde kullanılan <href> öğesinde bahsedilen dosyalar gibi) doc.KML dosyasına göre belirtilir. Bir Görseller dizini eklerseniz resimlerinizin <href> spesifikasyonu şöyle olur: images/myBrickTexture.jpg, images/myMountainOverlay.png vb.).

Bir NetworkLink üzerinden yüklenen verileri aşamalı olarak değiştirmek için NetworkLinkControl'ün alt öğesi olan Update öğesini kullanın. Güncelleme, sırayla işlenen herhangi bir Değişiklik, Oluşturma ve Silme öğesi içerebilir.

Aşağıdaki şekilde etkinlik dizisi gösterilmektedir.

  1. NetworkLink, "orijinal" KML dosyasını Google Earth'e yükler. Daha sonra güncellenecek bir öğenin ilk belirtildiğinde açık bir id özelliğinin tanımlanması gerekir. Kimlikler belirli bir dosya içinde benzersiz olmalıdır.
  2. Başka bir Ağ Bağlantısı, daha önce yüklenmiş KML nesnelerine yönelik güncellemeleri (Değişiklik, Oluşturma ve Silme kombinasyonları) içeren ikinci bir KML dosyası yükler. Güncelleme dosyası, orijinal KML verilerini tanımlamak için iki referans içerir:
  3. Google Earth'teki nesneleri bulmak için Update öğesi, değiştirilecek nesneleri tanımlayan orijinal dosyayı tanımlamak için targetHref öğesini kullanır. Değiştirilecek nesneleri veya yeni nesnelerin kapsayıcısını tanımlamak için Değişiklik, Oluşturma ve Silme öğeleri, bu nesnelerin kimliklerine referans veren bir targetId özelliği içerir.

Örneği Değiştir

Aşağıdaki örnekte bir ağ bağlantıları ve KML veri dosyaları örnek olarak gösterilmektedir. Örneği çalıştırmak için:

  1. Point-load.KML dosyasını Google Earth'e yükleyin. Bu dosya, iki nokta (Point.KML) içeren orijinal veri dosyasını yükleyen NetworkLink'i içerir.
  2. Update-upload.KML dosyasını Google Earth'e yükleyin. Bu dosya, Güncelleme verilerini içeren dosyayı yükleyen ikinci NetworkLink'i (point123 için yeni bir ad) içerir.

İlk dosya, iki nokta içeren veri dosyasını yükleyen NetworkLink'i içerir. Bu noktaları içeren Yer İşaretleri'ne kimlik atanır. Üçüncü dosya, Güncelleme dosyası ekleyen başka bir NetworkLink içeriyor. Değişiklik öğesi, point123 için Yer İşareti adını değiştirir.

Bu örnekte kullanılan dört dosyayı aşağıda bulabilirsiniz. Öncelikle bu, orijinal veri dosyasını yükleyen NetworkLink'i içeren Point-upload.KML dosyasıdır (Point.KML).

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<NetworkLink>
<name>Loads Point.kml</name>
<Link>
<href>http://developers.google.com/kml/documentation/Point.kml</href>
</Link>
</NetworkLink>
</kml>

Orijinal verileri (iki nokta) içeren Point.KML dosyasını burada bulabilirsiniz. Kimliği "point123" olan nokta değiştireceğimiz noktadır.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<Placemark id="pm123">
<name>point123</name>
<Point> <coordinates>-95.44,40.42,0</coordinates> </Point>
</Placemark> <Placemark id="pm456"> <name>point456</name>
<Point> <coordinates>-95.43,40.42,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>

Ardından, ikinci NetworkLink dosyası (Update-upload.KML) gösterilir. Bu dosya, Güncelleme bilgilerini içeren dosyayı yükler.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<NetworkLink>
<name>Update</name>
<Link>
<href>http://developers.google.com/kml/documentation/NetworkLinkControl-Update.kml</href></Link> </NetworkLink>
</kml>

Son olarak, Güncelleme bilgilerini içeren KML dosyası (NetworkLinkControl-Update.KML) şunlardır:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<NetworkLinkControl>
<Update>
<targetHref>http://developers.google.com/kml/documentation/Point.kml</targetHref>
<Change>
<Placemark targetId="pm123"> <name>Name changed by Update Change</name>
<!-- coordinates remain the same -->
</Placemark>
</Change> </Update>
</NetworkLinkControl>
</kml>

Geçerlilik bitiş tarihi

Varsayılan olarak, veriler Google Earth'e Bağlantılar tarafından yalnızca bir kez yüklenir. KML verilerinin eskimesini önlemek amacıyla, bir <href> öğesi (Bağlantı veya Simge öğesinde) tarafından yüklenen veriler için onExpire RefreshMode değerini belirtebilirsiniz. Varsayılan olarak HTTP geçerlilik sonu üstbilgileri son kullanma zamanını belirtir. Artık KML NetworkLinkControl'de süresi de belirtebilirsiniz. Saat, XML dateTime olarak ifade edilir (XML Şeması 2. Bölüm: Veri Türleri İkinci Sürüm bölümüne bakın). Hem HTTP üstbilgileri hem de KML geçerlilik süreleri belirtilirse KML geçerlilik süresi öncelikli olur.

1. Örnek: HTTP sunucu geçerlilik süresi kullanılarak sona erme

Bu örnek yalnızca açıklama amaçlıdır. Burada, onExpire'in RefreshMode'unu ayarlayan bir Simge içeren GroundOverlay gösterilir. KML geçerlilik süresi ayarlanmadığından bu örnekte HTTP sunucu geçerlilik süresi kullanılmaktadır.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>refreshMode onExpire</name>
<Snippet maxLines="10">
Image automatically reloads according to http
server expiration.

</Snippet>
<GroundOverlay>
<Icon>
<href>http://www.someserver.com/image.jpeg</href>
<refreshMode>onExpire</refreshMode>

</Icon>
<LatLonBox>
<!-- from edit session in earth -->
<!-- The roof of a building in the Presidio -->
<north>37.80385180177469</north>
<east>-122.4558710620651</east>
<south>37.80337403503347</south>
<west>-122.4564295653771</west>
</LatLonBox>
</GroundOverlay>
</Document>
</kml>

2. Örnek: KML geçerlilik bitiş tarihinin kullanıldığı örnek

Aşağıdaki örnek, rastgele seçilen koordinatlarda bir Yer İşareti sunar. Bu örnekte, onExpire için RefreshMode özelliği olan bir bağlantı bulunmaktadır. Bu durumda, son kullanma tarihi/saati (Python komut dosyasında) yeni KML <expires> öğesi kullanılarak belirtilir. Bu KML geçerlilik süresi, HTTP üst bilgilerinde belirtilmiş olabilecek herhangi bir zamana göre önceliklidir.

<href> ve <RefreshMode> öğelerine sahip Bağlantıyı içeren KML NetworkLink aşağıda verilmiştir:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<NetworkLink>
<Link>
<href>http://dev.someserver.com/cgi-bin/expires.py</href>
<refreshMode>onExpire</refreshMode>
</Link>
</NetworkLink>
</Document>
</kml>

Bu, [now + 11 seconds] için bir son kullanma tarihi belirleyen ve Yer İşareti'nin koordinatlarını yenileyen Python komut dosyasıdır:

#!/usr/bin/python

import random
import time
lat = random.random() * 180. - 90.
lon = random.random() * 360. - 180.
now = time.time()
future = time.gmtime(now + 11)
y = future[0]
mo = future[1]
d = future[2]
h = future[3]
mi = future[4]
s = future[5]
iso8601 = '%04d-%02d-%02dT%02d:%02d:%02dZ' % (y,mo,d,h,mi,s)
print 'Content-type: application/vnd.google-earth.kml+xml'
print
print '<?xml version=\"1.0\" encoding=\"UTF-8\"?>'
print '<kml xmlns=\"http://earth.google.com/kml/2.1\">'
# must be child of <kml>
print '<NetworkLinkControl>'
print '<expires>%s</expires>' % iso8601
print '</NetworkLinkControl>'
print '<Placemark>'
print '<name>placemark expires %s</name>' % iso8601
print '<Point>'
print '<coordinates>%f,%f,0</coordinates>' % (lon,lat)
print '</Point>'
print '</Placemark>'
print '</kml>'

Radyo stili öğelerin bulunduğu klasörler

Artık ListStyle öğesini kullanarak ve radioFolder'ın bir ListItemType değerini belirterek radyo stili öğelere sahip klasörler oluşturabilirsiniz. Aşağıdaki örnek, yeni liste stili öğesinin bu kullanımını göstermektedir.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>ListStyle radiofolder</name>
<Folder>
<name>radioFolder Folder</name>
<Style>
<ListStyle>
<listItemType>radioFolder</listItemType>
</ListStyle>

</Style>
<Placemark>
<name>north</name>
<Point>
<coordinates>-114,41.79,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>south</name>
<Point>
<coordinates>-114,41.78,0</coordinates>
</Point>
</Placemark>
</Folder>
</Document>
</kml>

Yerler panelinde bu Klasör ve Yer İşareti alt öğeleri şu şekilde gösterilir: