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

ชุดข้อมูลช่วยให้คุณอัปโหลดข้อมูลเชิงพื้นที่จากไฟล์ในเครื่องหรือจาก 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

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

หลังจากสร้างชุดข้อมูล ให้อัปโหลดข้อมูลไปยังชุดข้อมูลจาก 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
  • ขนาดไฟล์สูงสุดที่รองรับคือ 350 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 สำหรับ iOS รองรับข้อกำหนด GeoJSON ในปัจจุบัน Maps SDK สำหรับ iOS รองรับไฟล์ GeoJSON ที่มีออบเจ็กต์ประเภทต่อไปนี้ด้วย

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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับ GeoJSON ได้ที่เป็นไปตาม RFC 7946

ข้อกำหนดเกี่ยวกับ KML

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

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

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

หลังจากสร้างชุดข้อมูลเรียบร้อยแล้ว สถานะชุดข้อมูลจะแสดงเป็นเสร็จสมบูรณ์ จากนั้นคุณจะ��รวจสอบรายละเอียดของชุดข้อมูลได้

วิธีดูหรือแก้ไขชุดข้อมูล

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

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

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

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

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