DK for Delphi | GisCsProjections.TGIS_CSProjAiry.Project3D_Ref | Constructors | Fields | Methods | Properties
Transform geodetic (latitude/longitude/elevation) coordinates to projected (easting/northing/elevation) in-place using current ellipsoid and projection parameters.
Overrides TGIS_CSProjAbstract.Project3D_Ref.
// Delphi public procedure Project3D_Ref( var _coords : TGIS_Point3D ); override;
// C++ Builder public: virtual void Project3D_Ref( TGIS_Point3D* &_coords );
| Name | Type | Description |
|---|---|---|
| _coords | TGIS_Point3D | On input: geodetic coordinates with X=longitude, Y=latitude, Z=elevation (all in radians for X/Y, meters for Z). On output: projected coordinates with X=easting, Y=northing, Z=elevation (meters). |
PURPOSE:Fast in-place projection for processing bulk coordinate arrays. Direct reference parameter avoids temporary copies.
BEHAVIOR:Applies datum-specific transformations if needed, then performs projection math. Elevation (Z) is preserved unchanged. Input angles (lon/lat) must be in radians. Output coordinates in projection's native units (typically meters).
USAGE:For single transformations use Project3D function (returns value). For array processing: loop, call Project3D_Ref on each point.
CONSTRAINTS:Input angles must be radians, not degrees. Longitude typically -180..+180, latitude -90..+90. Some projections have validity zones; coordinates outside may produce invalid results. Check IsRevertible before using Unproject3D_Ref.