ค้นหาจำนวนจุดที่น่าสนใจตาม H3

ฟังก์ชัน PLACES_COUNT_PER_H3 จะรวบรวมข้อมูลจุดที่น่าสนใจ (POI) ลงใน เซลล์ตารางกริดเชิงพื้นที่ H3 ที่ได้มาตรฐาน ที่ความละเอียดที่ระบุ ฟังก์ชันนี้เป็นเส้นทางที่แนะนำสำหรับการวิเคราะห์ความหนาแน่นระดับภูมิภาค การทำแผนที่คู่แข่ง และการสร้างฮีตแมป Choropleth รูปหกเหลี่ยม

หากต้องการเรียกฟังก์ชัน PLACES_COUNT_PER_H3 ให้ใช้คําสั่ง FROM ของ SQL เนื่องจากฟังก์ชันจะแสดงผลตาราง

ไวยากรณ์และพารามิเตอร์

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_H3`(
  filters
)

พารามิเตอร์

  • PROJECT_NAME: ชื่อโปรเจ็กต์ Google Cloud หากไม่ระบุชื่อโปรเจ็กต์ การค้นหาจะใช้โปรเจ็กต์ที่ใช้งานอยู่โดยค่าเริ่มต้น
  • LINKED_DATASET_NAME: ชื่อชุดข้อมูลข้อมูลเชิงลึกเกี่ยวกับสถานที่ที่คุณสมัครใช้บริการ (เช่น places_insights___us)
  • filters (JSON): ออบเจ็กต์ JSON ที่สร้างขึ้นโดยใช้ JSON_OBJECT ซึ่งมีพารามิเตอร์ตัวกรองแบบคีย์-ค่า

ตัวกรอง JSON ที่จำเป็น

  • geography (GEOGRAPHY): พื้นที่ค้นหาขอบเขต (จุด เส้น หรือรูปหลายเหลี่ยม) ที่จะจัดทำดัชนี
  • h3_resolution (INTEGER): ระดับความละเอียดของเซลล์ H3 (ค่าที่รองรับอยู่ในช่วง 0 ถึง 11)

ตัวกรอง JSON ที่ไม่บังคับ

  • พารามิเตอร์เพิ่มเติม เช่น types, business_status, price_level และ min_rating เพื่อกรองสถานที่ที่นับภายในแต่ละเซลล์ ดู รายการ พารามิเตอร์ตัวกรองทั้งหมด

สคีมาของตารางเอาต์พุต

ฟังก์ชันจะแสดงผลตาราง BigQuery ที่มี 1 แถวต่อดัชนีเซลล์ H3 ที่ตัดกับรูปทรงเรขาคณิตเป้าหมาย

ชื่อคอลัมน์ ประเภทข้อมูล คำอธิบาย
h3_cell_index STRING ตัวระบุดัชนี H3 ที่ไม่ซ้ำกันสำหรับเซลล์
geography GEOGRAPHY รูปหลายเหลี่ยมที่แสดงขอบเขตทางกายภาพของเซลล์ H3
count INTEGER จำนวนรวมที่แน่นอนของสถานที่ที่เปิดให้บริการที่ตรงกันภายในเซลล์ H3 ที่เฉพาะเจาะจงนี้ หรือ 0 หากไม่มีสถานที่ที่ตรงกัน
sample_place_ids ARRAY<STRING> อาร์เรย์ของรหัสสถานที่สูงสุด 250 รายการที่อยู่ในเซลล์นี้ ซึ่งช่วยให้สามารถค้นหาความจริงภาคพื้นดินได้โดยตรงโดยใช้ Places API

รวบรวมความหนาแน่นของ POI ระดับภูมิภาคโดยใช้ PLACES_COUNT_PER_H3

ฟังก์ชันจะประมวลผลภูมิศาสตร์ขอบเขตที่ระบุในตัวกรอง ระบุรูปหกเหลี่ยม H3 ทั้งหมดที่ตัดกันที่ความละเอียดเป้าหมาย และแสดงผลจำนวนสถานที่ที่แน่นอนและรหัสสถานที่สำหรับรูปหกเหลี่ยมแต่ละรูป

ตัวอย่าง: นับร้านขายของชำและร้านสะดวกซื้อที่รถเข็นเข้าได้ในรัฐนิวยอร์ก

การค้นหานี้จะรวบรวมร้านสะดวกซื้อและร้านขายของชำที่เปิดให้บริการและรถเข็นเข้าได้ในรัฐนิวยอร์กโดยใช้ระดับความละเอียด H3 ที่ 8 ระบบจะค้นหารูปทรงเรขาคณิตขอบเขตของรัฐนิวยอร์กแบบไดนามิกจากชุดข้อมูลสาธารณะ bigquery-public-data.geo_us_boundaries.states

-- Query POI count per H3 cell intersecting the New York State polygon boundary
SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', (
        -- Dynamically retrieve the boundary geography for New York State
        SELECT state_geom
        FROM `bigquery-public-data.geo_us_boundaries.states`
        WHERE state = 'NY'
        LIMIT 1
      ),
      'types', ['grocery_store', 'convenience_store'],
      'business_status', ['OPERATIONAL'],
      'h3_resolution', 8,
      'wheelchair_accessible_entrance', TRUE
  )
)
ORDER BY count DESC;

รูปแบบคำตอบ

การค้นหาจะแสดงตารางแบบแถวต่อแถวที่จับคู่เซลล์กับจำนวนเชิงพื้นที่โดยตรง

ผลลัพธ์ BigQuery สำหรับการค้นหา H3

ตัวอย่าง: นับสถานที่ต่อเซลล์ H3 ที่กรองตามแบรนด์

ตัวอย่างต่อไปนี้ใช้ตัวกรอง brand_ids เพื่อดึงข้อมูล จำนวนสถานที่และรหัสสถานที่ตัวอย่างสำหรับแบรนด์ที่เฉพาะเจาะจง เช่น Starbucks "1413758728321880760" และ Dunkin "1314981297593671295"

DECLARE geo GEOGRAPHY;

-- Get the geography for New York City.
SET geo = (SELECT geometry FROM `bigquery-public-data.overture_maps.division_area`
  WHERE country = 'US' AND subtype = 'locality' AND names.primary = 'New York'  LIMIT 1);

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', geo,
      'h3_resolution', 8,
      'brand_ids', ["1413758728321880760", "1314981297593671295"],
      'business_status', ['OPERATIONAL']
    )
);

แสดงผลลัพธ์ H3 แบบไดนามิกใน Looker Studio

รูปภาพต่อไปนี้แสดงข้อมูลจาก PLACES_COUNT_PER_H3 ที่แสดงใน Looker Studio เป็นแผนที่แบบระบายสี เซลล์ H3 ยิ่งเข้มข้นเท่าใด ผลลัพธ์ก็จะยิ่งเข้มข้นมากขึ้นเท่านั้น

แผนที่แบบแบ่งตามสีสำหรับการกรองร้านสะดวกซื้อและร้านขายของชำที่รองรับเก้าอี้รถเข็นในนิวยอร์ก

วิธีนำเข้าข้อมูลไปยัง Looker Studio

  1. เรียกใช้ฟังก์ชันด้านบนใน BigQuery เพื่อสร้างผลลัพธ์
  2. ในแผงผลลัพธ์ของ BigQuery ให้คลิกเปิดใน -> Looker Studio ระบบจะนำเข้าผลลัพธ์ไปยัง Looker Studio โดยอัตโนมัติ
  3. Looker Studio จะสร้างหน้าแรกของรายงานเริ่มต้นและเริ่มต้นด้วยชื่อ ตาราง และกราฟแท่งของผลลัพธ์

    รายงานเริ่มต้นใน Looker Studio

  4. เลือกทุกอย่างในหน้าแล้วลบออก

  5. คลิกแทรก -> แผนที่แบบระบายสี เพื่อเพิ่มแผนที่แบบระบายสีลงในรายงาน

  6. กำหนดค่าช่องตามที่แสดงด้านล่างในส่วนประเภทแผนภูมิ -> การตั้งค่า

    การตั้งค่าฮีตแมปใน Looker Studio

  7. แผนที่แบบระบายสีจะปรากฏขึ้นตามที่แสดงด้านบน คุณเลือกประเภทแผนภูมิ -> รูปแบบ เพื่อกำหนดค่าลักษณะที่ปรากฏของแผนที่เพิ่มเติมได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแสดงผลลัพธ์ ข้อมูลเชิงลึกเกี่ยวกับสถานที่ เป็นภาพได้ที่ แสดงผลลัพธ์ การค้นหาเป็นภาพ

ตัวอย่าง: ค้นหาจำนวน POI ในอดีตตามเซลล์ H3 ด้วยตัวกรองที่เฉพาะเจาะจง

ตัวอย่างนี้แสดงวิธีค้นหาจำนวน POI ในอดีตทั่วทั้งตารางกริดเชิงพื้นที่ H3 สำหรับเดือนสแนปช็อตที่เฉพาะเจาะจงโดยใช้ตัวกรอง snapshot_date โดยจะกำหนดพื้นที่ค้นหาทางภูมิศาสตร์โดยใช้บัฟเฟอร์รอบๆ สถานที่ และใช้เกณฑ์เพิ่มเติมสำหรับจำนวนหัวชาร์จไฟฟ้าสำหรับรถยนต์ไฟฟ้าโดยใช้ max_ev_charge_connector_count ควบคู่ไปกับ regular_opening_hours ที่เฉพาะเจาะจง

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
    'geography', ST_BUFFER(ST_GEOGPOINT(-74.0060, 40.7128), 5000), -- 5km radius around NYC
    'h3_resolution', 8,
    'business_status', ['OPERATIONAL'],
    'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM)
    'max_ev_charge_connector_count', 3, -- Maximum connector count
    'regular_opening_hours', JSON_OBJECT(
      'monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')]
    )
  )
);