Udostępnij za pośrednictwem


Przewodnik Szybki start H3 (Databricks SQL)

Przewodnik Szybki start dotyczący funkcji geoprzestrzennych H3 na tej stronie ilustruje następujące kwestie:

  • Jak załadować zestawy danych geolokalizacji do środowiska Unity Catalog.
  • Jak konwertować współrzędne szerokości i długości geograficznej columns na komórkę H3 columns.
  • Jak przekonwertować wielokąt lub wielopolygon WKT kodu pocztowego columns na komórkę H3 columns.
  • Jak wykonywać zapytania dotyczące analizy odbioru i dropoff z lotniska LaGuardia do Dzielnicy Finansowej Manhattanu.
  • Jak renderować liczbę agregacji H3 na mapie.

Przykładowe notesy i zapytania

Przygotuj dane Catalog Unity

W tym notesie:

  • Set załadować publiczny zestaw danych taksówek z systemu plików Databricks.
  • Set tworzy zestaw danych kodu pocztowego w Nowym Jorku.

Przygotowanie danych Catalog Unity

notesu

Zapytania SQL usługi Databricks za pomocą środowiska Databricks Runtime 11.3 LTS lub nowszego

Zapytanie 1. Sprawdź, czy podstawowe dane zostały skonfigurowane. Zobacz Notes.

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;

Zapytanie 2: Kod pocztowy H3 NYC — zastosuj h3_polyfillash3 w rozdzielczości 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;

Zapytanie 3: H3 Taksówki — zastosuj h3_longlatash3 w rozdzielczości 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;

Zapytanie 4: H3 PICKUPy LGA - 25M pickupy z 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;

Zapytanie 5: H3 Financial District Dropoffs - 34M total drop offs in Financial District

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;

Zapytanie 6: H3 LGA-FD - 827K spadki w FD z odbiorem z 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;

Zapytanie 7: LGA-FD według kodu pocztowego — policz listy rozwijane FD według kodu pocztowego i wykresu słupkowego

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;

Zapytanie 8: LGA-FD według H3 — liczba list rozwijanych FD według komórki H3 + wizualizacja znacznika mapy

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;

Liczba H3 LGA-FD 1

LICZBA H3 LGA-FD 2

Notesy dla środowiska Databricks Runtime 11.3 LTS i nowszych

Szybki start-Python: H3 NYC Taxi LaGuardia do Manhattanu

Get notatnik

Taka sama struktura szybkiego startu jak w usłudze Databricks SQL przy użyciu powiązań języka Python platformy Spark w notesach i kepler.gl.

Szybki start-Scala: H3 NYC Taxi LaGuardia do Manhattanu

Get notatnik

Taka sama struktura przewodnika Szybki start jak w usłudze Databricks SQL przy użyciu powiązań języka Spark Scala w notesach i kepler.gl za pośrednictwem komórek języka Python.

Szybki start-SQL: H3 NYC Taxi LaGuardia na Manhattan

Get notatnik

Taka sama struktura szybkiego startu jak w usłudze Databricks SQL przy użyciu powiązań Spark SQL w notesach i kepler.gl za pośrednictwem komórek języka Python.