مشاركة عبر


H3 Quickstart (Databricks SQL)

يوضح التشغيل السريع للوظائف الجغرافية المكانية H3 في هذه الصفحة ما يلي:

  • كيفية تحميل مجموعة (مجموعات) بيانات الموقع الجغرافي في كتالوج Unity.
  • كيفية تحويل أعمدة خط الطول والعرض إلى أعمدة خلية H3.
  • كيفية تحويل مضلع الرمز البريدي أو أعمدة WKT متعددة المسافات إلى أعمدة خلية H3.
  • كيفية الاستعلام عن تحليل الاستلام والإفلات من مطار لاغوارديا إلى منطقة مانهاتن المالية.
  • كيفية عرض عدد التجميعات H3 على الخريطة.

أمثلة على دفاتر الملاحظات والاستعلامات

إعداد بيانات كتالوج Unity

في دفتر الملاحظات هذا:

  • إعداد مجموعة بيانات سيارات الأجرة العامة من Databricks Filesystem.
  • إعداد مجموعة بيانات الرمز البريدي في مدينة نيويورك.

إعداد بيانات كتالوج Unity

الحصول على دفتر الملاحظات

استعلامات Databricks SQL مع Databricks Runtime 11.3 LTS وما فوق

الاستعلام 1: تحقق من إعداد البيانات الأساسية. راجع دفتر الملاحظات.

use catalog geospatial_docs;
use database nyc_taxi;
show tables;
-- Verify initial data is setup (see instructions in setup notebook)
-- select format_number(count(*),0) as count from yellow_trip;
-- select * from nyc_zipcode;

الاستعلام 2: H3 NYC Zip Code - تطبيق h3_polyfillash3 بدقة 12.

use catalog geospatial_docs;
use database nyc_taxi;
-- drop table if exists nyc_zipcode_h3_12;
create table if not exists nyc_zipcode_h3_12 as (
  select
    explode(h3_polyfillash3(geom_wkt, 12)) as cell,
    zipcode,
    po_name,
    county
  from
    nyc_zipcode
);
-- optional: zorder by `cell`
optimize nyc_zipcode_h3_12 zorder by (cell);
select
  *
from
  nyc_zipcode_h3_12;

الاستعلام 3: رحلات سيارات الأجرة H3 - تطبيق h3_longlatash3 بدقة 12.

use catalog geospatial_docs;
use database nyc_taxi;
-- drop table if exists yellow_trip_h3_12;
create table if not exists yellow_trip_h3_12 as (
  select
    h3_longlatash3(pickup_longitude, pickup_latitude, 12) as pickup_cell,
    h3_longlatash3(dropoff_longitude, dropoff_latitude, 12) as dropoff_cell,
    *
  except
    (
      rate_code_id,
      store_and_fwd_flag
    )
  from
    yellow_trip
);
-- optional: zorder by `pickup_cell`
-- optimize yellow_trip_h3_12 zorder by (pickup_cell);
select
  *
from
  yellow_trip_h3_12
 where pickup_cell is not null;

الاستعلام 4: H3 LGA Pickups - 25M pickups من LaGuardia (LGA)

use catalog geospatial_docs;
use database nyc_taxi;
create
or replace view lga_pickup_h3_12 as (
  select
    t.*
  except(cell),
    s.*
  from
    yellow_trip_h3_12 as s
    inner join nyc_zipcode_h3_12 as t on s.pickup_cell = t.cell
  where
    t.zipcode = '11371'
);
select
  format_number(count(*), 0) as count
from
  lga_pickup_h3_12;
-- select
  --   *
  -- from
  --   lga_pickup_h3_12;

الاستعلام 5: H3 القوائم المنسدلة للمقاطعة المالية - إجمالي انخفاضات 34M في المنطقة المالية

use catalog geospatial_docs;
use database nyc_taxi;
create
or replace view fd_dropoff_h3_12 as (
  select
    t.*
  except(cell),
    s.*
  from
    yellow_trip_h3_12 as s
    inner join nyc_zipcode_h3_12 as t on s.dropoff_cell = t.cell
  where
    t.zipcode in ('10004', '10005', '10006', '10007', '10038')
);
select
  format_number(count(*), 0) as count
from
  fd_dropoff_h3_12;
-- select * from fd_dropoff_h3_12;

الاستعلام 6: H3 LGA-FD - 827K يسقط في FD مع الاستلام من LGA

use catalog geospatial_docs;
use database nyc_taxi;
create
or replace view lga_fd_dropoff_h3_12 as (
  select
    *
  from
    fd_dropoff_h3_12
  where
    pickup_cell in (
      select
        distinct pickup_cell
      from
        lga_pickup_h3_12
    )
);
select
  format_number(count(*), 0) as count
from
  lga_fd_dropoff_h3_12;
-- select * from lga_fd_dropoff_h3_12;

الاستعلام 7: LGA-FD بواسطة الرمز البريدي - عدد إسقاطات FD بواسطة الرمز البريدي + المخطط الشريطي

use catalog geospatial_docs;
use database nyc_taxi;
select
  zipcode,
  count(*) as count
from
  lga_fd_dropoff_h3_12
group by
  zipcode
order by
  zipcode;

الاستعلام 8: LGA-FD بواسطة H3 - عدد إسقاطات FD بواسطة مرئيات خلية H3 + علامة الخريطة

use catalog geospatial_docs;
use database nyc_taxi;
select
  zipcode,
  dropoff_cell,
  h3_centerasgeojson(dropoff_cell) :coordinates [0] as dropoff_centroid_x,
  h3_centerasgeojson(dropoff_cell) :coordinates [1] as dropoff_centroid_y,
  format_number(count(*), 0) as count_disp,
  count(*) as `count`
from
  lga_fd_dropoff_h3_12
group by
  zipcode,
  dropoff_cell
order by
  zipcode,
  `count` DESC;

LGA-FD H3 Counts 1

LGA-FD H3 Counts 2

دفاتر الملاحظات لوقت تشغيل Databricks 11.3 LTS وما فوق

Quickstart-Python: H3 NYC Taxi LaGuardia to مانهاتن

الحصول على دفتر الملاحظات

نفس بنية التشغيل السريع كما هو الحال في Databricks SQL، باستخدام روابط Spark Python داخل Notebooks + kepler.gl.

Quickstart-Scala: H3 NYC Taxi LaGuardia to مانهاتن

الحصول على دفتر الملاحظات

نفس بنية التشغيل السريع كما هو الحال في Databricks SQL، باستخدام روابط Spark Scala داخل دفاتر الملاحظات + kepler.gl عبر خلايا Python.

التشغيل السريع-SQL: H3 NYC Taxi LaGuardia إلى مانهاتن

الحصول على دفتر الملاحظات

نفس بنية التشغيل السريع كما هو الحال في Databricks SQL، باستخدام روابط Spark SQL داخل دفاتر الملاحظات + kepler.gl عبر خلايا Python.