Skip to content

feat(postcodes/GR): bulk-import 1,250 Greece postcodes via ELTA (#1039)#1451

Merged
dr5hn merged 2 commits into
masterfrom
feat/postcodes-greece
Apr 27, 2026
Merged

feat(postcodes/GR): bulk-import 1,250 Greece postcodes via ELTA (#1039)#1451
dr5hn merged 2 commits into
masterfrom
feat/postcodes-greece

Conversation

@dr5hn
Copy link
Copy Markdown
Owner

@dr5hn dr5hn commented Apr 27, 2026

Summary

Adds 1,250 Greece postcodes covering the full Hellenic Post (ELTA)
territory list, sourced from the MentatInnovations/grpostcodes
mirror. Each row carries the Greek territory name and approximate
centroid coordinates (lat/lng).

  • Coverage: country-only by design.
  • Format: 5-digit codes; locality_name in Greek script.

Why country-only

Greek postcode prefixes do not map cleanly to the 13 peripheries
(Region) or the 7 decentralised administrations represented in
states.json — the Athens metro alone spans dozens of substates.
Matches the SE/SI/ZA precedent already merged in this repo.

Source & licence

Validation

  • python3 -m py_compile clean.
  • 100% of 1,250 codes match country.postal_code_regex (^(\d{5})$).
  • Centroids fall inside ±90 / ±180 sanity bounds.
  • No auto-managed fields (id, created_at, updated_at, flag).

Test plan

  • Importer compiles and runs on a clean checkout.
  • Cross-reference validator passes (regex + country FK).
  • Idempotent merge verified.
  • CI pipeline green.

Refs #1039.

🤖 Generated with Claude Code

Source: Hellenic Post (ELTA) territory map redistributed via the
MentatInnovations/grpostcodes mirror. Each row carries the Greek
territory name and approximate centroid coordinates (lat/lng).
Ships country-only by design — Greek postcode prefixes do not align
cleanly with the 13 peripheries / 7 decentralised administrations
(matches the SE/SI/ZA precedent).

Refs #1039.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 27, 2026 12:58
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Apr 27, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 27, 2026

CSC Validation Report

PR Format

  • ✅ Description provided
  • ✅ Data source linked
  • ✅ Issue linked (recommended for data changes)
  • ✅ Justification / context provided

Labels applied: data:postcodes, large-contribution

⚠️ Large Contribution

This PR contains 1250 records. Large contributions require manual review.

Schema Validation (1250 records)

✅ All records passed validation

Cross-Reference Validation

✅ 1250 reference(s) verified

Geo-Bounds Check

✅ All 1246 coordinate(s) within expected country bounds

Source URL Verification

✅ 2 source URL(s) accessible


All checks passed | Status: Ready for review

The MentatInnovations source ran every locality through Google Maps
and stored whatever Google returned. Four rows came back with
non-Greek coordinates:

- 10556 (Athens, Plateia Mitropoleos): geocoded to Cyprus (34.92, 33.62)
- 20000 (Kentrika Ath): geocoded to null island (0, 0)
- 90002 / 90003 (INTERCITY placeholders): geocoded to Washington
  state, US (47.91, -122.24)

Setting lat/lng to null on these rows preserves the postcode and
locality_name without misleading downstream consumers about position.
A future PR can backfill with a Greek-bbox-validated source.
@dr5hn dr5hn merged commit 27aeb48 into master Apr 27, 2026
1 check passed
@dr5hn dr5hn deleted the feat/postcodes-greece branch April 27, 2026 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data:postcodes enhancement New feature or request large-contribution ready-for-review size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants