This library offers a collection of various PHP coordinate classes like Coordinate, etc. It converts various coordinate strings and values into a unique format.
useIxnode\PhpCoordinate\Coordinate;$coordinate = newCoordinate(51.0504, 13.7373);
print$coordinate->getLatitudeDMS();
// (string) 51°3′1.44″Nprint$coordinate->getLongitudeDMS();
// (string) 13°44′14.28″E$coordinate = newCoordinate('51°3′1.44″N 13°44′14.28″E');
print$coordinate->getLatitude();
// (float) 51.0504print$coordinate->getLongitude();
// (float) 13.7373$coordinateDresden = newCoordinate('51°3′1.44″N 13°44′14.28″E');
$coordinateCordoba = newCoordinate(-31.425299, -64.201743);
/* Distance between Dresden, Germany and Córdoba, Argentina */print$coordinate->getDistance($coordinateCordoba, Coordinate::RETURN_KILOMETERS);
// (float) 11904.668$coordinateDresden = newCoordinate('51°3′1.44″N 13°44′14.28″E');
$coordinateCordoba = newCoordinate(-31.425299, -64.201743);
/* Direction in degrees from Dresden, Germany to Córdoba, Argentina */print$coordinateDresden->getDegree($coordinateCordoba);
// (float) -136.62°$coordinateDresden = newCoordinate('51°3′1.44″N 13°44′14.28″E');
$coordinateCordoba = newCoordinate(-31.425299, -64.201743);
/* Direction in degrees from Dresden, Germany to Córdoba, Argentina */print$coordinateDresden->getDirection($coordinateCordoba);
// (string) SW| Given value (string) | Latitude (float) | Longitude (float) | Place |
|---|---|---|---|
"51.0504,13.7373" | 51.0504 | 13.7373 | Dresden, Germany |
"51.0504, 13.7373" | 51.0504 | 13.7373 | Dresden, Germany |
"51.0504 13.7373" | 51.0504 | 13.7373 | Dresden, Germany |
"POINT(-31.425299, -64.201743)" | -31.425299 | -64.201743 | Córdoba, Argentina |
"POINT(-31.425299 -64.201743)" | -31.425299 | -64.201743 | Córdoba, Argentina |
$coordinate = newCoordinate('51.0504 13.7373');
print$coordinate->getLatitude();
// (float) 51.0504print$coordinate->getLongitude();
// (float) 13.7373| Given value (string) | Latitude (float) | Longitude (float) | Place |
|---|---|---|---|
"51°3′1.44″N,13°44′14.28″E" | 51.0504 | 13.7373 | Dresden, Germany |
"51°3′1.44″N, 13°44′14.28″E" | 51.0504 | 13.7373 | Dresden, Germany |
"51°3′1.44″N 13°44′14.28″E" | 51.0504 | 13.7373 | Dresden, Germany |
"POINT(31°25′31.0764″S, 64°12′6.2748″W)" | -31.425299 | -64.201743 | Córdoba, Argentina |
"POINT(31°25′31.0764″S 64°12′6.2748″W)" | -31.425299 | -64.201743 | Córdoba, Argentina |
$coordinate = newCoordinate('51°3′1.44″N 13°44′14.28″E');
print$coordinate->getLatitude();
// (float) 51.0504print$coordinate->getLongitude();
// (float) 13.7373| Given value (string) | Latitude (float) | Longitude (float) | Place |
|---|---|---|---|
Copied Google Maps Short Url1) | 54.07304830 | 18.992402 | Malbork, Poland |
Copied Google Maps Link2) | 51.31237 | 12.4132924 | Leipzig, Germany |
$coordinate = newCoordinate('https://maps.app.goo.gl/PHq5axBaDdgRWj4T6');
print$coordinate->getLatitude();
// (float) 54.07304830print$coordinate->getLongitude();
// (float) 18.992402| Method | Type | Parameter(s) | Description | Example |
|---|---|---|---|---|
getLatitude | float | --- | Returns the decimal degree presentation of latitude value. | -31.425299 |
getLongitude | float | --- | Returns the decimal degree presentation of longitude value. | -64.201743 |
getLatitudeDD | float | --- | Alias of getLatitude. | -31.425299 |
getLongitudeDD | float | --- | Alias of getLongitude. | -64.201743 |
getLatitudeDMS | string | --- | Returns the dms representation of the latitude value. | "31°25′31.0764″S" |
getLongitudeDMS | string | --- | Returns the dms representation of the longitude value. | "64°12′6.2748″W" |
getLatitudeDMS | string | CoordinateValue::FORMAT_DMS_SHORT_2 | Returns the dms representation of the latitude value (v2). | "S31°25′31.0764″" |
getLongitudeDMS | string | CoordinateValue::FORMAT_DMS_SHORT_2 | Returns the dms representation of the longitude value (v2). | "W64°12′6.2748″" |
getDistance | float | new Coordinate(), meters (default) or kilometers | Returns the distance to given second Coordinate instance. | 11904.668 |
getDegree | float | new Coordinate() | Returns the direction (degree) to given second Coordinate instance (0° - North, 90° - East, etc.). | -136.62 |
getDirection | string | new Coordinate() | Returns the cardinal direction to given second Coordinate instance (N, NE, E, SE, S, SW, W, NW). | "SW" |
getLinkGoogle | string | false (default - as decimal) or true (as DMS) | Returns the link to Google. | |
getLinkOpenStreetMap | string | --- | Returns the link to OpenStreetMap. | OpenStreetMap |
$coordinate = newCoordinate('-31.425299, -64.201743');
print$coordinate->getLatitudeDMS();
// (string) "31°25′31.0764″S"print$coordinate->getLongitudeDMS();
// (string) "64°12′6.2748″W"composer require ixnode/php-coordinatevendor/bin/php-coordinate -Vphp-coordinate 0.1.0 (03-07-2023 01:17:26) - Björn Hempel <bjoern@hempel.li>Used to quickly check two given coordinates.
Check Dresden, Germany and New York, United States:
bin/console pc "51°3′1.44″N, 13°44′14.28″E""40.712784, -74.005941"or within your composer project:
vendor/bin/php-coordinate pc "51°3′1.44″N, 13°44′14.28″E""40.712784, -74.005941"Source coordinate (51°3′1.44″N, 13°44′14.28″E):
+---------+------------------+--------------------+
| Value | Latitude | Longitude |
+---------+------------------+--------------------+
| Decimal | 51.0504 | 13.7373 || DMS | 51°3′1.44″N | 13°44′14.28″E |
+---------+------------------+--------------------+
Target coordinate (40.712784, -74.005941):
+---------+----------------------+---------------------+
| Value | Latitude | Longitude |
+---------+----------------------+---------------------+
| Decimal | 40.712784 | -74.005941 || DMS | 40°42′46.0224″N | 74°0′21.3876″W |
+---------+----------------------+---------------------+
Distance:
+-----------+-------------+
| Key | Value |
+-----------+-------------+
| Distance | 6478.472 km || Degree | -96.720° || Direction | W |
+-----------+-------------+
+--------------------------------------------------------------------------------+
| World map |
+--------------------------------------------------------------------------------+
||| ▄▄▄▄▀▄▄▄▄▄▄▄▄▄▄ || ▄▄ ▄▄▄▄▄▄▄▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▄▄▄▀▀▀▀▀▄▄▄▄▄▄▄▄▄▄ || ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ ▀▀ || ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ || ▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▄▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀▀▀▄▄ ▀ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▄▄▀▀▄▄▄ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀ ▀▀▀▀ || ▀▀▀▀▀▀▀▀▀▄ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▄ ▄▀▀ || ▀▀▀▀▀▀▀▀▀▀▀▄▄▄ ▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▄▄▄▄ || ▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀ ▀ ▀▀▀▀▄|| ▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▄▀▀ ▄▀▀▀▀▀▀ || ▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀ ▀▀ ▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀▀▀▀ ▀▀▀▀▀▀ ▀ ▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀▀▀ ▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀ || ▀▀▀▀ ▀ || ▀▀▀ |
+--------------------------------------------------------------------------------+
+------------------------------------+ +---------------------------------------+
| Cardinal direction || Longitude / Langitude |
+------------------------------------| +---------------------------------------|||| lat || 0° |||||| 90° ⯅ || ___ ||||| -45° ─── 45° ||||| // N \\||| • Oslo (59.91°, 10.75°) || NW NE ||| • London (51.51°, -0.13°) ||||| • New York (40.71°, -74.01°) || -90° || W --+-- E || 90° ||||||||||| SW SE |||||\\ S // ||| • Null Island (0°, 0°) || -135° ─── 135° || ⯇-------+-------------------⯈ lon || ‾‾‾ || -180° | 180° ||||||| 180° ||| • Cape Agulhas |||| -90° ⯆ (-34.82°, 20.02°) |
+------------------------------------+ +---------------------------------------+
git clone git@github.com:ixnode/php-coordinate.git &&cd php-coordinatecomposer installcomposer testThis library is licensed under the MIT License - see the LICENSE file for details.
