คำถามที่พบบ่อยเกี่ยวกับ KML


KML คืออะไร

KML เป็นรูปแบบไฟล์ที่ใช้แสดงข้อมูลทางภูมิศาสตร์ในเบราว์เซอร์ Earth เช่น Google Earth คุณสร้างไฟล์ KML เพื่อระบุตำแหน่ง เพิ่มการวางซ้อนรูปภาพ และแสดงข้อมูลที่สมบูรณ์ในรูปแบบใหม่ได้ KML เป็นมาตรฐานสากลที่Open Geospatial Consortium, Inc. (OGC) ดูแล

ใครใช้ KML

ชุมชน KML มีความหลากหลายและกว้างขวาง ดังที่คุณจะเห็นเมื่อไปที่ฟอรัมชุมชน Google Earth ผู้ใช้ทั่วไปสร้างไฟล์ KML เพื่อปักหมุดบ้าน บันทึกการเดินทาง และวางแผนการเดินป่าและการปั่นจักรยานข้ามประเทศ นักวิทยาศาสตร์ใช้ KML เพื่อให้การทำแผนที่โดยละเอียดของแหล่งข้อมูล โมเดล และแนวโน้มต่างๆ เช่น การปะทุของภูเขาไฟ รูปแบบสภาพอากาศ กิจกรรมแผ่นดินไหว และแหล่งแร่ ผู้เชี่ยวชาญด้านอสังหาริมทรัพย์ สถาปนิก และหน่วยงานพัฒนาเมืองใช้ KML เพื่อเสนอการก่อสร้างและแสดงแผนภาพ นักเรียนและครูใช้ KML เพื่อสำรวจผู้คน สถานที่ และเหตุการณ์ทั้งในอดีตและปัจจุบัน องค์กรต่างๆ เช่น National Geographic, UNESCO และ Smithsonian ต่างก็ใช้ KML เพื่อแสดงชุดข้อมูลทั่วโลกที่สมบูรณ์ของตน

ฉันจะสร้างไฟล์ KML ได้อย่างไร

เครื่องมือหลักๆ ในการสร้างไฟล์ KML มี 3 อย่าง

  • Google Earth นี่คือเครื่องมือที่สำคัญที่สุดที่คุณใช้สร้างไฟล์ KML ได้ คุณสามารถใช้ Google Earth เพื่อสร้าง
    • หมุด
    • เส้นทาง
    • รูปหลายเหลี่ยม
    • การวางซ้อนภาพ
    • ลิงก์เครือข่าย
    • โมเดลสถานที่
    • โฟลเดอร์ของทั้งหมดที่กล่าวมา
    • PhotoOverlays
  • เมื่อสร้างออบเจ็กต์เหล่านี้แล้ว ให้คลิกขวาที่ออบเจ็กต์ในบานหน้าต่าง "สถานที่" แล้วเลือก "คัดลอก" จากนั้นคุณสามารถวางลงในโปรแกรมแก้ไขข้อความหรือโปรแกรมแก้ไข XML และเริ่มแก้ไขได้

  • เครื่องมือแก้ไขข้อความ หลังจากสร้างออบเจ็กต์ใน Google Earth แล้ว ให้วางลงในโปรแกรมแก้ไขข้อความ แล้วเริ่มแก้ไข
  • โปรแกรมแก้ไข XML KML เป็นภาษา XML สำหรับอธิบายเนื้อหาทางภูมิศาสตร์ โปรแกรมแก้ไข XML เป็นโปรแกรมแก้ไขข้อความที่ซับซ้อนซึ่งมีเครื่องมือมากมายสำหรับการสร้างเอกสาร XML เช่น การเติมแท็กอัตโนมัติ ซึ่งช่วยให้คุณปิดองค์ประกอบ KML ด้วยแท็กปิดที่เหมาะสม

นอกจากนี้ยังมีเครื่องมือมากมายที่ผู้ใช้ในชุมชน Google Earth สร้างขึ้น ดูการสนับสนุนนักพัฒนาซอฟต์แวร์ KML ในกลุ่ม Google

ฉันจะเปิดไฟล์ KMZ ได้อย่างไร

ไฟล์ KMZ คือชุดไฟล์ที่บีบอัดไว้ตั้งแต่ 1 ไฟล์ขึ้นไปสำหรับดูใน Google Earth โดยจะบีบอัดโดยใช้รูปแบบ ZIP และเปิดได้โดยใช้เครื่องมือ ZIP ทั่วไป เช่น "WinZip", "7-Zip" หรือเครื่องมือโฟลเดอร์ที่บีบอัดของ Windows XP โดยค่าเริ่มต้นสำหรับ Windows, "Stuffit" สำหรับ Mac OS หรือ "zip" สำหรับ Mac OS หรือ Linux คุณอาจต้องเปลี่ยนนามสกุลไฟล์จาก .kmz เป็น .zip เพื่อให้เครื่องมือ zip รู้จักไฟล์ อย่าลืมเปลี่ยนกลับเป็น .kmz ก่อนใช้ไฟล์อีกครั้ง

ฉันจะสร้าง KML สำหรับข้อมูลดาราศาสตร์ได้อย่างไร

KML ใช้เพื่อแสดงข้อมูลทางดาราศาสตร์และโหลดลงใน Google Sky หรือ WorldWide Telescope ของ Microsoft ได้ ดูข้อมูลเพิ่มเติมได้ที่บทความข้อมูลท้องฟ้าใน KML

Google Earth รองรับแท็ก KML ใดบ้าง

Google Earth รองรับแท็ก KML ทั้งหมด ดูรายการแท็กทั้งหมดได้ในข้อกำหนด KML

ฉันจะดูคู่มือสำหรับนักพัฒนาแอปได้จากที่ใด

ดูคู่มือนักพัฒนาแอปได้ที่ https://developers.google.com/kml/documentation/topicsinkml.html


ทำไมเส้นของฉันถึงหายไป

เมื่อ LineString มี clampToGround ก็จะติดตามเส้นโค้งของโลกโดยไม่มีปัญหา แต่หากเป็น "relativeToGround" คุณอาจต้องเพิ่มจุดมากขึ้น หรือระบบจะวาดเส้นที่ยาวขึ้นในเส้นทางตรงผ่านลูกโลกหรือภูมิประเทศ

ตัวอย่างเช่น LineString นี้จะผ่านโลกและหายไป

<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
    <name>Untitled Path</name>
    <LineString>
      <tessellate>0</tessellate>
      <altitudeMode>absolute</altitudeMode>
      <coordinates>-115.415105,40.669016 -37.752364,34.879979</coordinates>
    </LineString>
  </Placemark>
</kml>

การเพิ่มจุดจะช่วยลดปริมาณเส้นที่อยู่ใต้ดิน นอกจากนี้ <tessellate> ควรเป็น "1" เพื่อให้แน่ใจว่าเส้นจะไปตามภูมิประเทศ

<Placemark>
  <name>Untitled Path</name>
  <LineString>
    <tessellate>1</tessellate>
    <altitudeMode>relativeToGround</altitudeMode>
    <coordinates>
      -134.148103,37.752967 -128.917074,38.803008
      -125.166954,39.583592 -122.137625,39.656880
      -120.421783,40.036311 -118.298157,40.235316
      -114.348386,40.631532 -112.670431,40.761033
      -111.916045,40.681939 -110.177711,40.653055
      -109.544331,40.619327 -107.155697,40.642007
      -105.410526,40.421505 -103.192299,40.430138
      -102.853712,40.427904 -98.168302,40.363524
      -97.093391,40.308754 -94.831304,40.479175
      -93.760070,40.395392 -84.913828,39.466651
      -84.414888,39.387332 -81.380660,39.188551
      -80.276261,38.977744 -77.811560,38.872542
      -75.062267,38.521146 -72.006956,38.101733
      -66.67819,37.664687
    </coordinates>
  </LineString>
</Placemark>
ฉันวาดวงกลมใน KML ได้ไหม

KML ไม่มีรูปทรงวงกลม แต่คุณสามารถสร้างรูปทรงที่คล้ายวงกลมได้โดยใช้ LineString ที่มีพิกัดหลายจุดอยู่ใกล้กัน ต่อไปนี้คือตัวอย่าง

ฉันเปลี่ยน LineString ให้เป็นเส้นประหรือมีลูกศรได้ไหม

<LineStyle> ช่วยให้คุณเปลี่ยนสี ความทึบ และขนาดของเส้นได้ อย่างไรก็ตาม ขณะนี้ KML ยังไม่รองรับการเปลี่ยนประเภทเส้นใน KML

ฉันจะซ่อนป้ายกำกับของหมุดได้อย่างไร

ป้ายกำกับที่แสดงข้างเครื่องหมายใน Google Earth จะอิงตามองค์ประกอบ <name> การตั้งค่าองค์ประกอบมาตราส่วนใน LabelStyle เป็น 0 จะซ่อนป้ายกำกับได้

<Style id="hideLabel">
  <LabelStyle>
    <scale>0</scale>
  </LabelStyle>
</Style>
เหตุใดฉันจึงได้รับข้อผิดพลาดในการแยกวิเคราะห์

ข้อผิดพลาดในการแยกวิเคราะห์มีสาเหตุหลักๆ 2 ประการ ได้แก่

  1. ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่: KML จะพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เช่นเดียวกับภาษา XML ทั้งหมด โดยกำหนดให้ชื่อองค์ประกอบทั้งหมดต้องอยู่ในรูปแบบที่ถูกต้อง เช่น <Placemark> ไม่ใช่ <PLACEMARK> <href> ไม่ใช่ <Href> <Link> ไม่ใช่ <lInk>
  2. แท็กที่ไม่สมบูรณ์: องค์ประกอบทั้งหมดต้องเริ่มต้นและสิ้นสุดด้วยแท็กเดียวกัน บางครั้งผู้ใช้อาจลืมปิดแท็กหรือละเว้นเครื่องหมายวงเล็บมุม (< หรือ >)

    เช่น
    <name>Atlanta</name> ถูกต้อง
    <name>Atlanta ไม่ถูกต้อง
    <nameAtlanta</name> ไม่ถูกต้อง
    <nameAtlanta<name> ไม่ถูกต้อง

ฉันจะรู้ได้อย่างไรว่าไฟล์ KML ที่เขียนขึ้นเป็นไฟล์ KML ที่ถูกต้อง

KML เป็นภาษามาร์กอัป XML คุณตรวจสอบได้หลายวิธี ดังนี้

  • คุณสามารถใช้โปรแกรมแก้ไข XML เช่น Oxygen หรือ Netbeans เพื่อตรวจสอบความถูกต้องของเอกสาร โปรดดูเอกสารประกอบสำหรับโปรแกรมแก้ไข XML ที่คุณเลือก คุณจะต้องมีสคีมา KML เพื่อทำการตรวจสอบ
  • คุณสามารถตรวจสอบได้โดยใช้โปรแกรมตรวจสอบออนไลน์ เช่น FeedValidator.org ซึ่งจะแสดงข้อผิดพลาดที่คุณทำและให้คำแนะนำเกี่ยวกับรูปแบบบางอย่างด้วย
  • เครื่องมือแก้ไขข้อความบางตัวอนุญาตให้คุณตรวจสอบ XML ได้ เช่น คุณสามารถใช้ jEdit เพื่อตรวจสอบความถูกต้องของ KML ได้ ดูบทแนะนำนี้จากทีม Google Earth Outreach
มีวิธีควบคุมสิ่งที่ปรากฏบนหน้าจอไหม เพื่อให้แสดงรายละเอียดมากขึ้นเมื่อผู้ใช้เข้าใกล้พื้นผิวโลก

แท็กภูมิภาคใช้เพื่อควบคุมฟีเจอร์ที่คุณแสดงต่อผู้ใช้ แหล่งข้อมูลที่ดีที่สุดในการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับภูมิภาคคือ

ฉันกำหนดสี/สไตล์ที่แตกต่างกันให้กับเรขาคณิตที่แตกต่างกันในองค์ประกอบ MultiGeometry ได้ไหม

องค์ประกอบ MultiGeometry จะจัดกลุ่มเรขาคณิตไว้ด้วยกันในองค์ประกอบ Placemark เดียวกัน ซึ่งจะช่วยให้รูปทรงใช้รูปแบบเดียวกันและปรากฏเป็นรายการเดียวในรายการ เช่น บานหน้าต่างสถานที่ของฉันใน Google Earth

ตั้งค่าสไตล์ได้ที่ระดับเครื่องหมาย โดยใช้ทั้งองค์ประกอบ styleUrl หรือองค์ประกอบ Style ดังนั้น รูปทรงเรขาคณิตแต่ละรายการในหมุดนั้นจึงมีสไตล์ที่แตกต่างกันไม่ได้

วิธีแก้ปัญหาที่ใช้กันบ่อยคือการสร้างเครื่องหมายแยกต่างหากสำหรับแต่ละเรขาคณิต ซึ่งจะช่วยให้แต่ละเรขาคณิตมีสไตล์ที่แตกต่างกันได้ หากไม่ต้องการให้รายการในลิสต์มีจำนวนมาก ให้วางรายการเหล่านั้นไว้ในโฟลเดอร์ที่มี ListStyle ที่มี listItemType ที่มี checkHideChildren เช่น ใน Google Earth การดำเนินการนี้จะวางหมุดทั้งหมดไว้ในองค์ประกอบโฟลเดอร์เดียวกันในสถานที่ของฉัน และป้องกันไม่ให้ผู้ใช้เปิดเพื่อแสดงองค์ประกอบจำนวนมาก


ฉันจะให้บอลลูนเปิดเมื่อเปิดไฟล์ KML ได้ไหม

ในตอนนี้ KML ยังไม่รองรับความสามารถในการเปิดบอลลูนเมื่อเปิดไฟล์ KML อย่างไรก็ตาม หากใช้จุดยึดฟีเจอร์ คุณจะสร้างลิงก์ในบอลลูนที่จะเปิดไฟล์ KML ที่ 2 หรือบอลลูนอื่นได้

ฉันจะเปิดบอลลูนไว้เมื่อ NetworkLink รีเฟรชได้ไหม

ในตอนนี้ KML ไม่รองรับการรักษาสถานะบอลลูนเมื่อ NetworkLink รีเฟรช

ฉันจะดู KML ที่ผู้ใช้สร้างขึ้นได้ไหม

ในตอนนี้คุณไม่สามารถใช้ NetworkLink เพื่อบันทึก KML ที่ผู้ใช้สร้างใน Google Earth หรือ Maps คุณสามารถใช้ Google Maps JavaScript API เป็นเครื่องมือสร้าง KML และบันทึกข้อมูลนั้นกลับไปยังเซิร์ฟเวอร์ได้ ดูตัวอย่างได้ที่ GeoDataStore

ฉันควบคุมแถบเลื่อนเวลาจาก KML ได้ไหม

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

ฉันจะสร้างการโต้ตอบใน KML ได้อย่างไร ฉันจะใส่แบบฟอร์มลงใน HTML ในบอลลูนคำอธิบาย KML ได้ไหม

ในตอนนี้ KML ใน Google Earth รองรับเฉพาะส่วนย่อยของ HTML ที่อธิบายการนำเสนอ ไม่ใช่การโต้ตอบ

อย่างไรก็ตาม คุณสามารถสร้างแบบฟอร์ม Flash ลงใน KML ที่ใช้ใน Google Earth ได้ โดยฝังแอปพลิเคชัน Flash ลงใน HTML ในบอลลูนคำอธิบาย KML


ฉันจะสร้าง KML จากสเปรดชีตโดยอัตโนมัติได้ไหม

ซึ่งมีวิธีพื้นฐาน 2-3 วิธีดังนี้

  • คุณสามารถดำเนินการด้วยตนเองโดยใช้โปรแกรมโดยใช้แอปพลิเคชันของคุณเองเพื่อแยกวิเคราะห์ไฟล์ CSV และสร้าง KML จากไฟล์ดังกล่าว ดูตัวอย่างได้ที่การแปลงไฟล์ CSV เป็น KML
  • ใช้สเปรดชีตออนไลน์ เช่น ทีม Google Earth Outreach ได้สร้าง Spreadsheet Mapper โดยอิงตาม Google สเปรดชีต
  • ใช้เครื่องมือสร้าง KML จาก Excel อย่างใดอย่างหนึ่ง เช่น [link to tek's thread]เครื่องมือนี้
  • ใช้ Google Earth Plus หรือ Pro เพื่อโหลดไฟล์ แล้วบันทึกเป็นไฟล์ KML หรือ KMZ
ทำไมไฟล์ KML ของฉันจึงดาวน์โหลดจากเว็บเซิร์ฟเวอร์ไม่ถูกต้อง

ต้องบอกเว็บเซิร์ฟเวอร์ว่าไฟล์ที่ให้บริการเป็นไฟล์ประเภทใด เบราว์เซอร์บางตัว เช่น Firefox จะคาดเดาประเภทไฟล์ ส่วนเบราว์เซอร์อื่นๆ เช่น Internet Explorer จะอาศัยการตั้งค่าประเภท MIME ของเว็บเซิร์ฟเวอร์

สำหรับเซิร์ฟเวอร์ Apache คุณจะต้องใส่ 2 บรรทัดนี้ใน httpd.conf

AddType application/vnd.google-earth.kml+xml .kml
AddType application/vnd.google-earth.kmz .kmz

สำหรับ Internet Information Server ของ Microsoft คุณจะต้องทำตามวิธีการต่อไปนี้

IIS เวอร์ชัน 6.0:

http://support.microsoft.com/kb/326965

IIS 4.0 และ 5.0:

http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/iis/maintain/featusability/mimeiis.mspx

หากจัดการเว็บเซิร์ฟเวอร์ด้วยตนเอง คุณต้องเปลี่ยนการกำหนดค่าด้วยตนเอง หรือติดต่อบริการโฮสติ้งเว็บไซต์และขอให้ทำการเปลี่ยนแปลงเหล่านี้


ทำไมเนื้อหาบอลลูนของฉันจึงระบุว่าอาจใช้ URL รูปภาพที่มีรูปแบบไม่ถูกต้อง

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

ดูข้อมูลเพิ่มเติมได้ใน บทความนี้ ซึ่งรวมถึงรายละเอียดเกี่ยวกับวิธี ปรับโครงสร้างเนื้อหา KMZ อย่างเหมาะสม

คอนเทนต์ใดบ้างที่ได้รับผลกระทบจากกฎเส้นทางแบบสัมพัทธ์ใหม่

ปัจจุบันมีเพียงลิงก์ (URL) ภายในเนื้อหาบอลลูนฟีเจอร์เท่านั้นที่ได้รับผลกระทบจากการเปลี่ยนแปลงนี้ ซึ่งรวมถึงแท็ก <description> และ <text> ภายใน <BallonStyles> อย่างไรก็ตาม Google Earth เวอร์ชันในอนาคตอาจ มุ่งเน้นความสอดคล้องมากยิ่งขึ้น ดังนั้นจึงควรหลีกเลี่ยงการใช้ไดเรกทอรีระดับบนสุดเป็น URL ฐาน สำหรับลิงก์ที่เกี่ยวข้องในเนื้อหา KMZ เสมอ


ระบบจะส่ง KML ในสถานที่ของฉันของ Google Earth ไปยังเซิร์ฟเวอร์ของ Google ไหม

ไม่ ระบบจะไม่ส่ง KML ที่สร้างใน Google Earth หรือที่ผู้ใช้โหลดใน Google Earth ไปยัง Google การประมวลผลและการจัดเก็บข้อมูลดังกล่าวทั้งหมดจะดำเนินการในเครื่องภายใน

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