Daftar Isi
- Pengantar
- Stempel Waktu dan Data GPS
- Rentang Waktu
- Menganimasikan Model
- Cara Menentukan Waktu
- Waktu dengan AbstractViews
- Contoh: Menampilkan Gerakan Titik di Sepanjang Jalur
- Menyembunyikan Elemen Turunan Animasi
- Contoh: Menganimasikan Overlay Bumi
Pengantar
Fitur apa pun di KML dapat memiliki data waktu yang terkait dengannya. Data waktu ini memiliki efek membatasi visibilitas set data untuk jangka waktu atau titik waktu tertentu. Meskipun set data lengkap diambil saat file KML dimuat, penggeser waktu di antarmuka pengguna Google Earth mengontrol bagian data mana yang terlihat.
KML memiliki dua elemen waktu yang berasal dari TimePrimitive:
- TimeStamp - menentukan momen tunggal dalam waktu tertentu untuk Fitur tertentu
- TimeSpan - menentukan waktu <begin> dan <end> untuk Fitur tertentu
Elemen ini juga disalin ke namespace ekstensi Google, sebagai:
- gx:Stempel Waktu
- gx:Rentang Waktu
Hal ini memungkinkan penyertaan sebagai turunan elemen AbstractView. Pelajari lebih lanjut di bagian Waktu dengan AbstractViews, di bawah.
Saat membuka file KML yang berisi fitur dengan elemen TimePrimitive, Google Earth akan menampilkan penggeser waktu. (Google Earth secara otomatis memilih unit awal dan akhir untuk penggeser waktu berdasarkan waktu paling awal dan paling akhir yang ditemukan di Fitur KML dalam file tertentu.) Dengan menggunakan penggeser dan tombol putar, pengguna dapat "memutar" seluruh urutan atau dapat memilih setiap periode waktu untuk ditampilkan.
Untuk mengaktifkan penggeser waktu di Google Earth, buka Tampilan > Tampilkan Waktu, lalu pilih Secara Otomatis atau Selalu. (Defaultnya adalah Otomatis.) Contoh ini menganggap bahwa opsi "Batasi waktu ke folder yang saat ini dipilih" NONAKTIF (default).
Stempel Waktu dan Data GPS
TimeStamp biasanya dikaitkan dengan Penanda Letak Titik. Menampilkan ikon Penanda Letak secara singkat di setiap posisi di sepanjang jalur memiliki efek menganimasikan Penanda Letak. Teknik ini sangat berguna dalam membuat tampilan KML dari data yang diimpor dari perangkat pelacakan GPS. Untuk mendapatkan efek terbaik, Stempel Waktu untuk set data tertentu harus dilakukan secara berkala.
TimeStamp biasanya digunakan untuk set data ringan yang ditampilkan di beberapa lokasi (misalnya, Penanda Letak yang bergerak di sepanjang jalur). Dalam kasus semacam ini, beberapa Fitur sering kali ditampilkan bersamaan dengan ditampilkannya di lokasi yang berbeda pada waktu yang berbeda. Penggeser waktu antarmuka pengguna Google Earth menyertakan jendela waktu yang memilih "bagian" penggeser waktu dan berpindah dari awal ke akhir jangka waktu.
Dengan menggunakan teknik ini, Sekolah Eropa Jerman Singapura memberi tag hiu paus, yang dikenal dengan nama "Schroeder", dengan perangkat GPS, lalu melacak progres hiu tersebut melintasi Samudra Hindia menuju benua Afrika selama beberapa bulan. Pelihat yang tertarik dapat melihat kemajuan Schroeder menggunakan Google Earth untuk melihat file KMZ yang diposting di situs grup riset.
Dalam file KML ini, jalur merah menunjukkan perjalanan Schroeder sampai dia kehilangan kontak dengan tim. Titik kuning (ikon Penanda letak) dianimasikan di sepanjang jalur ini sesuai dengan linimasa yang ditampilkan di bagian atas layar. Panah biru adalah bagian dari overlay bumi yang menunjukkan arah pola gelombang. Para peneliti percaya bahwa perubahan arah Schroeder yang tiba-tiba dipengaruhi oleh pola gelombang, yang mengarahkan aliran plankton yang merupakan sumber nutrisi utamanya.
Dalam contoh ini, Penanda Letak Titik berisi elemen <TimeStamp>. LineString merah dan GroundOverlay biru tidak memiliki elemen waktu yang terkait dengannya (selalu ada).
![Ikon KML](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=6&hl=id)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/schroederPath.gif?authuser=6&hl=id)
Rentang Waktu
Untuk menampilkan poligon dan overlay gambar yang bertransisi secara instan dari satu ke yang berikutnya, Anda dapat menentukan awal dan akhir jangka waktu menggunakan objek TimeSpan. Teknik ini biasanya digunakan untuk menampilkan perubahan dalam poligon dan gambar seperti overlay bumi—misalnya, untuk menunjukkan jalur glasial gletser, penyebaran abu vulkanik, dan luasnya upaya logging selama bertahun-tahun.
TimeSpan digunakan jika hanya ada satu Fitur yang terlihat pada waktu tertentu, dan Anda ingin transisi instan dari satu gambar ke gambar berikutnya. Pastikan TimeSpan bersifat berdekatan dan tidak tumpang tindih. Untuk set data dengan TimeSpans, penggeser waktu antarmuka pengguna Google Earth menyertakan pointer yang bergerak mulus di sepanjang penggeser waktu dari awal hingga akhir jangka waktu. Transisi dari satu Fitur ke Fitur Berikutnya adalah perubahan yang terjadi secara instan.
Brian Flood membuat presentasi KML yang menarik dan menunjukkan pertumbuhan Amerika Serikat saat negara bagian ditambahkan ke serikat pekerja. File KML yang ditampilkan di sini menggunakan objek TimeSpan dengan titik awal saja, sehingga status (poligon) tetap berada di tampilan setelah ditambahkan.
![Ikon KML](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=6&hl=id)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/statehood.gif?authuser=6&hl=id)
Menganimasikan Model
Contoh lain penggunaan elemen TimeSpan adalah animasi London Eye, yang dibuat oleh James Stafford. Layar ini menggunakan model bianglala raksasa London Eye. Model ini direferensikan dalam serangkaian Penanda Letak yang masing-masing menggunakan rotasi inkremental yang berbeda untuk model dan TimeSpan yang menunjukkan durasi tampilan Tanda Letak tersebut.
![Ikon KML](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=6&hl=id)
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/londonEye.gif?authuser=6&hl=id)
Cara Menentukan Waktu
dateTime didasarkan pada waktu Skema XML (lihat Skema XML Bagian 2: Edisi Kedua Jenis Data). Nilainya dapat dinyatakan sebagai yyyy-mm-ddThh:mm:sszzzzzz, dengan T adalah pemisah antara tanggal dan waktu, serta zona waktu adalah Z (untuk UTC) atau zzzzzz, yang mewakili ±hh:mm sehubungan dengan UTC. Selain itu, nilai dapat dinyatakan sebagai tanggal saja. Lihat elemen <TimeStamp> di Referensi KML 2.2 sebagai contoh.
Waktu dengan AbstractView
Google Earth 5.0 mendukung namespace ekstensi Google, yang mencakup elemen <gx:TimeSpan>
dan <gx:TimeStamp>
. Ini adalah salinan elemen <TimeSpan>
dan <TimeStamp>
, dan dapat digunakan untuk menambahkan informasi waktu ke elemen <LookAt>
dan <Camera>
.
Penyertaan informasi waktu dalam AbstractView memengaruhi Fitur yang ditampilkan, sinar matahari, dan citra historis. Menggunakan <gx:TimeSpan>
atau <gx:TimeStamp>
dalam AbstractView memungkinkan terbang ke lokasi tertentu di ruang dan waktu di Google Earth.
Setelah waktu ditentukan, Google Earth terus menggunakan waktu tersebut saat memutuskan citra, Fitur, dan sinar matahari yang akan ditampilkan, hingga waktu lain ditentukan. KML tidak mendukung konsep 'now', jadi untuk kembali ke waktu saat ini di Google Earth, Anda harus menentukan <when>2999</when>
(atau tanggal lain di masa mendatang) dalam <gx:TimeStamp>
.
Saat menggunakan elemen di namespace ekstensi Google, Anda harus terlebih dahulu menambahkan URI namespace yang benar ke elemen <kml>
pembuka di file KML Anda:
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
Perlu diketahui bahwa namespace ekstensi berawalan gx mungkin tidak didukung oleh semua browser geografis. Fitur ini didukung oleh Google Earth 5.0.
Contoh
![Ikon KML](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=6&hl=id)
<?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>
Contoh: Menampilkan Gerakan Titik di Sepanjang Jalur
Contoh berikut menunjukkan penggunaan elemen TimeStamp untuk menunjukkan pergerakan Penanda Letak di sepanjang jalur. TimeStamp diambil sampelnya secara ketat, sehingga ikon Penanda Letak bergerak di sepanjang jalur saat file KML diputar.
![Ikon KML](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=6&hl=id)
<?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>
Menyembunyikan Elemen Turunan Animasi
Biasanya, dalam contoh seperti ini, ada baiknya Anda menyertakan elemen ListStyle dalam Dokumen dan menentukan checkHideChildren
sehingga masing-masing penanda letak tidak muncul di tampilan daftar. Kode berikut menyertakan elemen tambahan ini. Perhatikan bahwa meskipun Dokumen menentukan elemen Gaya, Dokumen juga perlu mereferensikan ListStyle dalam elemen <styleUrl>.
<?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>
Contoh: Menganimasikan Overlay Bumi
Untuk menganimasikan poligon dan overlay bumi, biasanya Anda akan menggunakan elemen TimeSpan seperti yang ditunjukkan dalam contoh berikut. File KML ini berisi gambar GroundOverlay untuk setiap bulan, sehingga Anda dapat memutar animasi dan melihat bagaimana lanskap berubah seiring musim. Berikut adalah nukilan kode yang menunjukkan tiga bulan pertama dalam setahun:
<?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>
![Ikon KML](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/kml_feed_small.png?authuser=6&hl=id)
Berikut screenshot contoh ini:
![](https://developers-dot-devsite-v2-prod.appspot.com/static/kml/documentation/images/bluemarble.gif?authuser=6&hl=id)