PHPackages                             cdburgess/spanish-fork-addresses - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. cdburgess/spanish-fork-addresses

ActiveLibrary

cdburgess/spanish-fork-addresses
================================

Validate addresses against City of Spanish Fork GIS address points

v1.0.0(today)06↑2900%MITPHPPHP ^8.2CI passing

Since Aug 29Pushed todayCompare

[ Source](https://github.com/cdburgess/spanish-fork-addresses)[ Packagist](https://packagist.org/packages/cdburgess/spanish-fork-addresses)[ RSS](/packages/cdburgess-spanish-fork-addresses/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (7)Versions (2)Used By (0)

Spanish Fork Addresses
======================

[](#spanish-fork-addresses)

Validate already-standardized US addresses against City of Spanish Fork GIS address points.

This package does **not** normalize raw input. Use [`cdburgess/addressing-standards`](https://github.com/cdburgess/addressing-standards) first, then pass the `Address` object into the validator.

Installation
------------

[](#installation)

```
composer require cdburgess/spanish-fork-addresses
```

The service provider is auto-discovered by Laravel.

Publish the config (optional):

```
php artisan vendor:publish --tag=spanish-fork-addresses-config
```

Publish a generated SQLite gazetteer (optional, after you have built one):

```
php artisan vendor:publish --tag=spanish-fork-addresses-db
```

Build the gazetteer
-------------------

[](#build-the-gazetteer)

The city shapefile / DBF is not shipped in the repository. From the package root:

```
php bin/import-address-points.php /path/to/AddressPoints.dbf database/spanish-fork-addresses.sqlite
```

In a Laravel app after the package is installed:

```
php artisan spanish-fork:import /path/to/AddressPoints.dbf
```

When Spanish Fork sends a new `AddressPoints.dbf`, rerun the same command. You do not need a code change unless the GIS field names change.

Usage
-----

[](#usage)

```
use Cdburgess\AddressingStandards\Address;
use Cdburgess\SpanishForkAddresses\Contracts\AddressValidator;

$address = Address::normalize([
    'street_line' => '814 westpark drive',
    'city' => 'Spanish Fork',
    'state' => 'UT',
]);

$result = app(AddressValidator::class)->validate($address);

if ($result->matched()) {
    echo $result->address()->deliveryAddressLine();
    // 814 S WEST PARK DR
}
```

Or construct the validator directly in tests / non-Laravel scripts:

```
use Cdburgess\SpanishForkAddresses\SpanishForkValidator;

$validator = new SpanishForkValidator(__DIR__ . '/database/spanish-fork-addresses.sqlite');
$result = $validator->validate($address);
```

What gets matched
-----------------

[](#what-gets-matched)

The validator compares the standardized `Address` to Spanish Fork GIS records using house number plus collapsed street keys.

InputCity-official result`814 westpark drive``814 S WEST PARK DR``814 West Park Dr``814 S WEST PARK DR``814 W PARK DR``814 S WEST PARK DR``80 south 800 east``80 S 800 E``WESTPARK`, `WEST PARK`, and `W PARK` can all resolve to the GIS street `WEST PARK`. Utah grid addresses (`80 S 800 E`) use a predirectional, a numeric street name, and a postdirectional.

The validator will not rewrite an address just because the house number exists on another street. `814 Main St` stays `MAIN` unless a real Main Street record wins.

Validation result
-----------------

[](#validation-result)

MethodDescription`matched()`True when one GIS record is a clear winner`address()`City-official `Address` when matched, otherwise the input`confidence()`0–1 score`source()``spanish_fork_gis``record()`Raw GIS row (lat/lng, `is_built`, `full_address`, …)`alternatives()`Other close GIS rows`message()`Short explanation`toArray()`Full payloadConfig
------

[](#config)

```
// config/spanish-fork-addresses.php
return [
    'database' => database_path('spanish-fork-addresses.sqlite'),
];
```

If that file does not exist, the package falls back to `database/spanish-fork-addresses.sqlite` inside the package.

Testing
-------

[](#testing)

```
./vendor/bin/pest
```

Tests that need the gazetteer skip automatically when the SQLite file has not been generated.

Limits
------

[](#limits)

- Coverage is Spanish Fork, Utah only.
- Spellings follow city GIS, not USPS ZIP+4 / CASS.
- This package does not call the USPS API.
- A missing ZIP does not prevent a GIS match.

License
-------

[](#license)

MIT

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance100

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f32f5f14089d58dfad8448d4b4a71c779a48e060f9978150f0f43bae699cce04?d=identicon)[cdburgess](/maintainers/cdburgess)

---

Top Contributors

[![cdburgess](https://avatars.githubusercontent.com/u/216284?v=4)](https://github.com/cdburgess "cdburgess (3 commits)")

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/cdburgess-spanish-fork-addresses/health.svg)

```
[![Health](https://phpackages.com/badges/cdburgess-spanish-fork-addresses/health.svg)](https://phpackages.com/packages/cdburgess-spanish-fork-addresses)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
