สร้างและจัดการชุดข้อมูล

เลือกแพลตฟอร์ม Android iOS JavaScript

ชุดข้อมูลช่วยให้คุณอัปโหลดข้อมูลเชิงพื้นที่จากไฟล์ในเครื่องหรือจาก Google Cloud Storage ไปยัง Google Maps Platform จากนั้นคุณจะเชื่อมโยงชุดข้อมูลกับรูปแบบแผนที่อย่างน้อย 1 รูปแบบได้ใน Cloud Console หลังจากเชื่อมโยงชุดข้อมูลกับรูปแบบแผนที่แล้ว ให้ใช้เมธอด API การจัดรูปแบบโดยอิงตามข้อมูลเพื่อจัดรูปแบบแอปพลิเคชันแผนที่แบบไดนามิก

นอกจากนี้ คุณยังสามารถใช้ REST API เพื่ออัปโหลดข้อมูลเชิงพื้นที่ไปยังชุดข้อมูล สำหรับข้อมูลเพิ่มเติม ดู Maps Datasets API

กำหนดค่าบทบาท

หากต้องการสร้างและจัดการชุดข้อมูลในโปรเจ็กต์ Google Cloud คุณจะต้องเก็บ บทบาท IAM เจ้าของหรือผู้แก้ไข เกี่ยวกับโครงการ

หรือคุณจะมอบหมายบทบาท IAM ต่อไปนี้ให้กับบัญชีผู้ใช้ก็ได้ หรือ บัญชีบริการที่คุณใช้จัดการชุดข้อมูล

  • บทบาท Maps Platform Datasets Admin จะให้สิทธิ์บัญชีผู้ใช้หรือบริการ สิทธิ์การอ่าน/เขียนชุดข้อมูลในโปรเจ็กต์ บทบาทนี้ช่วยให้ผู้ใช้ดำเนินการทุกอย่างได้ ในชุดข้อมูล
  • บทบาท Maps Platform Datasets Viewer ให้สิทธิ์การเข้าถึงระดับอ่านอย่างเดียว ชุดข้อมูลในโปรเจ็กต์ บทบาทนี้ช่วยให้คุณสร้างรายการ รับ หรือดาวน์โหลด การดำเนินการกับชุดข้อมูล

สำหรับข้อมูลเพิ่มเติม โปรดดู มอบบทบาท IAM โดยใช้ Google Cloud Console

แหล่งข้อมูลของชุดข้อมูล

หลังจากที่คุณสร้างชุดข้อมูล ให้อัปโหลดข้อมูลไปยังชุดข้อมูลจาก Google Cloud Storage หรือจากไฟล์ในเครื่อง
  • เมื่ออัปโหลดข้อมูลจาก Cloud Storage ให้ระบุเส้นทางของไฟล์ไปยังทรัพยากรที่มี ข้อมูลใน Cloud Storage เส้นทางนี้อยู่ในรูปแบบ gs://GCS_BUCKET/FILE

    ผู้ใช้ที่ส่งคำขอต้องใช้โปรแกรมดูออบเจ็กต์พื้นที่เก็บข้อมูล หรือบทบาทอื่นๆ ที่มีสิทธิ์storage.objects.get สำหรับ ข้อมูลเพิ่มเติมเกี่ยวกับการจัดการการเข้าถึง Cloud Storage โปรดดู ภาพรวมของการควบคุมการเข้าถึง

  • เมื่ออัปโหลดข้อมูลจากไฟล์ในเครื่อง ให้ระบุเส้นทางไปยังไฟล์ GeoJSON, KML หรือ CSV ที่มีข้อมูลที่จะอัปโหลด

ข้อกำหนดเบื้องต้น

เมื่อสร้างชุดข้อมูลให้ทำดังนี้

  • ชื่อที่แสดงต้องไม่ซ้ำกันภายในโปรเจ็กต์ Google Cloud
  • ชื่อที่แสดงต้องมีขนาดไม่เกิน 64 ไบต์ (เนื่องจากอักขระเหล่านี้แสดงในรูปแบบ UTF-8 ในบางภาษา อักขระแต่ละตัวอาจแสดงด้วยไบต์หลายไบต์)
  • คำอธิบายต้องมีขนาดไม่เกิน 1,000 ไบต์

เมื่ออัปโหลดข้อมูล ให้ทำดังนี้

  • ประเภทไฟล์ที่รองรับ ได้แก่ CSV, GeoJSON และ KML
  • ขนาดไฟล์สูงสุดที่รองรับคือ 500 MB
  • ชื่อคอลัมน์แอตทริบิวต์ต้องไม่ขึ้นต้นด้วยสตริง "?_"
  • ไม่สนับสนุนรูปทรงเรขาคณิตสามมิติ ซึ่งรวมถึง "Z" ซึ่งอยู่ในรูปแบบ WKT และพิกัดระดับความสูงในรูปแบบ GeoJSON

แนวทางปฏิบัติแนะนำในการเตรียมข้อมูล

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

แนวทางปฏิบัติแนะนำในการเตรียมข้อมูลมีดังนี้

  1. ลดคุณสมบัติของฟีเจอร์ เก็บเฉพาะคุณสมบัติของฟีเจอร์เพื่อจัดรูปแบบ แผนที่ของคุณ ตัวอย่างเช่น "id" และ "category" คุณรวมพร็อพเพอร์ตี้เพิ่มเติมสำหรับฟีเจอร์ในไคลเอ็นต์ได้ โดยใช้รูปแบบที่อิงตามข้อมูลในคีย์ตัวระบุที่ไม่ซ้ำกัน ตัวอย่างเช่น โปรดดู ดูข้อมูลแบบเรียลไทม์ด้วยการจัดรูปแบบตามข้อมูล
  2. ใช้ประเภทข้อมูลแบบง่ายสำหรับออบเจ็กต์พร็อพเพอร์ตี้เมื่อเป็นไปได้ เช่น จำนวนเต็ม เพื่อลดขนาดชิ้นส่วนและปรับปรุงประสิทธิภาพของแผนที่
  3. ลดความซับซ้อนของเรขาคณิตที่ซับซ้อนก่อนที่จะอัปโหลดไฟล์ โดยทำได้ใน เครื่องมือทางภูมิศาสตร์ที่คุณเลือก เช่น โอเพนซอร์ส Mapshaper.org หรือใน BigQuery โดยใช้ ST_Simplify บนรูปทรงเรขาคณิตที่ซับซ้อนได้
  4. คลัสเตอร์จุดที่หนาแน่นมากก่อนอัปโหลดไฟล์ โดยทำได้ใน เครื่องมือทางภูมิศาสตร์ที่คุณเลือก เช่น โอเพนซอร์ส ฟังก์ชันคลัสเตอร์ turf.js หรือใน BigQuery โดยใช้ ST_CLUSTERDBSCAN บนรูปทรงเรขาคณิตที่จุดหนาแน่น

ดูคำแนะนำเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติแนะนำเกี่ยวกับชุดข้อมูลใน แสดงภาพข้อมูลด้วยชุดข้อมูลและ BigQuery

ข้อกำหนด GeoJSON

Maps SDK สำหรับ Android สนับสนุน ข้อกำหนด GeoJSON Maps SDK สำหรับ Android ยังสนับสนุนไฟล์ GeoJSON ที่มีอ็อบเจกต์ประเภทต่อไปนี้ด้วย

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

Maps SDK สำหรับ Android ไม่รองรับไฟล์ GeoJSON ที่มีข้อมูลในระบบอ้างอิงพิกัด (CRS) ที่ไม่ใช่ WGS84

ดูข้อมูลเพิ่มเติมเกี่ยวกับ GeoJSON ดู สอดคล้องกับ RFC 7946

ข้อกำหนดของ KML

Maps SDK สำหรับ Android มีข้อกำหนดต่อไปนี้

  • URL ทั้งหมดต้องอยู่ในเครื่อง (หรือต้องสัมพัทธ์) กับไฟล์
  • สนับสนุนเรขาคณิตของจุด เส้น และรูปหลายเหลี่ยม
  • แอตทริบิวต์ข้อมูลทั้งหมดจะถือเป็นสตริง
ระบบไม่รองรับฟีเจอร์ KML ต่อไปนี้
  • ไอคอนหรือ <styleUrl> ที่กำหนดไว้นอกไฟล์
  • ลิงก์เครือข่าย เช่น <NetworkLink>
  • การวางซ้อนภาคพื้นดิน เช่น <GroundOverlay>
  • เรขาคณิต 3 มิติหรือแท็กที่เกี่ยวข้องกับระดับความสูง เช่น <altitudeMode>
  • ข้อมูลจำเพาะของกล้อง เช่น <LookAt>
  • รูปแบบที่กำหนดในไฟล์ KML

ข้อกำหนด CSV

สำหรับไฟล์ CSV ชื่อคอลัมน์ที่รองรับจะแสดงอยู่ด้านล่างตามลำดับความสำคัญ

เช่น ไฟล์มีคอลัมน์ที่ชื่อ x, y และ wkt เนื่องจาก x และ y มีลำดับความสำคัญสูงกว่า ตามที่ระบุโดยลำดับของ ชื่อคอลัมน์ที่รองรับในรายการด้านบน ค่าในคอลัมน์ x และ y และระบบจะไม่สนใจคอลัมน์ wkt

นอกจากนี้

  • ชื่อแต่ละคอลัมน์ต้องอยู่ในคอลัมน์เดียว กล่าวคือ คุณไม่สามารถตั้งชื่อคอลัมน์ xy ที่มีทั้งข้อมูลพิกัด x และ y พิกัด x และ y ต้องอยู่ใน คอลัมน์อื่น
  • ชื่อคอลัมน์ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
  • ลำดับของชื่อคอลัมน์ไม่มีความสำคัญ เช่น หากไฟล์ CSV มี คอลัมน์ lat และ long อาจมีลำดับอย่างไรก็ได้

จัดการข้อผิดพลาดในการอัปโหลดข้อมูล

เมื่ออัปโหลดข้อมูลไปยังชุดข้อมูล คุณอาจพบข้อผิดพลาดที่พบบ่อยตามที่อธิบายไว้ใน

ข้อผิดพลาด GeoJSON

ข้อผิดพลาดทั่วไปของ GeoJSON ได้แก่

  • ไม่มีช่อง type หรือ type ไม่ใช่สตริง อัปโหลดแล้ว ไฟล์ข้อมูล GeoJSON ต้องมีฟิลด์สตริงชื่อ type เป็นส่วนหนึ่งของแต่ละฟิลด์ คำจำกัดความของออบเจ็กต์เด่นและออบเจ็กต์เรขาคณิต

ข้อผิดพลาด KML

ข้อผิดพลาด KML ที่พบบ่อย ได้แก่

  • ไฟล์ข้อมูลต้องไม่มีคุณลักษณะ KML ที่ไม่สนับสนุนตามรายการข้างต้น มิฉะนั้น การนำเข้าข้อมูลอาจล้มเหลว

ข้อผิดพลาด CSV

ข้อผิดพลาด CSV ที่พบบ่อย ได้แก่

  • บางแถวไม่มีค่าสำหรับคอลัมน์เรขาคณิต แถวทั้งหมดในไฟล์ CSV ต้องมี สำหรับคอลัมน์เรขาคณิต คอลัมน์เรขาคณิตประกอบด้วยข้อมูลต่อไปนี้
    • latitude longitude
    • lat long
    • x y
    • wkt
    • address, city, state, zip
    • address
    • คอลัมน์เดียวที่มีข้อมูลที่อยู่ทั้งหมด เช่น 1600 Amphitheatre Parkway Mountain View, CA 94043
  • หาก x และ y คือคอลัมน์เรขาคณิตของคุณ โปรดตรวจสอบว่าหน่วยดังกล่าว ลองจิจูดและละติจูด ชุดข้อมูลสาธารณะบางรายการใช้ระบบพิกัดที่แตกต่างกันภายใต้ส่วนหัว x และ y หากใช้หน่วยที่ไม่ถูกต้อง ชุดข้อมูลอาจนำเข้า สำเร็จ แต่ข้อมูลที่แสดงผลสามารถแสดงจุดชุดข้อมูลในตำแหน่งที่ไม่คาดคิด

สร้างชุดข้อมูล

วิธีสร้างชุดข้อมูลมีดังนี้

  1. ใน Google Cloud Console ให้ไปที่หน้าชุดข้อมูล
  2. คลิกสร้างชุดข้อมูล
  3. ป้อนชื่อชุดข้อมูล ชื่อชุดข้อมูลทั้งหมดต้องไม่ซ้ำกัน
  4. (ไม่บังคับ) ป้อนคำอธิบายชุดข้อมูล
  5. คลิกต่อไป หน้านำเข้าข้อมูลจะปรากฏขึ้น
  6. เลือกแหล่งที่มาของการอัปโหลดของข้อมูลที่ใช้ป้อนข้อมูลชุดข้อมูลเป็น เดสก์ท็อป ซึ่งหมายถึงไฟล์ในเครื่องในระบบ หรือ ที่เก็บข้อมูล Google Cloud Storage
    • สำหรับเดสก์ท็อป ให้คลิกเรียกดูแล้วเลือกไฟล์จาก ตัวเลือกไฟล์
    • สำหรับที่เก็บข้อมูล Google Cloud Storage ให้คลิกเรียกดู แล้วเลือก ที่เก็บข้อมูลและไฟล์ที่มีข้อมูล
  7. เลือกรูปแบบไฟล์
  8. คลิกต่อไปเพื่อตรวจสอบการตั้งค่า
  9. คลิกสร้าง หน้าชุดข้อมูลจะปรากฏขึ้นเพื่อแสดง ชุดข้อมูล สถานะควรเป็นกำลังประมวลผล

    หากอัปโหลดข้อมูลสำเร็จ

    • สถานะของชุดข้อมูลตั้งค่าเป็น COMPLETED
    • ชุดข้อมูลจะกลายเป็น "ใช้งานอยู่" และเป็นเวอร์ชันที่แอปของคุณใช้

    หากมีข้อผิดพลาดในการอัปโหลด ให้ทำดังนี้

    • สถานะของชุดข้อมูลเวอร์ชันใหม่ตั้งค่าเป็นสถานะอื่นที่ไม่ใช่ เสร็จสมบูรณ์

ดูหรือแก้ไขชุดข้อมูล

หลังจากสร้างชุดข้อมูล คุณจะดูหรือแก้ไขชุดข้อมูลได้โดยทำดังนี้

  1. ใน Google Cloud Console ให้ไปที่หน้าชุดข้อมูล
  2. คลิกชื่อชุดข้อมูล หน้ารายละเอียดชุดข้อมูลจะปรากฏขึ้น
    1. คลิกแท็บรายละเอียดเพื่อดูข้อมูลเกี่ยวกับชุดข้อมูล บนแท็บนี้ คุณยังแก้ไขชื่อและคำอธิบายชุดข้อมูลได้ด้วย
    2. คลิกแท็บแสดงตัวอย่างเพื่อดูชุดข้อมูลบนแผนที่ (ชุดข้อมูลที่มี มีสถานะเสร็จสมบูรณ์หรือเปลี่ยนกลับเท่านั้น)
    3. คลิกแท็บข้อมูลตารางเพื่อดูแอตทริบิวต์ทั้งหมดของชุดข้อมูล (ชุดข้อมูล) โดยมีสถานะเสร็จสมบูรณ์หรือเปลี่ยนกลับแล้วเท่านั้น) ซึ่งได้แก่ แอตทริบิวต์ที่คุณสามารถใช้เพื่อจัดรูปแบบชุดข้อมูลบนแผนที่
    4. คลิกปุ่มดาวน์โหลดเพื่อดาวน์โหลดข้อมูลไปยังไฟล์ในเครื่อง
    5. คลิกปุ่มลบเพื่อลบชุดข้อมูล
    6. คลิกปุ่มนำเข้าไฟล์ข้อมูลเพื่ออัปโหลดข้อมูลใหม่ลงในชุดข้อมูล

      การอัปโหลดข้อมูลใหม่ไปยังชุดข้อมูลจะสร้างชุดข้อมูลเวอร์ชันใหม่ หากข้อมูลใหม่ อัปโหลดสำเร็จ:

      • สถานะของชุดข้อมูลเวอร์ชันใหม่มีการตั้งค่าเป็น COMPLETED
      • เวอร์ชันใหม่จะเปลี่ยนเป็น "ใช้งาน" และเป็นเวอร์ชันที่แอปของคุณใช้

      หากมีข้อผิดพลาดในการอัปโหลด ให้ทำดังนี้

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