Skip to content

Releases: dvdoug/PHPCoord

v5.0.1

29 Jan 17:51

Choose a tag to compare

Fixed

  • Guard against divide by zero issues when calculating distance between two points

v4.6.1

29 Jan 16:29

Choose a tag to compare

Fixed

  • Guard against divide by zero issues when calculating distance between two points

v5.0.0

12 Nov 14:03

Choose a tag to compare

Added

  • Support for IGN France geocentric translation by grid interpolation. This requires the Europe datapack
  • Support for vertical grid files. These require a relevant datapack

Changed

  • The signatures of all *Point::create*() methods have been changed to put the CRS first. Previously the distance/direction values came first. This is to ensure that all optional parameters are at the end of the signature, addressing a PHP8.1 deprecation.

    Example:

    // in v4
    GeographicPoint::create(
        Angle $latitude,
        Angle $longitude,
        ?Length $height = null,
        Geographic $crs, // was after distance/direction
        ?DateTimeInterface $epoch = null
    ): GeographicPoint
    
    // in v5
    GeographicPoint::create(
        Geographic $crs, // now goes first
        Angle $latitude,
        Angle $longitude,
        ?Length $height = null,
        ?DateTimeInterface $epoch = null
    ): GeographicPoint
    
  • Updates to data for Canada, Norway, UK

  • Some internal simplifications and optimisations

  • Supported PHP versions changed to ^8.0

v4.6.0

22 Oct 21:19

Choose a tag to compare

Changed

  • Updates to data for Papua New Guinea, Ukraine and WGS84
  • Some internal simplifications and optimisations

Fixed

  • Corrected the decoding of sexagesimal DMS degree fractional components

v4.5.0

25 Sep 17:46

Choose a tag to compare

Changed

  • Updates to data for Canada, Costa Rica, France, French Southern Territories, Kyrgistan, Liechtenstein, Poland, Russia, Switzerland, Tonga, UK, USA, Wallis and Futuna
  • Many internal simplifications and optimisations, leading to faster conversions and a corresponding update of the maximum chain depth from 5 to 7

Fixed

  • Some PHP8.1 deprecations

Deprecated

  • Compound::EPSG_RGF93_LAMBERT_93_PLUS_NGF_IGN69_HEIGHT, use Compound::EPSG_RGF93_V1_LAMBERT_93_PLUS_NGF_IGN69_HEIGHT instead
  • Compound::EPSG_RGF93_LAMBERT_93_PLUS_NGF_IGN78_HEIGHT, use Compound::EPSG_RGF93_V1_LAMBERT_93_PLUS_NGF_IGN78_HEIGHT instead
  • Compound::EPSG_RGF93_PLUS_NGF_IGN69_HEIGHT, use Compound::EPSG_RGF93_V2_PLUS_NGF_IGN69_HEIGHT instead
  • Compound::EPSG_RGF93_PLUS_NGF_IGN78_HEIGHT, use Compound::EPSG_RGF93_V2_PLUS_NGF_IGN78_HEIGHT instead
  • Geocentric::EPSG_CHTRF95, use Geocentric::EPSG_CHTRS95 instead
  • Geocentric::EPSG_RGF93, use Geocentric::EPSG_RGF93_V1 instead
  • Geographic2D::EPSG_CHTRF95, use Geographic2D::EPSG_CHTRS95 instead
  • Geographic2D::EPSG_RGF93, use Geographic2D::EPSG_RGF93_V1 instead
  • Geographic2D::EPSG_RGF93_LON_LAT, use Geographic2D::EPSG_RGF93_V1_LON_LAT instead
  • Geographic3D::EPSG_CHTRF95, use Geographic3D::EPSG_CHTRS95 instead
  • Geographic3D::EPSG_RGF93, use Geographic3D::EPSG_RGF93_V1 instead
  • Geographic3D::EPSG_RGF93_LON_LAT, use Geographic3D::EPSG_RGF93_V1_LON_LAT instead
  • Projected::EPSG_RGF93_CC42, use Projected::EPSG_RGF93_V1_CC42 instead
  • Projected::EPSG_RGF93_CC43, use Projected::EPSG_RGF93_V1_CC43 instead
  • Projected::EPSG_RGF93_CC44, use Projected::EPSG_RGF93_V1_CC44 instead
  • Projected::EPSG_RGF93_CC45, use Projected::EPSG_RGF93_V1_CC45 instead
  • Projected::EPSG_RGF93_CC46, use Projected::EPSG_RGF93_V1_CC46 instead
  • Projected::EPSG_RGF93_CC47, use Projected::EPSG_RGF93_V1_CC47 instead
  • Projected::EPSG_RGF93_CC48, use Projected::EPSG_RGF93_V1_CC48 instead
  • Projected::EPSG_RGF93_CC49, use Projected::EPSG_RGF93_V1_CC49 instead
  • Projected::EPSG_RGF93_CC50, use Projected::EPSG_RGF93_V1_CC50 instead
  • Projected::EPSG_RGF93_LAMBERT_93, use Projected::EPSG_RGF93_V1_LAMBERT_93 instead
  • Datum::EPSG_SWISS_TERRESTRIAL_REFERENCE_FRAME_1995, use Datum::EPSG_SWISS_TERRESTRIAL_REFERENCE_SYSTEM_1995 instead
  • Datum::EPSG_RESEAU_GEODESIQUE_FRANCAIS_1993, use Datum::EPSG_RESEAU_GEODESIQUE_FRANCAIS_1993_V1 instead

v4.4.0

24 Jun 06:50

Choose a tag to compare

Added

  • Support for NTv2, OSTN15/OSGM15 and NADCON5 grid files. These require a relevant datapack

Changed

  • Updates to data for Argentina, Belgium, Canada, Costa Rica, Czechia, Greenland, Italy, Russia, UK and USA
  • Performance optimisations
  • Supported PHP versions changed to ^7.4||^8.0

Deprecated

  • Compound::EPSG_BELGE_1972_BELGIAN_LAMBERT_72_PLUS_OSTEND_HEIGHT, use Compound::EPSG_BD72_BELGIAN_LAMBERT_72_PLUS_OSTEND_HEIGHT instead
  • Geographic2D::EPSG_BELGE_1950, use Geographic2D::EPSG_BD50 instead
  • Geographic2D::EPSG_BELGE_1950_BRUSSELS, use Geographic2D::EPSG_BD50_BRUSSELS instead
  • Geographic2D::EPSG_BELGE_1972, use Geographic2D::EPSG_BD72 instead
  • Projected::EPSG_BELGE_1950_BRUSSELS_BELGE_LAMBERT_50, use Projected::EPSG_BD50_BRUSSELS_BELGE_LAMBERT_50 instead
  • Projected::EPSG_BELGE_1972_BELGE_LAMBERT_72, use Projected::EPSG_BD72_BELGE_LAMBERT_72 instead
  • Projected::EPSG_BELGE_1972_BELGIAN_LAMBERT_72, use Projected::EPSG_BD72_BELGIAN_LAMBERT_72 instead
  • Vertical::EPSG_GENOA_HEIGHT, use Vertical::EPSG_GENOA_1942_HEIGHT instead
  • Datum::EPSG_GENOA, use Datum::EPSG_GENOA_1942 instead

v4.3.0

24 Apr 21:28

Choose a tag to compare

Added

Changed

  • Updates to data for Canada

v4.2.0

19 Apr 21:46

Choose a tag to compare

Added

  • More accurate extent data

Fixed

  • Ensure projections still work even when origin points are on the other side of the antimeridian

Changed

  • Updates to data for Australia, Poland, UK and US Gulf of Mexico

Deprecated

  • Compound::EPSG_OSGB_1936_BRITISH_NATIONAL_GRID_PLUS_ODN_HEIGHT, use Compound::EPSG_OSGB36_BRITISH_NATIONAL_GRID_PLUS_ODN_HEIGHT instead
  • Geographic2D::EPSG_OSGB_1936, use Geographic2D::EPSG_OSGB36 instead
  • Projected::EPSG_OSGB_1936_BRITISH_NATIONAL_GRID, use Projected::EPSG_OSGB36_BRITISH_NATIONAL_GRID instead
  • Projected::EPSG_ETRS89_POLAND_CS2000_ZONE_5, use Projected::EPSG_ETRF2000_PL_CS2000_15 instead
  • Projected::EPSG_ETRS89_POLAND_CS2000_ZONE_6, use Projected::EPSG_ETRF2000_PL_CS2000_18 instead
  • Projected::EPSG_ETRS89_POLAND_CS2000_ZONE_7, use Projected::EPSG_ETRF2000_PL_CS2000_21 instead
  • Projected::EPSG_ETRS89_POLAND_CS2000_ZONE_8, use Projected::EPSG_ETRF2000_PL_CS2000_24 instead
  • Projected::EPSG_ETRS89_POLAND_CS92, use Projected::EPSG_ETRF2000_PL_CS92 instead
  • Datum::EPSG_OSGB_1936, use Datum::EPSG_ORDNANCE_SURVEY_OF_GREAT_BRITAIN_1936 instead

v4.1.0

03 Mar 23:08

Choose a tag to compare

Added

  • Added UTMPoint as a better way of handling UTM zones than the EPSG model does it
  • Improved conversion chaining for CompoundPoints

Changed

  • Moved verticalOffsetAndSlope method from CompoundPoint to VerticalPoint. This is technically a breaking change, but since the code is only 2 days old shouldn't affect anyone.

v4.0.1

01 Mar 02:07

Choose a tag to compare

Fixed

  • Documentation issues