İçindekiler
- Giriş
- Zaman Damgaları ve GPS Verileri
- Zaman Kaydırma
- Modele Animasyon Oluşturma
- Saat Nasıl Belirtilir?
- Soyut Görünümlü Süre
- Örnek: Yol boyunca bir noktanın hareketini gösterme
- Animasyonun Alt Öğelerini Gizleme
- Örnek: Zemin Bindirmelerine Animasyon Verme
Giriş
KML'deki herhangi bir özelliğin ilişkilendirilebileceği zaman verileri olabilir. Bu zaman verileri, veri kümesinin görünürlüğünü belirli bir zaman aralığı veya noktayla kısıtlama görevine sahiptir. KML dosyası yüklendiğinde tüm veri kümesi getirilse de, verilerin hangi bölümlerinin görünür olacağını Google Earth kullanıcı arayüzündeki zaman kaydırma çubuğu denetler.
KML'nin, TimePrimitive'den türetilen iki zaman öğesi vardır:
- TimeStamp - belirli bir Özellik için tek bir zamanı belirtir
- TimeSpan: Belirli bir özellik için <begin> ve <end> zamanı belirtir
Bu öğeler, Google uzantısı ad alanına da kopyalanır. Örneğin:
- gx:Zaman Damgası
- gx:Zaman Kaydırma
Böylece, AbstractView öğelerinin alt öğeleri olarak dahil edilmelerine olanak sağlanır. Aşağıdaki Soyut Görünümli Süre bölümünden daha fazla bilgi edinebilirsiniz.
Google Earth, TimePrimitive öğesine sahip bir özellik içeren KML dosyasını açtığında bir zaman kaydırma çubuğu görüntüler. (Google Earth, belirli bir dosyadaki KML Özellikleri’nin en erken ve en yeni zamanına göre, zaman kaydırma çubuğunun başlangıç ve bitiş birimlerini otomatik olarak seçer.) Kaydırma çubuğu ve oynat düğmesi kullanılarak kullanıcı, dizinin tamamını "oynatabilir" veya görüntüleme için belirli zaman aralıkları seçebilir.
Google Earth'te zaman kaydırma çubuğunu etkinleştirmek için Görünüm > Saati Göster'e gidin ve Otomatik veya Her zaman seçeneğini belirleyin. (Varsayılan değer Otomatik'tir.) Bu örneklerde, "Şu anda seçili olan klasörü kısıtla" seçeneğinin KAPALI (varsayılan) olduğu varsayılmıştır.
Zaman Damgaları ve GPS Verileri
TimeStamp, genellikle Nokta Yer İşareti ile ilişkilendirilir. Yer işareti simgesini yol boyunca her bir konumda kısa süreliğine görüntülemek, yer işaretinin animasyonunu etkilemez. Bu teknik özellikle bir GPS izleme cihazından içe aktarılan verilerin KML ekranlarını oluştururken yararlı olur. En iyi etki için, belirli bir veri kümesi için TimeStamp'ların düzenli aralıklarla alınması gerekir.
TimeStamp'ler (Genellik) Genellikle birden fazla konumda (örneğin, yol boyunca hareket eden yer işaretleri) gösterilen hafif veri kümeleri için kullanılır. Bu gibi durumlarda, birden fazla özellik genellikle aynı yerde, farklı yerlerde ve farklı zamanlarda gösterilir. Google Earth kullanıcı arayüzü zaman kaydırma çubuğu, zaman kaydırma çubuğunun "parçasını" seçen ve dönemin başından sonuna kadar uzanan bir zaman aralığı içerir.
Bu tekniği kullanan Alman Avrupa Okulu Singapur'da GPS cihazıyla sevgiyle "Schroeder" adlı bir balina köpek balığı etiketlendi ve ardından bir ay boyunca köpekbalığının Hint Okyanusu'nda Afrika kıtasına doğru ilerlemesini takip etti. İlgilenen izleyiciler, araştırma grubunun web sitesinde yayınlanan KMZ dosyalarını görüntülemek için Google Earth'ü kullanarak Schroeder'ın ilerleme durumunu görüntüleyebilir.
Bu KML dosyasında, kırmızı yol Schroeder'ın ekiple iletişimini kaybedene kadar yaptığı seyahatleri gösterir. Sarı noktalar (Yer işareti simgeleri), ekranın üst kısmında gösterilen zaman çizelgesine göre bu yol boyunca hareket eder. Mavi oklar, dalga desenlerinin yönünü gösteren zemin döşemesinin bir parçasıdır. Araştırmacılar, Schroeder'ın dalga kalıplarından etkilenen ve ana besin kaynağı olan plankton akışını yönlendiren dalga kalıplarından etkilendiğini düşünüyor.
Bu örnekte Nokta Yer İşaretleri <TimeStamp> öğesini içerir. Kırmızı LineString ve mavi GroundOverlay'in ilişkili zaman öğeleri yoktur (her zaman vardır).
![KML simgesi](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=8&hl=tr)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/schroederPath.gif?authuser=8&hl=tr)
Zaman Aralıkları
Birden diğerine anında geçiş yapan çokgenleri ve görüntü bindirmelerini görüntülemek için TimeSpan nesnesini kullanarak bir dönemin başlangıcını ve bitişini belirtebilirsiniz. Bu teknik genellikle çokgenlerde ve zemin bindirmeleri gibi resimlerde yapılan değişiklikleri göstermek için kullanılır. Örneğin, buzulların geri çekildiği yolu, volkanik külün yayılımını ve yıllar içinde yapılan çalışmaların kapsamını gösteren bir tekniktir.
TimeSpans, belirli bir zamanda yalnızca bir Özelliğin gösterildiği ve bir resimden diğerine anında geçiş yapmak istediğiniz durumlarda kullanılır. TimeSpans'lerin bitişik olduğundan ve çakışmadığından emin olun. TimeSpans içeren veri kümelerinde, Google Earth kullanıcı arayüzü zaman kaydırma çubuğu, zaman aralığının başlangıcından dönemin sonuna kadar sorunsuz bir şekilde hareket eden bir işaretçi içerir. Bir özellikten diğerine geçiş anında yapılır.
Brian Flood, eyaletler birleştiklerinde Amerika Birleşik Devletleri'nin büyümesini gösteren ilginç bir KML sunusu oluşturdu. Burada gösterilen KML dosyası, yalnızca başlangıç noktası içeren TimeSpan nesnelerini kullanır. Böylece, eklendikten sonra bir durum (çokgen) ekranda kalır.
![KML simgesi](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=8&hl=tr)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/statehood.gif?authuser=8&hl=tr)
Model canlandırma
TimeSpan öğesinin kullanımına bir başka örnek de James personelord tarafından oluşturulan London Eye animasyonudur. Bu ekranda London Eye dev dönme dolabın bir modeli kullanılmıştır. Modele, her biri model için farklı bir artımlı rotasyon ve söz konusu Yer İşareti'nin ne kadar süre gösterileceğini belirten bir TimeSpan kullanılarak bir dizi Yer İşaretinde başvurulur.
![KML simgesi](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=8&hl=tr)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/londonEye.gif?authuser=8&hl=tr)
Saat Nasıl Belirtilir?
dateTime, XML Şema zamanını temel alır (XML Şeması 2. Bölüm: Datatypes İkinci Sürüm bölümüne bakın). Değer, yyyy-aa-ggTss:dd:sszzzzzz olarak ifade edilebilir. Burada T, tarih ile saat arasındaki ayırıcıdır, saat dilimi ise Z (UTC için) veya zzzzzz'dır. UTC ile ilişkili olarak ‐ss:dd değerini temsil eder. Ayrıca, değer yalnızca bir tarih olarak ifade edilebilir. Örnekler için KML 2.2 Referansı'ndaki <TimeStamp> öğesine bakın.
Soyut Görünümlü Süre
Google Earth 5.0, <gx:TimeSpan>
ve <gx:TimeStamp>
öğelerini içeren Google uzantısı ad alanını destekler. Bunlar, <TimeSpan>
ve <TimeStamp>
öğelerinin kopyaları olup <LookAt>
ve <Camera>
öğelerine zaman bilgisi eklemek için kullanılabilir.
AbstractViews'a zaman bilgilerinin dahil edilmesi, görüntülenen Özellikleri, güneş ışığını ve geçmiş görüntüleri etkiler. Bir AbstractView içinde <gx:TimeSpan>
veya <gx:TimeStamp>
kullanmak, Google Earth'te uzayda belirli bir konuma ve zamana gitmeyi sağlar.
Bir saat belirtildikten sonra Google Earth, başka bir zaman belirtilene kadar hangi görüntülerin, Özelliklerin ve güneş ışığının gösterileceğine karar verirken bu saati kullanmaya devam eder. KML'nin "şu an" kavramını desteklemediğinden, Google Earth'te içinde bulunduğunuz tarihe dönmek için <gx:TimeStamp>
içinde bir <when>2999</when>
(veya gelecekte başka bir tarih) belirtmeniz gerekir.
Google uzantısı ad alanındaki öğeleri kullanırken, önce KML dosyanızdaki <kml>
öğesine doğru ad alanı URI'sini eklemeniz gerekir:
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
gx ön ek uzantısı ad alanının tüm coğrafi tarayıcılar tarafından desteklenmediğini unutmayın. Google Earth 5.0'da desteklenir.
Örnek
![KML simgesi](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=8&hl=tr)
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <Document> <name>Views with Time</name> <open>1</open> <description> In Google Earth, enable historical imagery and sunlight, then click on each placemark to fly to that point in time. </description> <Placemark> <name>Sutro Baths in 1946</name> <Camera> <gx:TimeStamp> <when>1946-07-29T05:00:00-08:00</when> </gx:TimeStamp> <longitude>-122.518172</longitude> <latitude>37.778036</latitude> <altitude>221.0</altitude> <heading>70.0</heading> <tilt>75.0</tilt> </Camera> </Placemark> <Placemark> <name>Palace of Fine Arts in 2002</name> <Camera> <gx:TimeStamp> <when>2002-07-09T19:00:00-08:00</when> </gx:TimeStamp> <longitude>-122.444633</longitude> <latitude>37.801899</latitude> <altitude>139.629438</altitude> <heading>-70.0</heading> <tilt>75</tilt> </Camera> </Placemark> </Document> </kml>
Örnek: Yol boyunca bir noktanın hareketini gösterme
Aşağıdaki örnekte, bir yer işaretinin yol boyunca hareketini göstermek için bir TimeStamp öğesinin kullanılması gösterilmektedir. TimeStamp'ler sıkı şekilde örneklenir. Bu nedenle, KML dosyası oynatıldığında Yer İşareti simgesi yol boyunca hareket eder.
![KML simgesi](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=8&hl=tr)
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Points with TimeStamps</name>
<Style id="paddle-a">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/paddle/A.png</href>
</Icon>
<hotSpot x="32" y="1" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Style id="paddle-b">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/kml/paddle/B.png</href>
</Icon>
<hotSpot x="32" y="1" xunits="pixels" yunits="pixels"/>
</IconStyle>
</Style>
<Style id="hiker-icon">
<IconStyle>
<Icon>
<href>http://maps.google.com/mapfiles/ms/icons/hiker.png</href>
</Icon>
<hotSpot x="0" y=".5" xunits="fraction" yunits="fraction"/>
</IconStyle>
</Style>
<Style id="check-hide-children">
<ListStyle>
<listItemType>checkHideChildren</listItemType>
</ListStyle>
</Style>
<styleUrl>#check-hide-children</styleUrl>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:05:02Z</when>
</TimeStamp>
<styleUrl>#paddle-a</styleUrl>
<Point>
<coordinates>-122.536226,37.86047,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:05:20Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.536422,37.860303,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:05:43Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.536688,37.860072,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:06:04Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.536923,37.859855,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:06:24Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.537116,37.85961000000001,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:06:46Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.537298,37.859336,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:07:07Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.537469,37.85907,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:07:27Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.537635,37.858822,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:07:51Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.537848,37.858526,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:08:11Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.538044,37.858288,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:08:33Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.538307,37.858064,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:08:56Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.538601,37.857837,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:09:19Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.53887,37.857604,0</coordinates>
</Point>
</Placemark>
<Placemark>
<TimeStamp>
<when>2007-01-14T21:09:45Z</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.539052,37.857262,0</coordinates>
</Point>
</Placemark> . . .
</Document>
</kml>
Animasyonun Alt Öğelerini Gizleme
Bu gibi örneklerde, Belgeye bir ListStyle öğesi eklemek ve tek tek yer işaretlerinin liste görünümünde görünmemesi için checkHideChildren
değerini belirtmek yararlıdır. Aşağıdaki kod bu ek öğeyi içerir. Belge, Stil öğesini tanımlasa da dokümanın bir <styleUrl> öğesindeki ListStyle'a da başvurması gerektiğini unutmayın.
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Point with TimeStamps</name> . . .
<Style id="check-hide-children"> <!-- define the style for the Document -->
<ListStyle>
<listItemType>checkHideChildren</listItemType>
</ListStyle>
</Style>
<styleUrl>#check-hide-children</styleUrl> <!-- add the style to the Document -->
<Placemark>
<TimeStamp>
<when>2007-01-12</when>
</TimeStamp>
<styleUrl>#hiker-icon</styleUrl>
<Point>
<coordinates>-122.536422,37.860303,0</coordinates>
</Point>
</Placemark> . . .
</Document>
</kml>
Örnek: Zemin Bindirmelerine Animasyon Verme
Poligonları ve yer paylaşımlarını animasyonlu hale getirmek için genellikle aşağıdaki örnekte gösterildiği gibi bir TimeSpan öğesi kullanırsınız. Bu KML dosyası her ay için bir GroundOverlay resmi içerir. Böylece, animasyonu oynatabilir ve ortamın mevsimlere göre nasıl değiştiğini izleyebilirsiniz. Yılın ilk üç ayını gösteren koddan bir alıntı:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <!-- TimeSpan is recommended for GroundOverlays -->
<Folder>
<name>BMNG-12months</name>
<GroundOverlay>
<name>Blue Marble - Jan</name>
<TimeSpan>
<begin>2004-01</begin>
<end>2004-02</end>
</TimeSpan>
<Icon>
<href>http://mw1.google.com/mw-earth-vectordb/kml-samples/bmng12/files/BMNG-Jan.jpg</href>
</Icon>
<LatLonBox>
<north>90</north>
<south>-90</south>
<east>180</east>
<west>-180</west>
</LatLonBox>
</GroundOverlay>
<GroundOverlay>
<name>Blue Marble - Feb</name>
<TimeSpan>
<begin>2004-02</begin>
<end>2004-03</end>
</TimeSpan>
<Icon>
<href>http://mw1.google.com/mw-earth-vectordb/kml-samples/bmng12/files/BMNG-Feb.jpg</href>
</Icon>
<LatLonBox>
<north>90</north>
<south>-90</south>
<east>180</east>
<west>-180</west>
</LatLonBox>
</GroundOverlay>
<GroundOverlay>
<name>Blue Marble - Mar</name>
<TimeSpan>
<begin>2004-03</begin>
<end>2004-04</end>
</TimeSpan>
<Icon>
<href>http://mw1.google.com/mw-earth-vectordb/kml-samples/bmng12/files/BMNG-Mar.jpg</href>
</Icon>
<LatLonBox>
<north>90</north>
<south>-90</south>
<east>180</east>
<west>-180</west>
</LatLonBox>
</GroundOverlay> . . . </Folder> </kml>
![KML simgesi](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=8&hl=tr)
Bu örneğin ekran görüntüsü şöyledir:
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/bluemarble.gif?authuser=8&hl=tr)