AutoCAD Map 3D 2009 Geospatial Platform Reference

AutoCAD Map 3D Geospatial Platform API

MgLineString Class Reference
[MgLineString]

Inherits MgCurve.

List of all members.


Detailed Description

An MgLineString is a curve with linear interpolation between points.

Remarks:
Each consecutive pair of points defines a line segment. An instance of this class is constructed by calling a non-static MgGeometryFactory::CreateLineString() method and, once constructed, is immutable.
Example (PHP)
The following code shows the construction of an MgLineString instance containing 2 coordinates.

 $geometryFactory = new MgGeometryFactory();
 $coordinateCollection = new MgCoordinateCollection();
 $wktReaderWriter = new MgWktReaderWriter();

 // create first coordinate
 $coordinate = $geometryFactory->CreateCoordinateXY(0,2);
 $index = $coordinateCollection->Add($coordinate);
 echo "Coordinate added to coordinate collection at index: $index\n";

 // create second coordinate
 $coordinate = $geometryFactory->CreateCoordinateXY(2,2);
 $index = $coordinateCollection->Add($coordinate);
 echo "Coordinate added to coordinate collection at index: $index\n";

 // create LineString
 $lineString =
 $geometryFactory->CreateLineString($coordinateCollection);

 // print out the Agf Text string for the
 geometry$lineStringAgfText = $wktReaderWriter->Write(lineString);
 echo "AGF Text representation of line string: $lineStringAgfText\n";

Example (C#)
 using OSGeo.MapGuide;

 private MgWktReaderWriter wktReaderWriter;
 private MgGeometryFactory geometryFactory;
 private MgLineString ls1121;
 // the data for 1 linestring
 private double[,] da1121 = { { 1, 1 }, { 2, 1 } };
 private String geometryAgfText;

 public MgLineString CreateALineStringXY(double[,] lineStringData)
 {
     MgCoordinateCollection coords = new MgCoordinateCollection();
     for (int i = 0; i < lineStringData.GetLength(0); i++)
     {
         coords.Add(geometryFactory.CreateCoordinateXY(lineStringData[i,0], lineStringData[i,1]));
     }
     return geometryFactory.CreateLineString(coords);
 }

 geometryFactory = new MgGeometryFactory();
 ls1121 = CreateALineStringXY(da1121);

 // print out the Agf Text string for the geometry
 wktReaderWriter = new MgWktReaderWriter();
 geometryAgfText = wktReaderWriter.Write(ls1121);
 // geometryAgfText now contains:
 // "LINESTRING XY ( 1 1, 2 1 )"

Public Member Functions

virtual
MgGeometricEntity
Copy ()
virtual
MgCoordinateIterator
GetCoordinates ()
 Returns an iterator that can be used to enumerate each of the line strings coordinates.
virtual INT32 GetDimension ()
 
virtual MgCoordinateGetEndCoordinate ()
 
virtual INT32 GetGeometryType ()
 
virtual MgCoordinateGetStartCoordinate ()
virtual bool IsClosed ()
virtual bool IsEmpty ()
 
virtual
MgGeometricEntity
Transform (MgTransform *transform)
 Returns a transformed copy of this geometric entity.