https://github.com/itinance/tinygeo
Provides classes for geographic calculations and related data structures
https://github.com/itinance/tinygeo
Last synced: about 1 year ago
JSON representation
Provides classes for geographic calculations and related data structures
- Host: GitHub
- URL: https://github.com/itinance/tinygeo
- Owner: itinance
- License: apache-2.0
- Created: 2014-09-03T21:31:44.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2015-09-13T08:18:05.000Z (over 10 years ago)
- Last Synced: 2024-10-29T11:29:24.036Z (over 1 year ago)
- Language: PHP
- Size: 156 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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 );
```