Skip placeholder-coordinate postcodes (lat >= 90) in ONSPD import
ONS marks non-geographic postcodes (no grid reference) with a placeholder latitude of 99.999999. The "Latest Centroids" export shipped ~12,789 such rows, which were imported as real postcodes pointing at lat 99.99 and would poison nearest-station distance maths. Drop them at ingest, with a test. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -63,6 +63,21 @@ CSV;
|
||||
->and(Postcode::find('BT11AA'))->toBeNull();
|
||||
});
|
||||
|
||||
it('skips postcodes with placeholder coordinates (no grid reference)', function (): void {
|
||||
$csv = <<<'CSV'
|
||||
pcd,pcds,doterm,lat,long
|
||||
"SW1A1AA","SW1A 1AA","",51.501009,-0.141588
|
||||
"GIR0AA","GIR 0AA","",99.999999,0.000000
|
||||
CSV;
|
||||
|
||||
$path = writeOnspdFixture($csv);
|
||||
|
||||
$this->artisan('postcodes:import', ['--file' => $path])->assertSuccessful();
|
||||
|
||||
expect(Postcode::count())->toBe(1)
|
||||
->and(Postcode::find('GIR0AA'))->toBeNull();
|
||||
});
|
||||
|
||||
it('accepts ArcGIS ONSPD exports that use PCD7 instead of PCD', function (): void {
|
||||
$csv = <<<'CSV'
|
||||
OBJECTID,PCD7,PCD8,PCDS,DOTERM,LAT,LONG,x,y
|
||||
|
||||
Reference in New Issue
Block a user