pe_pcsinfo_generate |
Returns the pcsinfo for a projected coordinate system.
PE_PCSINFO pe_pcsinfo_generate (PE_PROJCS projcs);
projcs | An existing projected coordinate system object |
Returns the pcsinfo structure for a projected coordinate system. The pcsinfo structure contains information on the "look" of a projected coordinate system like whether the north and south poles are within the projection's horizon (valid area of use). The pcsinfo structure:
typedef struct pe_pcsinfo_t { double central_meridian; /* the longitude center of the pcs */ double domain_minx; /* the horizon extent of the pcs */ double domain_miny; double domain_maxx; double domain_maxy; unsigned int north_pole_location : 2; /* the location of the north pole */ unsigned int north_pole_geometry : 2; /* the geometry of the north pole */ unsigned int south_pole_location : 2; /* the location of the south pole */ unsigned int south_pole_geometry : 2; /* the geometry of the south pole */ unsigned int is_horizon_edge_duplicated : 1; unsigned int is_horizon_convex_hull : 1; unsigned int is_entire_world : 1; unsigned int is_densification_needed : 1; unsigned int is_central_meridian_vertical : 1; } *PE_PCSINFO;
The pole location and geometry enumerations are:
enum pole_location_enum { PE_POLE_OUTSIDE_BOUNDARY, /* pole is not within the horizon */ PE_POLE_ON_BOUNDARY, /* pole is on edge of horizon */ PE_POLE_INSIDE_BOUNDARY /* pole is within horizon */ }; enum pole_geometry_enum { PE_POLE_NONE, /* pole is outside the horizon */ PE_POLE_POINT, /* pole is a point: transverse Mercator, Sinusoidal */ PE_POLE_LINE_STRAIGHT, /* pole is a straight line: Plate Carree, Eckert IV */ PE_POLE_LINE_CURVED /* pole is a curved line: Lambert conic */ };
On success, a pointer to a pcsinfo structure. On failure, a null pointer.
PE_PROJCS pcs1; pcs1 = pe_factory_projcs(PE_PCS_NAD_1983_CA_V); /* State Plane California zone 5 */ PE_PCSINFO *pcs_info = pe_pcsinfo_generate(pcs1);