Skip to content

Commit 7cbbaa6

Browse files
committed
join all nypd beat polygons
1 parent 444c7f4 commit 7cbbaa6

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

products/cscl/models/intermediate/adjacent_polygons/int__segment_nypdbeat.sql

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ SELECT
1212
co.globalid,
1313
co.lionkey,
1414
co.segmentid,
15-
left(left_beat.post, 1) AS left_nypd_service_area,
16-
left(right_beat.post, 1) AS right_nypd_service_area
15+
left_beat.sector AS left_nypd_sector,
16+
left_beat.geo_type AS left_beat_geo_type,
17+
CASE WHEN left_beat.geo_type = 'HP' THEN left(left_beat.post, 1) END AS left_nypd_service_area,
18+
right_beat.sector AS right_nypd_sector,
19+
right_beat.geo_type AS right_beat_geo_type,
20+
CASE WHEN right_beat.geo_type = 'HP' THEN left(left_beat.post, 1) END AS right_nypd_service_area
1721
FROM segment_offsets AS co
1822
-- using a cte around reference can confus the postgres compiler to not use index
1923
LEFT JOIN {{ source("recipe_sources", "dcp_cscl_nypdbeat") }} AS left_beat
20-
ON
21-
st_within(co.left_offset_point, left_beat.geom)
22-
AND left_beat.geo_type = 'HP'
24+
ON st_within(co.left_offset_point, left_beat.geom)
2325
LEFT JOIN {{ source("recipe_sources", "dcp_cscl_nypdbeat") }} AS right_beat
24-
ON
25-
st_within(co.right_offset_point, right_beat.geom)
26-
AND right_beat.geo_type = 'HP'
26+
ON st_within(co.right_offset_point, right_beat.geom)
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1+
WITH segments AS (
2+
SELECT * FROM {{ ref('int__segments') }}
3+
),
4+
nypd AS (
5+
SELECT * FROM {{ ref('int__segment_nypdbeat') }}
6+
)
17
SELECT
28
'segment joined to no nypd beat' AS error,
3-
globalid,
4-
source_table,
9+
segments.globalid,
10+
segments.source_table,
511
'segmentid' AS record_id_type,
6-
segmentid AS record_id,
12+
segments.segmentid AS record_id,
713
'' AS message
8-
FROM {{ ref('int__lion') }}
9-
WHERE left_nypd_service_area IS NULL AND right_nypd_service_area IS NULL
14+
FROM segments
15+
INNER JOIN nypd ON segments.lionkey = nypd.lionkey
16+
WHERE nypd.left_nypd_sector IS NULL AND nypd.right_nypd_sector IS NULL

0 commit comments

Comments
 (0)