pe_coordsys_to_prjfile |
Converts a coordinate system object to an old-style PRJ file
void pe_coordsys_to_prjfile (PE_COORDSYS coordsys, (PE_UNIT zunit, const char *path, int *error);
coordsys | A coordinate system object |
zunit | A linear unit object |
path | A pointer to a file that contains an old-style PRJ file |
error | A pointer to an error code |
This function converts a PE coordinate system object to an old-style PRJ file. An old-style PRJ file is used by the coverage, grid, and TIN data formats. The files, named prj.adf, are located in the dataset directory.
Here is a sample PRJ file.
Projection UTM
Units METERS
Datum WGS84
Spheroid WGS84
Zone 11
Parameters
Here is the equivalent PE string representation (reformatted for display) of a PE projected coordinate system object.
PROJCS["WGS_1984_UTM_Zone_11N",
GEOGCS["GCS_WGS_1984",
DATUM["D_WGS_1984",
SPHEROID["WGS_1984",6378137,298.257223563]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]],
PROJECTION["Transverse_Mercator"],
PARAMETER["False_Easting",500000],
PARAMETER["False_Northing",0],
PARAMETER["Central_Meridian",-117],
PARAMETER["Scale_Factor",0.9996],
PARAMETER["Latitude_Of_Origin",0],
UNIT["Meter",1]]
Note: You need to include the pe_coordsys_from_prj.h header file to use this function. This file is included with the ArcSDE SDK.
On success, an old-style PRJ file; otherwise, one of the following is returned:
PE_PRJ_CANNOT_OPEN_FILE The path or file name is incorrect or does not exist.
PE_PRJ_ILLEGAL_ARGUMENT The pointer to the path or file name is null or blank.
PE_TOPRJ_ILLEGAL_PARAMETER One of the parameters is incorrect or cannot be converted. The equivalent map projection in ArcInfo Workstation may not support the parameter.
PE_TOPRJ_ILLEGAL_PRIMEM The prime meridian is not Greenwich and cannot be converted.
PE_TOPRJ_ILLEGAL_PROJECTION The map projection cannot be converted. ArcInfo Workstation may not support it.
PE_PRJ_ILLEGAL_SCALE_FACTOR The scale factor parameter is not supported by the equivalent map projection in ArcInfo Workstation.
PE_TOPRJ_ILLEGAL_SPHEROID The spheroid is incorrect or cannot be converted. The map projection in ArcInfo Workstation may not support a spheroid.
PE_TOPRJ_ILLEGAL_UNIT The unit is incorrect or cannot be converted. ArcInfo Workstation may not support it. Usually will occur when the units of the geographic coordinate system are grads.
PE_PRJ_OUT_OF_MEMORY The string is not long enough or the system has run out of memory.
PE_COORDSYS coordsys;
char *prjfile;
int err = 0;
prjfile = "testutm.prj";
coordsys = pe_factory_projcs(PE_PCS_WGS_1984_UTM_11N);
pe_coordsys_to_prjfile(coordsys,NULL,prjfile,&err);
if (err != 0)
{
printf("Error code = %d\n",err);
}