สิ่งที่ควรรู้ก่อนเริ่มต้น

เอกสารนี้อธิบายข้อกำหนดเบื้องต้น แนวทางปฏิบัติแนะนำ และข้อผิดพลาดที่พบบ่อยเมื่อทำงานกับชุดข้อมูล

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Maps Datasets API มีข้อกำหนดต่อไปนี้

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

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

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

  • latitude, longitude
  • lat, long
  • x, y
  • wkt (Well-Known Text)
  • 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 เป็นส่วนหนึ่งของคำจำกัดความออบเจ็กต์ Feature และออบเจ็กต์ Geometry แต่ละรายการ

ข้อผิดพลาดเกี่ยวกับ 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 หากใช้หน่วยที่ไม่ถูกต้อง ระบบอาจนำเข้าชุดข้อมูลได้สำเร็จ แต่ข้อมูลที่แสดงผลอาจแสดงจุดชุดข้อมูลในตำแหน่งที่ไม่คาดคิด