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;
Notesy dla środowiska Databricks Runtime 11.3 LTS i nowszych
Szybki start-Python: H3 NYC Taxi LaGuardia do Manhattanu
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
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
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.