เวลาและภาพเคลื่อนไหว

สารบัญ

บทนํา

ฟีเจอร์ใดก็ตามใน KML สามารถเชื่อมโยงข้อมูลเวลาได้ ข้อมูลเวลานี้ส่งผลต่อการจํากัดระดับการเข้าถึงของชุดข้อมูลตามช่วงเวลาหรือเวลาที่ระบุ แม้ว่าระบบจะดึงข้อมูลทั้งชุดเมื่อโหลดไฟล์ KML แล้ว แถบเลื่อนเวลาในอินเทอร์เฟซผู้ใช้ Google Earth จะควบคุมว่าข้อมูลส่วนใดจะแสดง

KML มีองค์ประกอบเวลา 2 อย่าง ซึ่งมาจาก TimePrimitive ดังนี้

  • TimeStamp - ระบุเวลาสักครู่ของฟีเจอร์หนึ่งๆ
  • TimeSpan - ระบุเวลา <begin> และ <end> สําหรับฟีเจอร์นั้นๆ

นอกจากนี้ องค์ประกอบเหล่านี้จะถูกคัดลอกลงในเนมสเปซของส่วนขยาย Google ด้วย

  • gx:การประทับเวลา
  • gx:TimeSpan

ซึ่งจะช่วยให้รวมองค์ประกอบเหล่านั้นเป็นองค์ประกอบย่อยของ AbstractView ได้ ดูข้อมูลเพิ่มเติมในส่วน Time with AbstractViews ด้านล่าง

เมื่อ Google Earth เปิดไฟล์ KML ที่มีฟีเจอร์พร้อมองค์ประกอบ TimePrimitive ระบบจะแสดงแถบเลื่อนเวลา (Google Earth จะเลือกหน่วยเริ่มต้นและจุดสิ้นสุดสําหรับแถบเลื่อนเวลาโดยอัตโนมัติ โดยอิงจากเวลาล่าสุดและเวลาล่าสุดที่พบในฟีเจอร์ KML ของไฟล์นั้นๆ) เมื่อใช้แถบเลื่อนและปุ่มเล่น ผู้ใช้จะ "เล่น" ลําดับทั้งหมดหรือเลือกแต่ละช่วงเวลาเพื่อแสดงได้

หากต้องการเปิดใช้แถบเลื่อนเวลาใน Google Earth ให้ไปที่มุมมอง > แสดงเวลา แล้วเลือกอัตโนมัติหรือทุกครั้ง (ค่าเริ่มต้นคือโดยอัตโนมัติ) ตัวอย่างเหล่านี้อนุมานว่าตัวเลือก "จํากัดเวลาไปยังโฟลเดอร์ที่เลือกในปัจจุบัน" ปิดอยู่ (ค่าเริ่มต้น)

การประทับเวลาและข้อมูล GPS

โดยทั่วไปการประทับเวลาจะเชื่อมโยงกับหมุดตําแหน่ง การแสดงไอคอนหมุดเป็นเวลาสั้นๆ ที่แต่ละตําแหน่งตลอดเส้นทางมีผลทําให้ภาพเคลื่อนไหวเป็นหมุด เทคนิคนี้มีประโยชน์อย่างยิ่งในการสร้างการแสดงข้อมูล KML ที่นําเข้าจากอุปกรณ์ติดตาม GPS การประทับเวลาที่ดีที่สุดสําหรับชุดข้อมูลที่ระบุควรถ่ายเป็นประจํา เพื่อผลลัพธ์ที่ดีที่สุด

โดยทั่วไปการประทับเวลาจะใช้สําหรับชุดข้อมูลขนาดเล็กที่แสดงในหลายตําแหน่ง (เช่น หมุดเคลื่อนที่ไปตามเส้นทาง) ในกรณีดังกล่าว หลายๆ ฟีเจอร์มักจะอยู่ในมุมมองพร้อมกับแสดงในตําแหน่งที่ต่างกันตามเวลา แถบเลื่อนเวลาในอินเทอร์เฟซของผู้ใช้ Google Earth มีกรอบเวลาที่เลือก "ส่วนแบ่ง" ของแถบเลื่อนเวลา และเลื่อนจากจุดเริ่มต้นไปยังจุดสิ้นสุดของระยะเวลา

เมื่อใช้เทคนิคนี้ โรงเรียนรัฐบาลยุโรปของสิงคโปร์ได้ติดแท็กฉลามวาฬ ชื่อว่า "Schroeder" ด้วยใจรักด้วยอุปกรณ์ GPS จากนั้นติดตามความคืบหน้าของฉลามผ่านมหาสมุทรอินเดียไปยังทวีปแอฟริกาตลอดระยะเวลาหลายเดือน ผู้ชมที่สนใจจะดูความคืบหน้าของ Schroeder ได้โดยใช้ Google Earth เพื่อดูไฟล์ KMZ ที่โพสต์ในเว็บไซต์กลุ่มวิจัย

ในไฟล์ KML นี้ เส้นทางสีแดงจะแสดงการเดินทางของ Schroeder จนกว่าจะสูญเสียการติดต่อกับทีม จุดสีเหลือง (ไอคอนหมุด) จะเคลื่อนไหวไปตามเส้นทางนี้ตามลําดับเวลาที่แสดงที่ด้านบนของหน้าจอ ลูกศรสีน้ําเงินเป็นส่วนหนึ่งของการวางซ้อนพื้นดินที่แสดงทิศทางของรูปแบบคลื่น นักวิจัยเชื่อว่าการเปลี่ยนทิศทางอย่างฉับพลันของ Schroeder ได้รับผลกระทบจากรูปแบบคลื่นที่นําพาแพลนตันซึ่งเป็นต้นกําเนิดหลักของโภชนาการออก

ในตัวอย่างนี้ หมุดตําแหน่งมีองค์ประกอบ <TimeStamp> LineString สีแดงและ GroundOverlay สีน้ําเงินไม่มีองค์ประกอบเวลาที่เกี่ยวข้องกับองค์ประกอบเหล่านั้น (จะมีอยู่เสมอ)

ไอคอน KML whale_shark.KML (ใช้โดยการอนุญาตของ Team Seeadlerpost จากโรงเรียนในยุโรปของสิงคโปร์)

แถบเวลา

หากต้องการแสดงรูปหลายเหลี่ยมและการวางซ้อนรูปภาพที่เปลี่ยนจากแบบหนึ่งเป็นถัดไปทันที คุณสามารถระบุจุดเริ่มต้นและจุดสิ้นสุดของระยะเวลาได้โดยใช้ออบเจ็กต์ TimeSpan โดยทั่วไปเทคนิคนี้ใช้เพื่อแสดงการเปลี่ยนแปลงในรูปหลายเหลี่ยมและรูปภาพ เช่น การวางซ้อนพื้นดิน เช่น เพื่อแสดงเส้นทางการถดถอยของธารน้ําแข็ง เถ้าภูเขาไฟภูเขาไฟ และขอบเขตของการตัดไม้ในช่วงหลายปีที่ผ่านมา

มีการใช้ไทม์แลปส์ในกรณีที่มีการดูฟีเจอร์หนึ่งเท่านั้นในช่วงเวลาหนึ่งๆ และคุณต้องการเปลี่ยนจากรูปภาพหนึ่งเป็นรูปภาพถัดไป ตรวจสอบว่าไทม์แลปส์ต่อเนื่องกันและไม่ซ้อนทับกัน สําหรับชุดข้อมูลที่มี TimeSpans แถบเลื่อนเวลาบนอินเทอร์เฟซผู้ใช้ของ Google Earth จะมีตัวชี้ที่เคลื่อนผ่านแถบเลื่อนเวลาได้อย่างราบรื่นตั้งแต่ต้นจนจบช่วงเวลา การเปลี่ยนจากฟีเจอร์หนึ่งไปใช้ฟีเจอร์ถัดไปเป็นการเปลี่ยนแปลงโดยทันที

Brian Flood สร้างงานนําเสนอ KML ที่น่าสนใจซึ่งแสดงถึงการเติบโตของสหรัฐอเมริกาเมื่อมีการเพิ่มรัฐให้กับสหภาพ ไฟล์ KML ที่แสดงที่นี่ใช้ออบเจ็กต์ TimeSpan ที่มีจุดเริ่มต้นเท่านั้น เพื่อให้สถานะ (รูปหลายเหลี่ยม) ยังคงอยู่ในจอแสดงผลเมื่อเพิ่มแล้ว

ไอคอน KML us_states.KML (ใช้โดยได้รับอนุญาตจาก Brian Flood)

ภาพเคลื่อนไหวของโมเดล

อีกตัวอย่างหนึ่งของการใช้องค์ประกอบ TimeSpan คือภาพเคลื่อนไหวของลอนดอนอายซึ่งสร้างโดยเจมส์ สตอร์ดอร์ จอแสดงผลนี้ใช้แบบจําลองของชิงช้าสวรรค์ลอนดอนอายขนาดใหญ่ รูปแบบนี้จะมีการอ้างอิงในชุดหมุดแต่ละป้าย โดยใช้การหมุนเพิ่มที่แตกต่างกันสําหรับโมเดลและ TimeSpan ที่จะระบุระยะเวลาที่จะแสดงหมุด

ไอคอน KML london_eye.kmz (ใช้โดย เจ้าหน้าที่ Officer)

วิธีระบุเวลา

dateTime จะยึดตามเวลาสคีมา XML (ดูสคีมา XML ส่วนที่ 2: Datatypes Second Edition) ค่าอาจแสดงเป็น yyyy-mm-ddThh:mm:sszzzzzz โดย T เป็นตัวคั่นระหว่างวันที่และเวลา และเขตเวลาจะเป็น Z (สําหรับ UTC) หรือ zzzzzz ซึ่งแสดง ±hh:mm เมื่อเทียบกับ UTC นอกจากนี้ ค่าจะแสดงเป็นวันที่เท่านั้น ดูตัวอย่างองค์ประกอบ <TimeStamp> ในการอ้างอิง KML 2.2

เวลาที่มีมุมมองนามธรรม

Google Earth 5.0 รองรับเนมสเปซของส่วนขยาย Google ซึ่งรวมถึงองค์ประกอบ <gx:TimeSpan> และ <gx:TimeStamp> รายการเหล่านี้คือสําเนาขององค์ประกอบ <TimeSpan> และ <TimeStamp> และใช้เพื่อเพิ่มข้อมูลเวลาลงในองค์ประกอบ <LookAt> และ <Camera> ได้

การรวมข้อมูลเวลาใน AbstractViews ส่งผลต่อฟีเจอร์ที่แสดง แสงแดด และภาพในอดีต การใช้ <gx:TimeSpan> หรือ <gx:TimeStamp> ภายใน AbstractView จะช่วยให้บินไปยังตําแหน่งที่เจาะจงในพื้นที่ทํางานได้และใน Google Earth

เมื่อมีการระบุเวลาแล้ว Google Earth จะยังคงใช้เวลาดังกล่าวในการตัดสินใจเลือกภาพ ลักษณะ และแสงแดดที่จะแสดงจนกว่าเวลาอื่นจะได้รับการระบุไว้ KML ไม่รองรับแนวคิด "Now" ดังนั้นหากต้องการย้อนกลับไปยังเวลาปัจจุบันใน Google Earth คุณควรระบุ <when>2999</when> (หรือวันที่อื่นๆ ในอนาคต) ภายใน <gx:TimeStamp>

เมื่อใช้องค์ประกอบในเนมสเปซของส่วนขยาย Google คุณต้องเพิ่ม URI ของเนมสเปซที่ถูกต้องลงในองค์ประกอบ <kml> เปิดในไฟล์ KML ก่อน โดยทําดังนี้

<kml xmlns="http://www.opengis.net/kml/2.2"
 xmlns:gx="http://www.google.com/kml/ext/2.2">

โปรดทราบว่าเนมสเปซทางภูมิศาสตร์ที่มีคํานําหน้า gx อาจไม่รองรับในบางเบราว์เซอร์ทางภูมิศาสตร์ รองรับโดย Google Earth 5.0

ตัวอย่าง

ไอคอน KML abstractviews_timeprimitive_example.KML
<?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>

ตัวอย่าง: การแสดงจุดไปตามเส้นทาง

ตัวอย่างต่อไปนี้แสดงโดยใช้องค์ประกอบ TimeStamp เพื่อแสดงการเคลื่อนไหวของหมุดตามเส้นทาง การประทับเวลาต้นแบบจะมีการสุ่มตัวอย่างอย่างมาก ดังนั้น ไอคอนหมุดจะเคลื่อนไหวไปตามเส้นทางเมื่อมีการเล่นไฟล์ KML

ไอคอน KML TimeStamp_example.KML
<?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>

การซ่อนองค์ประกอบย่อยของภาพเคลื่อนไหว

โดยทั่วไป ในตัวอย่างลักษณะเช่นนี้ ควรใส่เอลิเมนต์ ListStyle ไว้ในเอกสารและระบุ checkHideChildren เพื่อให้หมุดแต่ละอันไม่ปรากฏในมุมมองรายการ โค้ดต่อไปนี้มีองค์ประกอบเพิ่มเติมนี้ โปรดทราบว่าแม้เอกสารจะกําหนดองค์ประกอบรูปแบบ แต่เอกสารต้องอ้างอิงรายการลักษณะในองค์ประกอบ <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>

ตัวอย่าง: ภาพเคลื่อนไหวการวางซ้อนพื้นที่

หากต้องการสร้างภาพเคลื่อนไหวรูปหลายเหลี่ยมและการวางซ้อนพื้น โดยทั่วไปคุณจะใช้องค์ประกอบ TimeSpan ตามที่แสดงในตัวอย่างต่อไปนี้ ไฟล์ KML นี้มีรูปภาพ GroundOverlay สําหรับแต่ละเดือน คุณจึงเล่นภาพเคลื่อนไหวและดูวิธีการเปลี่ยนแปลงแนวนอนตามฤดูกาลได้ ข้อความที่ตัดตอนมาจากโค้ดซึ่งแสดงช่วง 3 เดือนแรกของปีมีดังนี้

<?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 TimeSpan_example.KML (เอื้อเฟื้อข้อมูลของ NASA)

ต่อไปนี้เป็นการจับภาพหน้าจอของตัวอย่างนี้

กลับไปด้านบน