[Places][2026-07-22.0] addresses[].region is null on 92.3% of Türkiye records and inconsistent on the rest
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
Bắt đầu với các truy vấn DuckDB được cung cấp trên 2026-07-22.0 places parquet release và kiểm tra cách addresses[1].region được tạo ra. So sánh các giá trị hiện có với các bản ghi region của division_area và xác định liệu việc chuẩn hóa hoặc việc gán dựa trên tọa độ có thuộc source pipeline hay không. Công việc được xem là hoàn tất khi các giá trị region của Türkiye luôn được xuất dưới dạng TR-xx, bao gồm cả các bản ghi hiện đang thiếu chúng, với các kết quả truy vấn được báo cáo cung cấp phần xác thực.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
For places in Türkiye, addresses[1].region cannot be used to answer "which province is this place in". It is null on 92.3% of records, and where present it mixes plate codes, province names in several casings, the country name and a handful of ISO codes. We ended up assigning province by point-in-polygon against division_area instead, which works, but most consumers will reach for the address field first.
Release and scope
- Release:
2026-07-22.0, themeplaces, typeplace - Filter: bounding box
xmin 25.5..45.0,ymin 35.7..42.3andaddresses[1].country = 'TR' - Records: 1,786,685
Numbers
| Measure | Count | Share |
|---|---|---|
addresses[1].region IS NULL |
1,649,580 | 92.3% |
region in ISO 3166-2 form (TR-xx) |
31 | 0.002% |
region present, any form |
137,105 | 7.7% |
The 25 most frequent non-null values, which show the mix of conventions:
('07', 12244) plate code, Antalya
('06', 11307) plate code, Ankara
('İstanbul', 10649)
('16', 8462) plate code, Bursa
('42', 5476) plate code, Konya
('01', 4558)
('41', 4299)
('09', 4251)
('Ankara', 4129)
('Türkiye', 3852) the country, not a region
('İzmir', 3665)
('20', 3110)
('İSTANBUL', 2822)
('Istanbul', 2657)
('Bursa', 2362)
('Antalya', 2352)
('34', 2142) plate code, İstanbul
('Konya', 1490)
('Muğla', 1214)
('Kocaeli', 1207)
('İZMİR', 917)
('ANKARA', 910)
('Adana', 910)
('Mersin', 880)
('Gaziantep', 758)
So İstanbul alone appears as İstanbul, İSTANBUL, Istanbul and 34, and Antalya as Antalya and 07.
Reproduce
INSTALL httpfs; LOAD httpfs; SET s3_region='us-west-2';
SELECT
count(*) AS total,
count(*) FILTER (WHERE addresses[1].region IS NULL) AS region_null,
count(*) FILTER (WHERE addresses[1].region LIKE 'TR-%') AS region_iso
FROM read_parquet('s3://overturemaps-us-west-2/release/2026-07-22.0/theme=places/type=place/*', hive_partitioning=1)
WHERE bbox.xmin BETWEEN 25.5 AND 45.0 AND bbox.ymin BETWEEN 35.7 AND 42.3
AND addresses[1].country = 'TR';
SELECT addresses[1].region AS region, count(*) c
FROM read_parquet('s3://overturemaps-us-west-2/release/2026-07-22.0/theme=places/type=place/*', hive_partitioning=1)
WHERE bbox.xmin BETWEEN 25.5 AND 45.0 AND bbox.ymin BETWEEN 35.7 AND 42.3
AND addresses[1].country = 'TR' AND addresses[1].region IS NOT NULL
GROUP BY 1 ORDER BY c DESC LIMIT 25;
What would help
The schema documents region as the ISO 3166-2 subdivision code, which for Türkiye maps 1:1 to the two-digit plate code (TR-34 = İstanbul = plate 34). Normalising the values that are already there (plate code or province name in any casing) to TR-xx would recover a usable field for the 7.7%, and if the source pipeline can derive it from coordinates the way consumers have to today, the 92.3% too.
Workaround we use, in case it helps others: division_area with subtype = 'region', country = 'TR' and class = 'land' gives exactly the 81 provinces; a per-province ST_Within loop over a locally materialised extract assigns every record. Notes on that, including why the join has to be done locally rather than against S3, are written up here: https://pinlyx.com/research/turkey-business-digital-report
Related: a second, separate observation about listed versus reachable websites values will follow as its own issue.
- Ngôn ngữ chính
- Python
- Star
- 1.2k
- Fork
- 48
- Merge trung bình
- 10 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OvertureMaps/data
-
external
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
OvertureMaps/data#509 ·
-
Places (FI): ~90 duplicate, misplaced, non-pharmacy or closed features in the pharmacy categoryĐang mởexternal
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 49/100
OvertureMaps/data#585 ·
-
[Places] Closed Feather River hospital identity mixed with active Skyway clinic (Paradise, CA)Đang mởexternal
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 22/100
OvertureMaps/data#583 ·
-
data-sources external
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
OvertureMaps/data#581 ·
-
bug external
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
OvertureMaps/data#580 · 1 bình luận ·
Tất cả issue của OvertureMaps/data
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
AstrBotDevs/AstrBot#10720 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
fix(xiaomi): curated picker list still offers six ids that return 400 (plan-limited vs retired)Đang mởcause/upstream comp/cli P2 provider/other tool/file type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
NousResearch/hermes-agent#143900 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 85/100
WLAN-Pi/wlanpi-profiler#341 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
Maintainer thường phản hồi trong vòng 1 ngày