MapGuide API Reference
|
virtual MgCoordinate* MgCoordinateSystemMeasure::GetCoordinate | ( | MgCoordinate * | coord, |
double | azimuth, | ||
double | distance | ||
) | [pure virtual] |
Computes a coordinate given a distance along a vector that is defined by a starting coordinate and an azimuth (Angle with respect to the North).
virtual MgCoordinate GetCoordinate(MgCoordinate coord, double azimuth, double distance); |
virtual MgCoordinate GetCoordinate(MgCoordinate coord, double azimuth, double distance); |
virtual MgCoordinate GetCoordinate(MgCoordinate coord, double azimuth, double distance); |
coord | (MgCoordinate) An MgCoordinate object in coordinate system units that represents the start of the vector. |
azimuth | (double) An azimuth (Angle with respect to the North) that defines the direction of the vector. |
distance | (double) The distance along the vector to the desired coordinate in meters. |
$geometryFactory = new MgGeometryFactory(); $x1 = -74.806394; $y1 = 40.714169; $coord1 = $geometryFactory->CreateCoordinateXY($x1, $y1); $coord12 = $coordSysMeasure->GetCoordinate($coord1, $azimuth12, $distance); $x2 = -71.061342; $y2 = 42.355892; $coord2 = $geometryFactory->CreateCoordinateXY($x2, $y2); $coord21 = $coordSysMeasure->GetCoordinate($coord2, $azimuth21, $distance);
using OSGeo.MapGuide; private MgCoordinateSystemMeasure geogCSMeasure; private MgGeometryFactory geometryFactory; private MgCoordinate geogCSXYCoord; 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; geometryFactory = new MgGeometryFactory(); geogCSXYCoord = geometryFactory.CreateCoordinateXY(geogCSX, geogCSY); geogCSX1Y1Coord = geogCSMeasure.GetCoordinate(geogCSXYCoord, 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;
MgCoordinateSystemMeasureFailedException |
Implements MgMeasure.