PHPackages                             itinance/tinygeo - 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. itinance/tinygeo

ActiveLibrary

itinance/tinygeo
================

v0.2(11y ago)069PHPPHP &gt;=5.4.4

Since Sep 23Pushed 10y ago1 watchersCompare

[ Source](https://github.com/itinance/tinygeo)[ Packagist](https://packagist.org/packages/itinance/tinygeo)[ RSS](/packages/itinance-tinygeo/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

tinygeo
=======

[](#tinygeo)

Provides classes for geographic calculations and related data structures.

Installation using composer:

```
    "repositories": [
        {
            "type": "git",
            "url": "git@github.com:itinance/tinygeo.git"
        }
    ],
    "require": {
        "itinance/tinygeo": "dev-master"
    },

```

Usage examples:

```
$p1 = new GeoPoint("48°07'31.5''", "011°32'23''");
echo $p1->lat . ', ' . $p1->lng;

```

```
$p1 = new GeoPoint(48.346611, 11.578393);
echo $p1->getStringAsDegreeMinuteSecond()

```

```
$d = new GeoDegree(16, 19, 28.29);
$this->assertEquals(16.324525, $d->toDecimals());

```

```
$d = GeoDegree::fromString("48°08'10''");
$this->assertEquals( 48, $d->degrees );
$this->assertEquals( 8, $d->minutes );
$this->assertEquals( 10, $d->seconds);

```

```
$p1 = new GeoPoint(48.135993, 11.539721);
$destination = GeoCalculation::movePointUpwards($p1, 1.200);

```

```
$center = new GeoPoint(48.135993, 11.539721);

$box = GeoCalculation::getBoundingBox($center, 0.7); // 700m
$this->assertEquals( new GeoPoint( 48.1404443, 11.54637187 ),  $box->getNorthEast(), '', 0.001 );
$this->assertEquals( new GeoPoint( 48.1404443, 11.53307013 ),  $box->getNorthWest(), '', 0.001 );
$this->assertEquals( new GeoPoint( 48.13154, 11.53307013 ),  $box->getSouthWest(), '', 0.001 );
$this->assertEquals( new GeoPoint( 48.13154, 11.54637187 ),  $box->getSouthEast(), '', 0.001 );

```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

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

4255d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4bdfaccd9eaf060eef8c7270c5dc5da7a255ee7f7393da0640847074bfcb96c5?d=identicon)[itinance](/maintainers/itinance)

---

Top Contributors

[![itinance](https://avatars.githubusercontent.com/u/1758597?v=4)](https://github.com/itinance "itinance (9 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/itinance-tinygeo/health.svg)

```
[![Health](https://phpackages.com/badges/itinance-tinygeo/health.svg)](https://phpackages.com/packages/itinance-tinygeo)
```

PHPackages © 2026

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