createEllipsoid name:CharacterString, semiMajorAxis:Double, createFlattenedSphere name:CharacterString, semiMajorAxis:Double, inverseFlattening:Double, createFromWKT wellKnownText:CharacterString : CS_CoordinateSystem createFromXML xml:CharacterString : C

12.3.7 CS_CoordinateSystemFactory Class

Builds up complex objects from simpler objects or values. CS_CoordinateSystemFactory allows applications to make coordinate systems that cannot be created by a CS_CoordinateSystemAuthorityFactory. This factory is very flexible, whereas the authority factory is easier to use. So CS_CoordinateSystemAuthorityFactory can be used to make ‘standard’ coordinate systems, and CS_CoordinateSystemAuthorityFactory can be used to make ‘special’ coordinate systems. For example, the EPSG authority has codes for USA state plane coordinate systems using the NAD83 datum, but these coordinate systems always use meters. EPSG does not have codes for NAD83 state plane coordinate systems that use feet units. This factory lets an application create such a hybrid coordinate system. 12.3.7.1 createCompoundCoordinateSystem name:CharacterString, head:CS_CoordinateSystem, tail:CS_CoordinateSystem : CS_CompoundCoordinateSystem Creates a compound coordinate system.

12.3.7.2 createEllipsoid name:CharacterString, semiMajorAxis:Double,

semiMinorAxis:Double, linearUnit:CS_LinearUnit : CS_Ellipsoid Creates an ellipsoid from radius values. 12.3.7.3 createFittedCoordinateSystem name:CharacterString, base:CS_CoordinateSystem, toBaseWKT:CharacterString, arAxes:SequenceCS_AxisInfo : CS_FittedCoordinateSystem Creates a fitted coordinate system. The units of the axes in the fitted coordinate system will be inferred from the units of the base coordinate system. If the affine map performs a rotation, then any mixed axes must have identical units. For example, a lat_deg,lon_deg,height_feet system can be rotated in the lat,lon plane, since both affected axes are in degrees. But you should not rotate this coordinate system in any other plane.

12.3.7.4 createFlattenedSphere name:CharacterString, semiMajorAxis:Double, inverseFlattening:Double,

linearUnit:CS_LinearUnit : CS_Ellipsoid Creates an ellipsoid from an major radius, and inverse flattening.

12.3.7.5 createFromWKT wellKnownText:CharacterString : CS_CoordinateSystem

Creates a coordinate system object from a Well-Known Text string.

12.3.7.6 createFromXML xml:CharacterString : CS_CoordinateSystem

Creates a coordinate system object from an XML string. Page 55 of 117 OGC Document Number 01-009

12.3.7.7 createGeographicCoordinateSystem name:CharacterString, angularUnit:CS_AngularUnit,

horizontalDatum:CS_HorizontalDatum, primeMeridian:CS_PrimeMeridian, axis0:CS_AxisInfo, axis1:CS_AxisInfo : CS_GeographicCoordinateSystem Creates a GCS, which could be LatLon or LonLat. 12.3.7.8 createHorizontalDatum name:CharacterString, horizontalDatumType:CS_DatumType, ellipsoid:CS_Ellipsoid, toWGS84:CS_WGS84ConversionInfo : CS_HorizontalDatum Creates horizontal datum from ellipsoid and Bursa-World parameters. Since this method contains a set of Bursa-Wolf parameters, the created datum will always have a relationship to WGS84. If you wish to create a horizontal datum that has no relationship with WGS84, then you can either specify a horizontalDatumType of CS_HD_Other, or create it via WKT.

12.3.7.9 createLocalCoordinateSystem name:CharacterString, datum:CS_LocalDatum, unit:CS_Unit,