Geographic points
3D <=> 2D conversion
$point = GeographicPoint::create(...);
$newPoint = $point->threeDToTwoD(
Geographic $to
); // returns a new GeographicPoint
Abridged Molodensky
$point = GeographicPoint::create(...);
$newPoint = $point->abridgedMolodensky(
Geographic $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Length $differenceInSemiMajorAxis,
Scale $differenceInFlattening
); // returns a new GeographicPoint
Albers Equal Area
$point = GeographicPoint::create(...);
$newPoint = $point->albersEqualArea(
Projected $to,
Angle $latitudeOfFalseOrigin,
Angle $longitudeOfFalseOrigin,
Angle $latitudeOf1stStandardParallel,
Angle $latitudeOf2ndStandardParallel,
Length $eastingAtFalseOrigin,
Length $northingAtFalseOrigin
); // returns a new ProjectedPoint
American Polyconic
$point = GeographicPoint::create(...);
$newPoint = $point->americanPolyconic(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Bonne
$point = GeographicPoint::create(...);
$newPoint = $point->bonne(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Bonne (south orientated)
$point = GeographicPoint::create(...);
$newPoint = $point->bonneSouthOrientated(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Cassini-Soldner
$point = GeographicPoint::create(...);
$newPoint = $point->cassiniSoldner(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Colombia Urban
$point = GeographicPoint::create(...);
$newPoint = $point->columbiaUrban(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing,
Length $projectionPlaneOriginHeight
); // returns a new ProjectedPoint
Coordinate Frame rotation
$point = GeographicPoint::create(...);
$newPoint = $point->coordinateFrameRotation(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference
); // returns a new GeographicPoint
Equal Earth
$point = GeographicPoint::create(...);
$newPoint = $point->equalEarth(
Projected $to,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Equidistant Cylindrical
$point = GeographicPoint::create(...);
$newPoint = $point->equidistantCylindrical(
Projected $to,
Angle $latitudeOf1stStandardParallel,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
General polynomial
$point = GeographicPoint::create(...);
$newPoint = $point->generalPolynomial(
Geographic $to,
Angle $ordinate1OfEvaluationPointInSourceCRS,
Angle $ordinate2OfEvaluationPointInSourceCRS,
Angle $ordinate1OfEvaluationPointInTargetCRS,
Angle $ordinate2OfEvaluationPointInTargetCRS,
Scale $scalingFactorForSourceCRSCoordDifferences,
Scale $scalingFactorForTargetCRSCoordDifferences,
Scale $A0,
Scale $B0,
array $powerCoefficients
); // returns a new GeographicPoint
Geocentric translation
$point = GeographicPoint::create(...);
$newPoint = $point->geocentricTranslation(
Geographic $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation
); // returns a new GeographicPoint
Geographic <=> geocentric conversion
$point = GeographicPoint::create(...);
$newPoint = $point->geographicGeocentric(
Geocentric $to
); // returns a new GeocentricPoint
Geographic2D offsets
$point = GeographicPoint::create(...);
$newPoint = $point->geographic2DOffsets(
Geographic $to,
Angle $latitudeOffset,
Angle $longitudeOffset
); // returns a new GeographicPoint
Geographic2D with Height Offsets
$point = GeographicPoint::create(...);
$newPoint = $point->geographic2DWithHeightOffsets(
Compound $to,
Angle $latitudeOffset,
Angle $longitudeOffset,
Length $geoidUndulation
); // returns a new CompoundPoint
Guam Projection
$point = GeographicPoint::create(...);
$newPoint = $point->guamProjection(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Hotine Oblique Mercator (variant A)
$point = GeographicPoint::create(...);
$newPoint = $point->obliqueMercatorHotineVariantA(
Projected $to,
Angle $latitudeOfProjectionCentre,
Angle $longitudeOfProjectionCentre,
Angle $azimuthOfInitialLine,
Angle $angleFromRectifiedToSkewGrid,
Scale $scaleFactorOnInitialLine,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Hotine Oblique Mercator (variant B)
$point = GeographicPoint::create(...);
$newPoint = $point->obliqueMercatorHotineVariantB(
Projected $to,
Angle $latitudeOfProjectionCentre,
Angle $longitudeOfProjectionCentre,
Angle $azimuthOfInitialLine,
Angle $angleFromRectifiedToSkewGrid,
Scale $scaleFactorOnInitialLine,
Length $eastingAtProjectionCentre,
Length $northingAtProjectionCentre
); // returns a new ProjectedPoint
Hyperbolic Cassini-Soldner
$point = GeographicPoint::create(...);
$newPoint = $point->hyperbolicCassiniSoldner(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Krovak
$point = GeographicPoint::create(...);
$newPoint = $point->krovak(
Projected $to,
Angle $latitudeOfProjectionCentre,
Angle $longitudeOfOrigin,
Angle $coLatitudeOfConeAxis,
Angle $latitudeOfPseudoStandardParallel,
Scale $scaleFactorOnPseudoStandardParallel,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Krovak Modified
$point = GeographicPoint::create(...);
$newPoint = $point->krovakModified(
Projected $to,
Angle $latitudeOfProjectionCentre,
Angle $longitudeOfOrigin,
Angle $coLatitudeOfConeAxis,
Angle $latitudeOfPseudoStandardParallel,
Scale $scaleFactorOnPseudoStandardParallel,
Length $falseEasting,
Length $falseNorthing,
Length $ordinate1OfEvaluationPoint,
Length $ordinate2OfEvaluationPoint,
Coefficient $C1,
Coefficient $C2,
Coefficient $C3,
Coefficient $C4,
Coefficient $C5,
Coefficient $C6,
Coefficient $C7,
Coefficient $C8,
Coefficient $C9,
Coefficient $C10
); // returns a new ProjectedPoint
Laborde Oblique Mercator
$point = GeographicPoint::create(...);
$newPoint = $point->obliqueMercatorLaborde(
Projected $to,
Angle $latitudeOfProjectionCentre,
Angle $longitudeOfProjectionCentre,
Angle $azimuthOfInitialLine,
Scale $scaleFactorOnInitialLine,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Lambert Azimuthal Equal Area (ellipsoidal)
$point = GeographicPoint::create(...);
$newPoint = $point->lambertAzimuthalEqualArea(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Lambert Azimuthal Equal Area (spherical)
$point = GeographicPoint::create(...);
$newPoint = $point->lambertAzimuthalEqualAreaSpherical(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Lambert Conic Conformal (1SP)
$point = GeographicPoint::create(...);
$newPoint = $point->lambertConicConformal1SP(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Lambert Conic Conformal (1SP) variant B
$point = GeographicPoint::create(...);
$newPoint = $point->lambertConicConformal1SPVariantB(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Angle $latitudeOfFalseOrigin,
Angle $longitudeOfFalseOrigin,
Length $eastingAtFalseOrigin,
Length $northingAtFalseOrigin
); // returns a new ProjectedPoint
Lambert Conic Conformal (west orientated)
$point = GeographicPoint::create(...);
$newPoint = $point->lambertConicConformalWestOrientated(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Lambert Conic Conformal (2SP)
$point = GeographicPoint::create(...);
$newPoint = $point->lambertConicConformal2SP(
Projected $to,
Angle $latitudeOfFalseOrigin,
Angle $longitudeOfFalseOrigin,
Angle $latitudeOf1stStandardParallel,
Angle $latitudeOf2ndStandardParallel,
Length $eastingAtFalseOrigin,
Length $northingAtFalseOrigin
); // returns a new ProjectedPoint
Lambert Conic Conformal (2SP Michigan)
$point = GeographicPoint::create(...);
$newPoint = $point->lambertConicConformal2SPMichigan(
Projected $to,
Angle $latitudeOfFalseOrigin,
Angle $longitudeOfFalseOrigin,
Angle $latitudeOf1stStandardParallel,
Angle $latitudeOf2ndStandardParallel,
Length $eastingAtFalseOrigin,
Length $northingAtFalseOrigin,
Scale $ellipsoidScalingFactor
); // returns a new ProjectedPoint
Lambert Conic Conformal (2SP Belgium)
$point = GeographicPoint::create(...);
$newPoint = $point->lambertConicConformal2SPBelgium(
Projected $to,
Angle $latitudeOfFalseOrigin,
Angle $longitudeOfFalseOrigin,
Angle $latitudeOf1stStandardParallel,
Angle $latitudeOf2ndStandardParallel,
Length $eastingAtFalseOrigin,
Length $northingAtFalseOrigin
); // returns a new ProjectedPoint
Lambert Conic Near-Conformal
$point = GeographicPoint::create(...);
$newPoint = $point->lambertConicNearConformal(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Lambert Cylindrical Equal Area
$point = GeographicPoint::create(...);
$newPoint = $point->lambertCylindricalEqualArea(
Projected $to,
Angle $latitudeOf1stStandardParallel,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Longitude rotation
$point = GeographicPoint::create(...);
$newPoint = $point->longitudeRotation(
Geographic $to,
Angle $longitudeOffset
); // returns a new GeographicPoint
Madrid to ED50 polynomial
$point = GeographicPoint::create(...);
$newPoint = $point->madridToED50Polynomial(
Geographic2D $to,
Scale $A0,
Scale $A1,
Scale $A2,
Scale $A3,
Angle $B00,
Scale $B0,
Scale $B1,
Scale $B2,
Scale $B3
); // returns a new GeographicPoint
Mercator (variant A)
$point = GeographicPoint::create(...);
$newPoint = $point->mercatorVariantA(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Mercator (variant B)
$point = GeographicPoint::create(...);
$newPoint = $point->mercatorVariantB(
Projected $to,
Angle $latitudeOf1stStandardParallel,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Modified Azimuthal Equidistant
$point = GeographicPoint::create(...);
$newPoint = $point->modifiedAzimuthalEquidistant(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Molodensky
$point = GeographicPoint::create(...);
$newPoint = $point->molodensky(
Geographic $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Length $differenceInSemiMajorAxis,
Scale $differenceInFlattening
); // returns a new GeographicPoint
Molodensky-Badekas Coordinate Frame rotation
$point = GeographicPoint::create(...);
$newPoint = $point->coordinateFrameMolodenskyBadekas(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference,
Length $ordinate1OfEvaluationPoint,
Length $ordinate2OfEvaluationPoint,
Length $ordinate3OfEvaluationPoint
); // returns a new GeographicPoint
Molodensky-Badekas Position Vector transformation
$point = GeographicPoint::create(...);
$newPoint = $point->positionVectorMolodenskyBadekas(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference,
Length $ordinate1OfEvaluationPoint,
Length $ordinate2OfEvaluationPoint,
Length $ordinate3OfEvaluationPoint
); // returns a new GeographicPoint
New Zealand Map Grid
$point = GeographicPoint::create(...);
$newPoint = $point->newZealandMapGrid(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Oblique Stereographic
$point = GeographicPoint::create(...);
$newPoint = $point->obliqueStereographic(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Offsets From Grid
$point = GeographicPoint::create(...);
$newPoint = $point->offsetsFromGrid(
Geographic $to,
GeographicGrid $offsetsFile,
bool $inReverse
); // returns a new GeographicPoint
OSTN15 (Ordnance Survey National Transformation)
$point = GeographicPoint::create(...);
$newPoint = $point->OSTN15(
Projected $to,
OSTNOSGM15Grid $eastingAndNorthingDifferenceFile
); // returns a new ProjectedPoint
Polar Stereographic (variant A)
$point = GeographicPoint::create(...);
$newPoint = $point->polarStereographicVariantA(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Polar Stereographic (variant B)
$point = GeographicPoint::create(...);
$newPoint = $point->polarStereographicVariantB(
Projected $to,
Angle $latitudeOfStandardParallel,
Angle $longitudeOfOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Polar Stereographic (variant C)
$point = GeographicPoint::create(...);
$newPoint = $point->polarStereographicVariantC(
Projected $to,
Angle $latitudeOfStandardParallel,
Angle $longitudeOfOrigin,
Length $eastingAtFalseOrigin,
Length $northingAtFalseOrigin
); // returns a new ProjectedPoint
Popular Visualisation Pseudo Mercator
$point = GeographicPoint::create(...);
$newPoint = $point->popularVisualisationPseudoMercator(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Position Vector transformation
$point = GeographicPoint::create(...);
$newPoint = $point->positionVectorTransformation(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference
); // returns a new GeographicPoint
Reversible polynomial
$point = GeographicPoint::create(...);
$newPoint = $point->reversiblePolynomial(
Geographic $to,
Angle $ordinate1OfEvaluationPoint,
Angle $ordinate2OfEvaluationPoint,
Scale $scalingFactorForCoordDifferences,
Scale $A0,
Scale $B0,
$powerCoefficients
); // returns a new GeographicPoint
Time-dependent Coordinate Frame rotation
$point = GeographicPoint::create(...);
$newPoint = $point->timeDependentCoordinateFrameRotation(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference,
Rate $rateOfChangeOfXAxisTranslation,
Rate $rateOfChangeOfYAxisTranslation,
Rate $rateOfChangeOfZAxisTranslation,
Rate $rateOfChangeOfXAxisRotation,
Rate $rateOfChangeOfYAxisRotation,
Rate $rateOfChangeOfZAxisRotation,
Rate $rateOfChangeOfScaleDifference,
Time $parameterReferenceEpoch
); // returns a new GeographicPoint
Time-dependent Position Vector tranformation
$point = GeographicPoint::create(...);
$newPoint = $point->timeDependentPositionVectorTransformation(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference,
Rate $rateOfChangeOfXAxisTranslation,
Rate $rateOfChangeOfYAxisTranslation,
Rate $rateOfChangeOfZAxisTranslation,
Rate $rateOfChangeOfXAxisRotation,
Rate $rateOfChangeOfYAxisRotation,
Rate $rateOfChangeOfZAxisRotation,
Rate $rateOfChangeOfScaleDifference,
Time $parameterReferenceEpoch
); // returns a new GeographicPoint
Time-specific Coordinate Frame rotation
$point = GeographicPoint::create(...);
$newPoint = $point->timeSpecificCoordinateFrameRotation(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference,
Time $transformationReferenceEpoch
); // returns a new GeographicPoint
Time-specific Position Vector transformation
$point = GeographicPoint::create(...);
$newPoint = $point->timeSpecificPositionVectorTransformation(
Geocentric $to,
Length $xAxisTranslation,
Length $yAxisTranslation,
Length $zAxisTranslation,
Angle $xAxisRotation,
Angle $yAxisRotation,
Angle $zAxisRotation,
Scale $scaleDifference,
Time $transformationReferenceEpoch
); // returns a new GeographicPoint
Transverse Mercator
$point = GeographicPoint::create(...);
$newPoint = $point->transverseMercator(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $longitudeOfNaturalOrigin,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint
Transverse Mercator Zoned Grid System
$point = GeographicPoint::create(...);
$newPoint = $point->transverseMercatorZonedGrid(
Projected $to,
Angle $latitudeOfNaturalOrigin,
Angle $initialLongitude,
Angle $zoneWidth,
Scale $scaleFactorAtNaturalOrigin,
Length $falseEasting,
Length $falseNorthing
); // returns a new ProjectedPoint