Computes a coordinate a given distance along a vector that is defined by a starting coordinate and an azimuth (Angle with respect to the North).
.NET Syntax
Java Syntax
PHP Syntax
Example (PHP)
See MgCoordinateSystemMeasure::GetAzimuth Method (MgCoordinate*, MgCoordinate*) for the code creating $azimuth12 and $azimuth21. See MgCoordinateSystemMeasure::GetDistance Method (MgCoordinate*, MgCoordinate*) for the code computing the distance between the coordinates. The longitude and latitude of $coord12 is (-71.061342, 42.355892), and the longitude and latitude of $coord21 is (-74.806394, 40.714169).
$coord12 = $coordSysMeasure->GetCoordinate(-74.806394, 40.714169, $azimuth12, $distance); $coord21 = $coordSysMeasure->GetCoordinate(-71.061342, 42.355892, $azimuth21, $distance);
Example (C#)
using OSGeo.MapGuide; private MgCoordinateSystemMeasure geogCSMeasure; private MgCoordinate geogCSX1Y1Coord; private double geogCSX = -160.101421317; private double geogCSY = 22.0234263273; private double geogCSX1 = -159.721535121256; private double geogCSY1 = 24.0028259520524; private double geogCSAzimuth = 10.0; private double geogCSDistance = 2.0; private double tolerance = 0.001; private Boolean isEquivalent; geogCSX1Y1Coord = geogCSMeasure.GetCoordinate(geogCSX, geogCSY, geogCSAzimuth, geogCSDistance); // the X and Y values of geogCSX1Y1Coord are equal to geogCSX1 and geogCSY1 isEquivalent = Math.Abs(geogCSX1 - geogCSX1Y1Coord.GetX()) < tolerance && Math.Abs(geogCSY1 - geogCSX1Y1Coord.GetY()) < tolerance;
|