ชุดข้อมูลช่วยให้คุณอัปโหลดข้อมูลเชิงพื้นที่จากไฟล์ในเครื่องหรือจาก 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 จะจัดอยู่ในหมวดหมู่นี้) ให้ลองลดความซับซ้อนของข้อมูล ก่อนอัปโหลดเพื่อให้ได้ประสิทธิภาพดีที่สุดในแผนที่ภาพ
แนวทางปฏิบัติแนะนำในการเตรียมข้อมูลมีดังนี้
- ลดคุณสมบัติของฟีเจอร์ เก็บเฉพาะคุณสมบัติของฟีเจอร์เพื่อจัดรูปแบบ แผนที่ของคุณ ตัวอย่างเช่น "id" และ "category" คุณรวมพร็อพเพอร์ตี้เพิ่มเติมสำหรับฟีเจอร์ในไคลเอ็นต์ได้ โดยใช้รูปแบบที่อิงตามข้อมูลในคีย์ตัวระบุที่ไม่ซ้ำกัน ตัวอย่างเช่น โปรดดู ดูข้อมูลแบบเรียลไทม์ด้วยการจัดรูปแบบตามข้อมูล
- ใช้ประเภทข้อมูลแบบง่ายสำหรับออบเจ็กต์พร็อพเพอร์ตี้เมื่อเป็นไปได้ เช่น จำนวนเต็ม เพื่อลดขนาดชิ้นส่วนและปรับปรุงประสิทธิภาพของแผนที่
- ลดความซับซ้อนของเรขาคณิตที่ซับซ้อนก่อนที่จะอัปโหลดไฟล์ โดยทำได้ใน เครื่องมือทางภูมิศาสตร์ที่คุณเลือก เช่น โอเพนซอร์ส Mapshaper.org หรือใน BigQuery โดยใช้ ST_Simplify ในรูปทรงเรขาคณิตที่ซับซ้อนได้
- คลัสเตอร์จุดที่หนาแน่นมากก่อนอัปโหลดไฟล์ โดยทำได้ใน เครื่องมือทางภูมิศาสตร์ที่คุณเลือก เช่น โอเพนซอร์ส ฟังก์ชันคลัสเตอร์ turf.js หรือใน BigQuery โดยใช้ ST_CLUSTERDBSCAN บนรูปทรงเรขาคณิตที่จุดหนาแน่น
ดูคำแนะนำเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติแนะนำเกี่ยวกับชุดข้อมูลใน แสดงภาพข้อมูลด้วยชุดข้อมูลและ BigQuery
ข้อกำหนด GeoJSON
Maps JavaScript API สนับสนุน ข้อกำหนด GeoJSON Maps JavaScript API ยังสนับสนุนไฟล์ GeoJSON ที่มีอ็อบเจกต์ประเภทต่อไปนี้ด้วย
- วัตถุเรขาคณิต วัตถุรูปทรงเรขาคณิตเป็นรูปทรงเชิงพื้นที่ ซึ่งอธิบายไว้เป็นสหภาพ ของจุด เส้น และรูปหลายเหลี่ยมพร้อมด้วยรูสำหรับเลือก
- แสดงออบเจ็กต์ ออบเจ็กต์ฟีเจอร์มีเรขาคณิตบวกเพิ่มเติม คู่ชื่อ/ค่า ซึ่งมีความหมายเฉพาะแอปพลิเคชัน
- คอลเล็กชันฟีเจอร์ คอลเล็กชันฟีเจอร์คือชุดของออบเจ็กต์ฟีเจอร์
Maps JavaScript API ไม่รองรับไฟล์ GeoJSON ที่มีข้อมูลในระบบอ้างอิงพิกัด (CRS) ที่ไม่ใช่ WGS84
ดูข้อมูลเพิ่มเติมเกี่ยวกับ GeoJSON ดู สอดคล้องกับ RFC 7946
ข้อกำหนดของ KML
Maps JavaScript API มีข้อกำหนดต่อไปนี้
- URL ทั้งหมดต้องอยู่ในเครื่อง (หรือต้องสัมพัทธ์) กับไฟล์
- สนับสนุนเรขาคณิตของจุด เส้น และรูปหลายเหลี่ยม
- แอตทริบิวต์ข้อมูลทั้งหมดจะถือเป็นสตริง
- ไอคอนหรือ
<styleUrl>
ที่กำหนดไว้นอกไฟล์ - ลิงก์เครือข่าย เช่น
<NetworkLink>
- การวางซ้อนภาคพื้นดิน เช่น
<GroundOverlay>
- เรขาคณิต 3 มิติหรือแท็กที่เกี่ยวข้องกับระดับความสูง เช่น
<altitudeMode>
- ข้อมูลจำเพาะของกล้อง เช่น
<LookAt>
- รูปแบบที่กำหนดในไฟล์ KML
ข้อกำหนด CSV
สำหรับไฟล์ CSV ชื่อคอลัมน์ที่รองรับจะแสดงอยู่ด้านล่างตามลำดับความสำคัญ
latitude
longitude
lat
long
x
y
wkt
(ข้อความที่รู้จักกันดี)address
,city
,state
,zip
address
- คอลัมน์เดียวที่มีข้อมูลที่อยู่ทั้งหมด เช่น
1600 Amphitheatre Parkway Mountain View, CA 94043
เช่น ไฟล์มีคอลัมน์ที่ชื่อ 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
หากใช้หน่วยที่ไม่ถูกต้อง ชุดข้อมูลอาจนำเข้า สำเร็จ แต่ข้อมูลที่แสดงผลสามารถแสดงจุดชุดข้อมูลในตำแหน่งที่ไม่คาดคิด
สร้างชุดข้อมูล
วิธีสร้างชุดข้อมูลมีดังนี้
- ใน Google Cloud Console ให้ไปที่หน้าชุดข้อมูล
- คลิกสร้างชุดข้อมูล
- ป้อนชื่อชุดข้อมูล ชื่อชุดข้อมูลทั้งหมดต้องไม่ซ้ำกัน
- (ไม่บังคับ) ป้อนคำอธิบายชุดข้อมูล
- คลิกต่อไป หน้านำเข้าข้อมูลจะปรากฏขึ้น
- เลือกแหล่งที่มาของการอัปโหลดของข้อมูลที่ใช้ป้อนข้อมูลชุดข้อมูลเป็น
เดสก์ท็อป ซึ่งหมายถึงไฟล์ในเครื่องในระบบ หรือ
ที่เก็บข้อมูล Google Cloud Storage
- สำหรับเดสก์ท็อป ให้คลิกเรียกดูแล้วเลือกไฟล์จาก ตัวเลือกไฟล์
- สำหรับที่เก็บข้อมูล Google Cloud Storage ให้คลิกเรียกดู แล้วเลือก ที่เก็บข้อมูลและไฟล์ที่มีข้อมูล
- เลือกรูปแบบไฟล์
- คลิกต่อไปเพื่อตรวจสอบการตั้งค่า
คลิกสร้าง หน้าชุดข้อมูลจะปรากฏขึ้นเพื่อแสดง ชุดข้อมูล สถานะควรเป็นกำลังประมวลผล
หากอัปโหลดข้อมูลสำเร็จ
- สถานะของชุดข้อมูลตั้งค่าเป็น COMPLETED
- ชุดข้อมูลจะกลายเป็น "ใช้งานอยู่" เวอร์ชัน และคือเวอร์ชันที่แอปของคุณใช้
หากมีข้อผิดพลาดในการอัปโหลด ให้ทำดังนี้
- สถานะของชุดข้อมูลเวอร์ชันใหม่ตั้งค่าเป็นสถานะอื่นที่ไม่ใช่ เสร็จสมบูรณ์
ดูหรือแก้ไขชุดข้อมูล
หลังจากสร้างชุดข้อมูล คุณจะดูหรือแก้ไขชุดข้อมูลได้โดยทำดังนี้
- ใน Google Cloud Console ให้ไปที่หน้าชุดข้อมูล
- คลิกชื่อชุดข้อมูล หน้ารายละเอียดชุดข้อมูลจะปรากฏขึ้น
- คลิกแท็บรายละเอียดเพื่อดูข้อมูลเกี่ยวกับชุดข้อมูล บนแท็บนี้ คุณยังแก้ไขชื่อและคำอธิบายชุดข้อมูลได้ด้วย
- คลิกแท็บแสดงตัวอย่างเพื่อดูชุดข้อมูลบนแผนที่ (ชุดข้อมูลที่มี มีสถานะเสร็จสมบูรณ์หรือเปลี่ยนกลับเท่านั้น)
- คลิกแท็บข้อมูลตารางเพื่อดูแอตทริบิวต์ทั้งหมดของชุดข้อมูล (ชุดข้อมูล) โดยมีสถานะเสร็จสมบูรณ์หรือเปลี่ยนกลับแล้วเท่านั้น) ซึ่งได้แก่ แอตทริบิวต์ที่คุณสามารถใช้เพื่อจัดรูปแบบชุดข้อมูลบนแผนที่
- คลิกปุ่มดาวน์โหลดเพื่อดาวน์โหลดข้อมูลไปยังไฟล์ในเครื่อง
- คลิกปุ่มลบเพื่อลบชุดข้อมูล
คลิกปุ่มนำเข้าไฟล์ข้อมูลเพื่ออัปโหลดข้อมูลใหม่ลงในชุดข้อมูล
การอัปโหลดข้อมูลใหม่ไปยังชุดข้อมูลจะสร้างชุดข้อมูลเวอร์ชันใหม่ หากข้อมูลใหม่ อัปโหลดสำเร็จ:
- สถานะของชุดข้อมูลเวอร์ชันใหม่มีการตั้งค่าเป็น COMPLETED
- เวอร์ชันใหม่จะเปลี่ยนเป็น "ใช้งาน" และเป็นเวอร์ชันที่แอปของคุณใช้
หากมีข้อผิดพลาดในการอัปโหลด ให้ทำดังนี้
- สถานะของชุดข้อมูลเวอร์ชันใหม่ตั้งค่าเป็นสถานะอื่นที่ไม่ใช่ เสร็จสมบูรณ์ เช่น หากมีสถานะ "ใช้งานอยู่" ก่อนหน้านี้ สถานะของชุดข้อมูลตั้งค่าเป็น REVERTED
- ฟิลด์ที่ "ใช้งานอยู่" ก่อนหน้านี้ เวอร์ชันชุดข้อมูลจะยังคงเป็น "ใช้งานอยู่" และเป็น เวอร์ชันที่แอปของคุณใช้