H3 rövid útmutató (Databricks SQL)
Az oldalon található H3 térinformatikai függvények rövid útmutatója a következőket mutatja be:
- Geolokációs adatkészletek betöltése a Unity-katalógusba.
- Szélességi és hosszúsági oszlopok átalakítása H3 cellaoszlopokká.
- Irányítószám-sokszög vagy többpógonyos WKT-oszlopok átalakítása H3 cellaoszlopokká.
- Hogyan kérdezheti le a felvételi és legördülő elemzést a LaGuardia repülőtérről Manhattan pénzügyi negyedére.
- A H3-aggregátumok számának leképezése térképen.
Példa jegyzetfüzetekre és lekérdezésekre
Unity-katalógus adatainak előkészítése
Ebben a jegyzetfüzetben a következőt tesszük:
- Állítsa be a nyilvános taxiadatkészletet a Databricks Fájlrendszerből.
- Állítsa be az NYC Irányítószám adatkészletet.
Unity Catalog-adatok előkészítése
Databricks SQL-lekérdezések a Databricks Runtime 11.3 LTS-sel és újabb verzióval
1. lekérdezés: Ellenőrizze, hogy az alapadatok be vannak-e állítva. Lásd: Jegyzetfüzet.
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. lekérdezés: H3 NYC irányítószám – H3_polyfillash3 alkalmazása feloldáskor12
.
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. lekérdezés: H3 taxiutak – H3_longlatash3 alkalmazása feloldáskor12
.
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. lekérdezés: H3 LGA pickupok – 25M pickupok a LaGuardia -ból (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. lekérdezés: H3 pénzügyi körzeti legördülő listák – 34 M teljes lemorzsolódás a Pénzügyi körzetben
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. lekérdezés: H3 LGA-FD – 827K legördülő lista az FD-ben az LGA csomagfelvételével
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. lekérdezés: LGA-FD irányítószám alapján – FD-legördülő listák száma irányítószám + sávdiagram szerint
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. lekérdezés: LGA-FD H3 szerint – FD-legördülő értékek száma H3 cellával + térképjelölő vizualizációja
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;
Jegyzetfüzetek a Databricks Runtime 11.3 LTS-hez és újabb verziókhoz
Rövid útmutató-Python: H3 NYC Taxi LaGuardia Manhattan
Ugyanaz a rövid útmutatóstruktúra, mint a Databricks SQL-ben, a Notebooks + kepler.gl Spark Python-kötések használatával.
Rövid útmutató-Scala: H3 NYC Taxi LaGuardia Manhattan
Ugyanaz a rövid útmutatóstruktúra, mint a Databricks SQL-ben, a Notebooks + kepler.gl Python-cellákon keresztüli Spark Scala-kötések használatával.
Rövid útmutató-SQL: H3 NYC Taxi LaGuardia Manhattan
Ugyanaz a rövid útmutatóstruktúra, mint a Databricks SQL-ben, a Notebooks + kepler.gl Python-cellákon keresztüli Spark SQL-kötések használatával.