aboutsummaryrefslogtreecommitdiff
path: root/src/proj.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/proj.h')
-rw-r--r--src/proj.h1024
1 files changed, 607 insertions, 417 deletions
diff --git a/src/proj.h b/src/proj.h
index 711f8f66..3f44afb9 100644
--- a/src/proj.h
+++ b/src/proj.h
@@ -443,6 +443,11 @@ char PROJ_DLL * proj_rtodms(char *s, double r, int pos, int neg);
/* Binding in C of C++ API */
/* ------------------------------------------------------------------------- */
+/**
+ * \defgroup basic_cpp_binding Binding in C of basic methods from the C++ API
+ * @{
+ */
+
/*! @cond Doxygen_Suppress */
typedef struct PJ_OBJ PJ_OBJ;
/*! @endcond */
@@ -461,6 +466,7 @@ const char PROJ_DLL *proj_context_get_database_path(PJ_CONTEXT *ctx);
const char PROJ_DLL *proj_context_get_database_metadata(PJ_CONTEXT* ctx,
const char* key);
+
/** \brief Guessed WKT "dialect". */
typedef enum
{
@@ -512,9 +518,13 @@ PJ_OBJ PROJ_DLL *proj_obj_create_from_database(PJ_CONTEXT *ctx,
void PROJ_DLL proj_obj_unref(PJ_OBJ *obj);
+PJ_OBJ PROJ_DLL *proj_obj_clone(const PJ_OBJ *obj);
+
/** \brief Object type. */
typedef enum
{
+ PJ_OBJ_TYPE_UNKNOWN,
+
PJ_OBJ_TYPE_ELLIPSOID,
PJ_OBJ_TYPE_GEODETIC_REFERENCE_FRAME,
@@ -539,6 +549,7 @@ typedef enum
PJ_OBJ_TYPE_PROJECTED_CRS,
PJ_OBJ_TYPE_COMPOUND_CRS,
PJ_OBJ_TYPE_TEMPORAL_CRS,
+ PJ_OBJ_TYPE_ENGINEERING_CRS,
PJ_OBJ_TYPE_BOUND_CRS,
PJ_OBJ_TYPE_OTHER_CRS,
@@ -546,8 +557,6 @@ typedef enum
PJ_OBJ_TYPE_TRANSFORMATION,
PJ_OBJ_TYPE_CONCATENATED_OPERATION,
PJ_OBJ_TYPE_OTHER_COORDINATE_OPERATION,
-
- PJ_OBJ_TYPE_UNKNOWN
} PJ_OBJ_TYPE;
PJ_OBJ_LIST PROJ_DLL *proj_obj_create_from_name(PJ_CONTEXT *ctx,
@@ -559,9 +568,405 @@ PJ_OBJ_LIST PROJ_DLL *proj_obj_create_from_name(PJ_CONTEXT *ctx,
size_t limitResultCount,
const char* const *options);
+PJ_OBJ_TYPE PROJ_DLL proj_obj_get_type(const PJ_OBJ *obj);
+
+int PROJ_DLL proj_obj_is_deprecated(const PJ_OBJ *obj);
+
+/** Comparison criterion. */
+typedef enum
+{
+ /** All properties are identical. */
+ PJ_COMP_STRICT,
+
+ /** The objects are equivalent for the purpose of coordinate
+ * operations. They can differ by the name of their objects,
+ * identifiers, other metadata.
+ * Parameters may be expressed in different units, provided that the
+ * value is (with some tolerance) the same once expressed in a
+ * common unit.
+ */
+ PJ_COMP_EQUIVALENT,
+
+ /** Same as EQUIVALENT, relaxed with an exception that the axis order
+ * of the base CRS of a DerivedCRS/ProjectedCRS or the axis order of
+ * a GeographicCRS is ignored. Only to be used
+ * with DerivedCRS/ProjectedCRS/GeographicCRS */
+ PJ_COMP_EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS,
+} PJ_COMPARISON_CRITERION;
+
+int PROJ_DLL proj_obj_is_equivalent_to(const PJ_OBJ *obj, const PJ_OBJ* other,
+ PJ_COMPARISON_CRITERION criterion);
+
+int PROJ_DLL proj_obj_is_crs(const PJ_OBJ *obj);
+
+const char PROJ_DLL* proj_obj_get_name(const PJ_OBJ *obj);
+
+const char PROJ_DLL* proj_obj_get_id_auth_name(const PJ_OBJ *obj, int index);
+
+const char PROJ_DLL* proj_obj_get_id_code(const PJ_OBJ *obj, int index);
+
+int PROJ_DLL proj_obj_get_area_of_use(const PJ_OBJ *obj,
+ double* p_west_lon_degree,
+ double* p_south_lat_degree,
+ double* p_east_lon_degree,
+ double* p_north_lat_degree,
+ const char **p_area_name);
+
+/** \brief WKT version. */
+typedef enum
+{
+ /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2 */
+ PJ_WKT2_2015,
+ /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2_SIMPLIFIED */
+ PJ_WKT2_2015_SIMPLIFIED,
+ /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2_2018 */
+ PJ_WKT2_2018,
+ /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2_2018_SIMPLIFIED */
+ PJ_WKT2_2018_SIMPLIFIED,
+ /** cf osgeo::proj::io::WKTFormatter::Convention::WKT1_GDAL */
+ PJ_WKT1_GDAL,
+ /** cf osgeo::proj::io::WKTFormatter::Convention::WKT1_ESRI */
+ PJ_WKT1_ESRI
+} PJ_WKT_TYPE;
+
+const char PROJ_DLL* proj_obj_as_wkt(const PJ_OBJ *obj, PJ_WKT_TYPE type,
+ const char* const *options);
+
+/** \brief PROJ string version. */
+typedef enum
+{
+ /** cf osgeo::proj::io::PROJStringFormatter::Convention::PROJ_5 */
+ PJ_PROJ_5,
+ /** cf osgeo::proj::io::PROJStringFormatter::Convention::PROJ_4 */
+ PJ_PROJ_4
+} PJ_PROJ_STRING_TYPE;
+
+const char PROJ_DLL* proj_obj_as_proj_string(const PJ_OBJ *obj,
+ PJ_PROJ_STRING_TYPE type,
+ const char* const *options);
+
+PJ_OBJ PROJ_DLL *proj_obj_get_source_crs(const PJ_OBJ *obj);
+
+PJ_OBJ PROJ_DLL *proj_obj_get_target_crs(const PJ_OBJ *obj);
+
+PJ_OBJ_LIST PROJ_DLL *proj_obj_identify(const PJ_OBJ* obj,
+ const char *auth_name,
+ const char* const *options,
+ int **confidence);
+
+void PROJ_DLL proj_free_int_list(int* list);
+
+/* ------------------------------------------------------------------------- */
+
+/** \brief Type representing a NULL terminated list of NUL-terminate strings. */
+typedef char **PROJ_STRING_LIST;
+
+PROJ_STRING_LIST PROJ_DLL proj_get_authorities_from_database(PJ_CONTEXT *ctx);
+
+PROJ_STRING_LIST PROJ_DLL proj_get_codes_from_database(PJ_CONTEXT *ctx,
+ const char *auth_name,
+ PJ_OBJ_TYPE type,
+ int allow_deprecated);
+
+void PROJ_DLL proj_free_string_list(PROJ_STRING_LIST list);
+
+/* ------------------------------------------------------------------------- */
+
+
+/*! @cond Doxygen_Suppress */
+typedef struct PJ_OPERATION_FACTORY_CONTEXT PJ_OPERATION_FACTORY_CONTEXT;
+/*! @endcond */
+
+PJ_OPERATION_FACTORY_CONTEXT PROJ_DLL *proj_create_operation_factory_context(
+ PJ_CONTEXT *ctx,
+ const char *authority);
+
+void PROJ_DLL proj_operation_factory_context_unref(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt);
+
+void PROJ_DLL proj_operation_factory_context_set_desired_accuracy(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ double accuracy);
+
+void PROJ_DLL proj_operation_factory_context_set_area_of_interest(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ double west_lon_degree,
+ double south_lat_degree,
+ double east_lon_degree,
+ double north_lat_degree);
+
+/** Specify how source and target CRS extent should be used to restrict
+ * candidate operations (only taken into account if no explicit area of
+ * interest is specified. */
+typedef enum
+{
+ /** Ignore CRS extent */
+ PJ_CRS_EXTENT_NONE,
+
+ /** Test coordinate operation extent against both CRS extent. */
+ PJ_CRS_EXTENT_BOTH,
+
+ /** Test coordinate operation extent against the intersection of both
+ CRS extent. */
+ PJ_CRS_EXTENT_INTERSECTION,
+
+ /** Test coordinate operation against the smallest of both CRS extent. */
+ PJ_CRS_EXTENT_SMALLEST
+} PROJ_CRS_EXTENT_USE;
+
+void PROJ_DLL proj_operation_factory_context_set_crs_extent_use(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PROJ_CRS_EXTENT_USE use);
+
+/** Spatial criterion to restrict candiate operations. */
+typedef enum {
+ /** The area of validity of transforms should strictly contain the
+ * are of interest. */
+ PROJ_SPATIAL_CRITERION_STRICT_CONTAINMENT,
+
+ /** The area of validity of transforms should at least intersect the
+ * area of interest. */
+ PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION
+} PROJ_SPATIAL_CRITERION;
+
+void PROJ_DLL proj_operation_factory_context_set_spatial_criterion(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PROJ_SPATIAL_CRITERION criterion);
+
+
+/** Describe how grid availability is used. */
+typedef enum {
+ /** Grid availability is only used for sorting results. Operations
+ * where some grids are missing will be sorted last. */
+ PROJ_GRID_AVAILABILITY_USED_FOR_SORTING,
+
+ /** Completely discard an operation if a required grid is missing. */
+ PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID,
+
+ /** Ignore grid availability at all. Results will be presented as if
+ * all grids were available. */
+ PROJ_GRID_AVAILABILITY_IGNORED,
+} PROJ_GRID_AVAILABILITY_USE;
+
+void PROJ_DLL proj_operation_factory_context_set_grid_availability_use(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PROJ_GRID_AVAILABILITY_USE use);
+
+void PROJ_DLL proj_operation_factory_context_set_use_proj_alternative_grid_names(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ int usePROJNames);
+
+void PROJ_DLL proj_operation_factory_context_set_allow_use_intermediate_crs(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt, int allow);
+
+void PROJ_DLL proj_operation_factory_context_set_allowed_intermediate_crs(
+ PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ const char* const *list_of_auth_name_codes);
+
+/* ------------------------------------------------------------------------- */
+
+
+PJ_OBJ_LIST PROJ_DLL *proj_obj_create_operations(
+ const PJ_OBJ *source_crs,
+ const PJ_OBJ *target_crs,
+ const PJ_OPERATION_FACTORY_CONTEXT *operationContext);
+
+int PROJ_DLL proj_obj_list_get_count(const PJ_OBJ_LIST *result);
+
+PJ_OBJ PROJ_DLL *proj_obj_list_get(const PJ_OBJ_LIST *result,
+ int index);
+
+void PROJ_DLL proj_obj_list_unref(PJ_OBJ_LIST *result);
+
+/* ------------------------------------------------------------------------- */
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_geodetic_crs(const PJ_OBJ *crs);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_horizontal_datum(const PJ_OBJ *crs);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_sub_crs(const PJ_OBJ *crs, int index);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_datum(const PJ_OBJ *crs);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_coordinate_system(const PJ_OBJ *crs);
+
+/** Type of coordinate system. */
+typedef enum
+{
+ PJ_CS_TYPE_UNKNOWN,
+
+ PJ_CS_TYPE_CARTESIAN,
+ PJ_CS_TYPE_ELLIPSOIDAL,
+ PJ_CS_TYPE_VERTICAL,
+ PJ_CS_TYPE_SPHERICAL,
+ PJ_CS_TYPE_ORDINAL,
+ PJ_CS_TYPE_PARAMETRIC,
+ PJ_CS_TYPE_DATETIMETEMPORAL,
+ PJ_CS_TYPE_TEMPORALCOUNT,
+ PJ_CS_TYPE_TEMPORALMEASURE
+} PJ_COORDINATE_SYSTEM_TYPE;
+
+PJ_COORDINATE_SYSTEM_TYPE PROJ_DLL proj_obj_cs_get_type(const PJ_OBJ* cs);
+
+int PROJ_DLL proj_obj_cs_get_axis_count(const PJ_OBJ *cs);
+
+int PROJ_DLL proj_obj_cs_get_axis_info(const PJ_OBJ *cs, int index,
+ const char **pName,
+ const char **pAbbrev,
+ const char **pDirection,
+ double *pUnitConvFactor,
+ const char **pUnitName);
+
+PJ_OBJ PROJ_DLL *proj_obj_get_ellipsoid(const PJ_OBJ *obj);
+
+int PROJ_DLL proj_obj_ellipsoid_get_parameters(const PJ_OBJ *ellipsoid,
+ double *pSemiMajorMetre,
+ double *pSemiMinorMetre,
+ int *pIsSemiMinorComputed,
+ double *pInverseFlattening);
+
+PJ_OBJ PROJ_DLL *proj_obj_get_prime_meridian(const PJ_OBJ *obj);
+
+int PROJ_DLL proj_obj_prime_meridian_get_parameters(const PJ_OBJ *prime_meridian,
+ double *pLongitude,
+ double *pLongitudeUnitConvFactor,
+ const char **pLongitudeUnitName);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_coordoperation(const PJ_OBJ *crs,
+ const char **pMethodName,
+ const char **pMethodAuthorityName,
+ const char **pMethodCode);
+
+int PROJ_DLL proj_coordoperation_is_instanciable(const PJ_OBJ *coordoperation);
+
+int PROJ_DLL proj_coordoperation_get_param_count(const PJ_OBJ *coordoperation);
+
+int PROJ_DLL proj_coordoperation_get_param_index(const PJ_OBJ *coordoperation,
+ const char *name);
+
+int PROJ_DLL proj_coordoperation_get_param(const PJ_OBJ *coordoperation,
+ int index,
+ const char **pName,
+ const char **pNameAuthorityName,
+ const char **pNameCode,
+ double *pValue,
+ const char **pValueString,
+ double *pValueUnitConvFactor,
+ const char **pValueUnitName);
+
+int PROJ_DLL proj_coordoperation_get_grid_used_count(const PJ_OBJ *coordoperation);
+
+int PROJ_DLL proj_coordoperation_get_grid_used(const PJ_OBJ *coordoperation,
+ int index,
+ const char **pShortName,
+ const char **pFullName,
+ const char **pPackageName,
+ const char **pURL,
+ int *pDirectDownload,
+ int *pOpenLicense,
+ int *pAvailable);
+
+double PROJ_DLL proj_coordoperation_get_accuracy(const PJ_OBJ* obj);
+
+/**@}*/
+
+/* ------------------------------------------------------------------------- */
+/* Binding in C of advanced methods from the C++ API */
+/* */
+/* Manual construction of CRS objects. */
+/* ------------------------------------------------------------------------- */
+
+/**
+ * \defgroup advanced_cpp_binding Binding in C of advanced methods from the C++ API
+ * @{
+ */
+
+/** Type of unit of measure. */
+typedef enum
+{
+ /** Angular unit of measure */
+ PJ_UT_ANGULAR,
+ /** Linear unit of measure */
+ PJ_UT_LINEAR,
+ /** Scale unit of measure */
+ PJ_UT_SCALE,
+ /** Time unit of measure */
+ PJ_UT_TIME,
+ /** Parametric unit of measure */
+ PJ_UT_PARAMETRIC
+} PJ_UNIT_TYPE;
+
+/** Axis description. */
+typedef struct
+{
+ /** Axis name. */
+ char* name;
+ /** Axis abbreviation. */
+ char* abbreviation;
+ /** Axis direction. */
+ char* direction;
+ /** Axis unit name. */
+ char* unit_name;
+ /** Conversion factor to SI of the unit. */
+ double unit_conv_factor;
+ /** Type of unit */
+ PJ_UNIT_TYPE unit_type;
+} PJ_AXIS_DESCRIPTION;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_cs(PJ_CONTEXT *ctx,
+ PJ_COORDINATE_SYSTEM_TYPE type,
+ int axis_count,
+ const PJ_AXIS_DESCRIPTION* axis);
+
+/** Type of Cartesian 2D coordinate system. */
+typedef enum
+{
+ /* Easting-Norting */
+ PJ_CART2D_EASTING_NORTHING,
+ /* Northing-Easting */
+ PJ_CART2D_NORTHING_EASTING,
+} PJ_CARTESIAN_CS_2D_TYPE;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_cartesian_2D_cs(PJ_CONTEXT *ctx,
+ PJ_CARTESIAN_CS_2D_TYPE type,
+ const char* unit_name,
+ double unit_conv_factor);
+
+
+/** Type of Cartesian 2D coordinate system. */
+typedef enum
+{
+ /* Longitude-Latitude */
+ PJ_ELLPS2D_LONGITUDE_LATITUDE,
+ /* Latitude-Longitude */
+ PJ_ELLPS2D_LATITUDE_LONGITUDE,
+} PJ_ELLIPSOIDAL_CS_2D_TYPE;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_ellipsoidal_2D_cs(PJ_CONTEXT *ctx,
+ PJ_ELLIPSOIDAL_CS_2D_TYPE type,
+ const char* unit_name,
+ double unit_conv_factor);
+
PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs(
PJ_CONTEXT *ctx,
- const char *geogName,
+ const char *crsName,
+ const char *datumName,
+ const char *ellipsoidName,
+ double semiMajorMetre, double invFlattening,
+ const char *primeMeridianName,
+ double primeMeridianOffset,
+ const char *pmAngularUnits,
+ double pmUnitsConv,
+ PJ_OBJ* ellipsoidalCS);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs_from_datum(
+ const char *crsName,
+ PJ_OBJ* datum,
+ PJ_OBJ* ellipsoidalCS);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_geocentric_crs(
+ PJ_CONTEXT *ctx,
+ const char *crsName,
const char *datumName,
const char *ellipsoidName,
double semiMajorMetre, double invFlattening,
@@ -569,17 +974,84 @@ PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs(
double primeMeridianOffset,
const char *angularUnits,
double angularUnitsConv,
- int latLongOrder);
+ const char *linearUnits,
+ double linearUnitsConv);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_geocentric_crs_from_datum(
+ const char *crsName,
+ const PJ_OBJ* datum,
+ const char *linearUnits,
+ double linearUnitsConv);
+
+PJ_OBJ PROJ_DLL *proj_obj_alter_name(const PJ_OBJ* obj, const char* name);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_geodetic_crs(const PJ_OBJ* obj,
+ const PJ_OBJ* newGeodCRS);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_cs_angular_unit(const PJ_OBJ* obj,
+ const char *angularUnits,
+ double angularUnitsConv);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_cs_linear_unit(const PJ_OBJ* obj,
+ const char *linearUnits,
+ double linearUnitsConv);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_parameters_linear_unit(const PJ_OBJ* obj,
+ const char *linearUnits,
+ double linearUnitsConv,
+ int convertToNewUnit);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_engineering_crs(PJ_CONTEXT *ctx,
+ const char *crsName);
+
+/** Description of a parameter value for a Conversion. */
+typedef struct
+{
+ /** Parameter name. */
+ const char* name;
+ /** Parameter authority name. */
+ const char* auth_name;
+ /** Parameter code. */
+ const char* code;
+ /** Parameter value. */
+ double value;
+ /** Name of unit in which parameter value is expressed. */
+ const char* unit_name;
+ /** Conversion factor to SI of the unit. */
+ double unit_conv_factor;
+ /** Type of unit */
+ PJ_UNIT_TYPE unit_type;
+} PJ_PARAM_DESCRIPTION;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion(PJ_CONTEXT *ctx,
+ const char* name,
+ const char* auth_name,
+ const char* code,
+ const char* method_name,
+ const char* method_auth_name,
+ const char* method_code,
+ int param_count,
+ const PJ_PARAM_DESCRIPTION* params);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs(const char* crs_name,
+ const PJ_OBJ* geodetic_crs,
+ const PJ_OBJ* conversion,
+ const PJ_OBJ* coordinate_system);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs(const PJ_OBJ *base_crs,
+ const PJ_OBJ *hub_crs,
+ const PJ_OBJ *transformation);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs_to_WGS84(const PJ_OBJ *crs);
/* BEGIN: Generated by scripts/create_c_api_projections.py*/
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_UTM(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_utm(
+ PJ_CONTEXT *ctx,
int zone,
- int north
-);
+ int north);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TransverseMercator(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_transverse_mercator(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -588,8 +1060,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TransverseMercator(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GaussSchreiberTransverseMercator(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gauss_schreiber_transverse_mercator(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -598,8 +1070,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GaussSchreiberTransverseMercator(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TransverseMercatorSouthOriented(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_transverse_mercator_south_oriented(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -608,8 +1080,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TransverseMercatorSouthOriented(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TwoPointEquidistant(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_two_point_equidistant(
+ PJ_CONTEXT *ctx,
double latitudeFirstPoint,
double longitudeFirstPoint,
double latitudeSecondPoint,
@@ -619,8 +1091,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TwoPointEquidistant(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TunisiaMappingGrid(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_tunisia_mapping_grid(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -628,8 +1100,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TunisiaMappingGrid(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AlbersEqualArea(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_albers_equal_area(
+ PJ_CONTEXT *ctx,
double latitudeFalseOrigin,
double longitudeFalseOrigin,
double latitudeFirstParallel,
@@ -639,8 +1111,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AlbersEqualArea(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_1SP(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_1sp(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -649,8 +1121,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_1SP(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp(
+ PJ_CONTEXT *ctx,
double latitudeFalseOrigin,
double longitudeFalseOrigin,
double latitudeFirstParallel,
@@ -660,8 +1132,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP_Michigan(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp_michigan(
+ PJ_CONTEXT *ctx,
double latitudeFalseOrigin,
double longitudeFalseOrigin,
double latitudeFirstParallel,
@@ -672,8 +1144,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP_Michiga
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP_Belgium(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp_belgium(
+ PJ_CONTEXT *ctx,
double latitudeFalseOrigin,
double longitudeFalseOrigin,
double latitudeFirstParallel,
@@ -683,8 +1155,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP_Belgium
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AzimuthalEquidistant(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_azimuthal_equidistant(
+ PJ_CONTEXT *ctx,
double latitudeNatOrigin,
double longitudeNatOrigin,
double falseEasting,
@@ -692,8 +1164,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AzimuthalEquidistant(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GuamProjection(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_guam_projection(
+ PJ_CONTEXT *ctx,
double latitudeNatOrigin,
double longitudeNatOrigin,
double falseEasting,
@@ -701,8 +1173,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GuamProjection(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Bonne(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_bonne(
+ PJ_CONTEXT *ctx,
double latitudeNatOrigin,
double longitudeNatOrigin,
double falseEasting,
@@ -710,8 +1182,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Bonne(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertCylindricalEqualAreaSpherical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_cylindrical_equal_area_spherical(
+ PJ_CONTEXT *ctx,
double latitudeFirstParallel,
double longitudeNatOrigin,
double falseEasting,
@@ -719,8 +1191,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertCylindricalEqualAreaSpheri
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertCylindricalEqualArea(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_cylindrical_equal_area(
+ PJ_CONTEXT *ctx,
double latitudeFirstParallel,
double longitudeNatOrigin,
double falseEasting,
@@ -728,8 +1200,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertCylindricalEqualArea(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_CassiniSoldner(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_cassini_soldner(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -737,8 +1209,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_CassiniSoldner(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantConic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_conic(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double latitudeFirstParallel,
@@ -748,56 +1220,56 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantConic(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_i(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_ii(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertIII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_iii(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertIV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_iv(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_v(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertVI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_vi(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantCylindrical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_cylindrical(
+ PJ_CONTEXT *ctx,
double latitudeFirstParallel,
double longitudeNatOrigin,
double falseEasting,
@@ -805,8 +1277,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantCylindrical(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantCylindricalSpherical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_cylindrical_spherical(
+ PJ_CONTEXT *ctx,
double latitudeFirstParallel,
double longitudeNatOrigin,
double falseEasting,
@@ -814,32 +1286,32 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantCylindricalSpherical(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Gall(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gall(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GoodeHomolosine(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_goode_homolosine(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_InterruptedGoodeHomolosine(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_interrupted_goode_homolosine(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GeostationarySatelliteSweepX(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_geostationary_satellite_sweep_x(
+ PJ_CONTEXT *ctx,
double centerLong,
double height,
double falseEasting,
@@ -847,8 +1319,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GeostationarySatelliteSweepX(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GeostationarySatelliteSweepY(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_geostationary_satellite_sweep_y(
+ PJ_CONTEXT *ctx,
double centerLong,
double height,
double falseEasting,
@@ -856,8 +1328,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GeostationarySatelliteSweepY(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Gnomonic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gnomonic(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -865,8 +1337,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Gnomonic(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorVariantA(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_variant_a(
+ PJ_CONTEXT *ctx,
double latitudeProjectionCentre,
double longitudeProjectionCentre,
double azimuthInitialLine,
@@ -877,8 +1349,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorVariantA(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorVariantB(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_variant_b(
+ PJ_CONTEXT *ctx,
double latitudeProjectionCentre,
double longitudeProjectionCentre,
double azimuthInitialLine,
@@ -889,8 +1361,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorVariantB(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorTwoPointNaturalOrigin(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_two_point_natural_origin(
+ PJ_CONTEXT *ctx,
double latitudeProjectionCentre,
double latitudePoint1,
double longitudePoint1,
@@ -902,8 +1374,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorTwoPointNatu
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_InternationalMapWorldPolyconic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_international_map_world_polyconic(
+ PJ_CONTEXT *ctx,
double centerLong,
double latitudeFirstParallel,
double latitudeSecondParallel,
@@ -912,8 +1384,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_InternationalMapWorldPolyconic(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_KrovakNorthOriented(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_krovak_north_oriented(
+ PJ_CONTEXT *ctx,
double latitudeProjectionCentre,
double longitudeOfOrigin,
double colatitudeConeAxis,
@@ -924,8 +1396,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_KrovakNorthOriented(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Krovak(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_krovak(
+ PJ_CONTEXT *ctx,
double latitudeProjectionCentre,
double longitudeOfOrigin,
double colatitudeConeAxis,
@@ -936,8 +1408,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Krovak(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertAzimuthalEqualArea(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_azimuthal_equal_area(
+ PJ_CONTEXT *ctx,
double latitudeNatOrigin,
double longitudeNatOrigin,
double falseEasting,
@@ -945,16 +1417,16 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertAzimuthalEqualArea(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MillerCylindrical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_miller_cylindrical(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MercatorVariantA(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mercator_variant_a(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -963,8 +1435,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MercatorVariantA(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MercatorVariantB(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mercator_variant_b(
+ PJ_CONTEXT *ctx,
double latitudeFirstParallel,
double centerLong,
double falseEasting,
@@ -972,8 +1444,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MercatorVariantB(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PopularVisualisationPseudoMercator(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_popular_visualisation_pseudo_mercator(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -981,16 +1453,16 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PopularVisualisationPseudoMercato
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Mollweide(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mollweide(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_NewZealandMappingGrid(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_new_zealand_mapping_grid(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -998,8 +1470,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_NewZealandMappingGrid(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_ObliqueStereographic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_oblique_stereographic(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -1008,8 +1480,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_ObliqueStereographic(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Orthographic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_orthographic(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -1017,8 +1489,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Orthographic(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AmericanPolyconic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_american_polyconic(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -1026,8 +1498,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AmericanPolyconic(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PolarStereographicVariantA(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_polar_stereographic_variant_a(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -1036,8 +1508,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PolarStereographicVariantA(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PolarStereographicVariantB(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_polar_stereographic_variant_b(
+ PJ_CONTEXT *ctx,
double latitudeStandardParallel,
double longitudeOfOrigin,
double falseEasting,
@@ -1045,24 +1517,24 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PolarStereographicVariantB(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Robinson(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_robinson(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Sinusoidal(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_sinusoidal(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Stereographic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_stereographic(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double scale,
@@ -1071,32 +1543,32 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Stereographic(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_VanDerGrinten(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_van_der_grinten(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_i(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_ii(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerIII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_iii(
+ PJ_CONTEXT *ctx,
double latitudeTrueScale,
double centerLong,
double falseEasting,
@@ -1104,40 +1576,40 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerIII(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerIV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_iv(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_v(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerVI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_vi(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerVII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_vii(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_QuadrilateralizedSphericalCube(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_quadrilateralized_spherical_cube(
+ PJ_CONTEXT *ctx,
double centerLat,
double centerLong,
double falseEasting,
@@ -1145,8 +1617,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_QuadrilateralizedSphericalCube(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_SphericalCrossTrackHeight(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_spherical_cross_track_height(
+ PJ_CONTEXT *ctx,
double pegPointLat,
double pegPointLong,
double pegPointHeading,
@@ -1154,8 +1626,8 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_SphericalCrossTrackHeight(
const char* angUnitName, double angUnitConvFactor,
const char* linearUnitName, double linearUnitConvFactor);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EqualEarth(
- PJ_OBJ* geodetic_crs, const char* crs_name,
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equal_earth(
+ PJ_CONTEXT *ctx,
double centerLong,
double falseEasting,
double falseNorthing,
@@ -1164,289 +1636,7 @@ PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EqualEarth(
/* END: Generated by scripts/create_c_api_projections.py*/
-PJ_OBJ_TYPE PROJ_DLL proj_obj_get_type(PJ_OBJ *obj);
-
-int PROJ_DLL proj_obj_is_deprecated(PJ_OBJ *obj);
-
-/** Comparison criterion. */
-typedef enum
-{
- /** All properties are identical. */
- PJ_COMP_STRICT,
-
- /** The objects are equivalent for the purpose of coordinate
- * operations. They can differ by the name of their objects,
- * identifiers, other metadata.
- * Parameters may be expressed in different units, provided that the
- * value is (with some tolerance) the same once expressed in a
- * common unit.
- */
- PJ_COMP_EQUIVALENT,
-
- /** Same as EQUIVALENT, relaxed with an exception that the axis order
- * of the base CRS of a DerivedCRS/ProjectedCRS or the axis order of
- * a GeographicCRS is ignored. Only to be used
- * with DerivedCRS/ProjectedCRS/GeographicCRS */
- PJ_COMP_EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS,
-} PJ_COMPARISON_CRITERION;
-
-int PROJ_DLL proj_obj_is_equivalent_to(PJ_OBJ *obj, PJ_OBJ* other,
- PJ_COMPARISON_CRITERION criterion);
-
-int PROJ_DLL proj_obj_is_crs(PJ_OBJ *obj);
-
-const char PROJ_DLL* proj_obj_get_name(PJ_OBJ *obj);
-
-const char PROJ_DLL* proj_obj_get_id_auth_name(PJ_OBJ *obj, int index);
-
-const char PROJ_DLL* proj_obj_get_id_code(PJ_OBJ *obj, int index);
-
-int PROJ_DLL proj_obj_get_area_of_use(PJ_OBJ *obj,
- double* p_west_lon_degree,
- double* p_south_lat_degree,
- double* p_east_lon_degree,
- double* p_north_lat_degree,
- const char **p_area_name);
-
-/** \brief WKT version. */
-typedef enum
-{
- /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2 */
- PJ_WKT2_2015,
- /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2_SIMPLIFIED */
- PJ_WKT2_2015_SIMPLIFIED,
- /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2_2018 */
- PJ_WKT2_2018,
- /** cf osgeo::proj::io::WKTFormatter::Convention::WKT2_2018_SIMPLIFIED */
- PJ_WKT2_2018_SIMPLIFIED,
- /** cf osgeo::proj::io::WKTFormatter::Convention::WKT1_GDAL */
- PJ_WKT1_GDAL,
- /** cf osgeo::proj::io::WKTFormatter::Convention::WKT1_ESRI */
- PJ_WKT1_ESRI
-} PJ_WKT_TYPE;
-
-const char PROJ_DLL* proj_obj_as_wkt(PJ_OBJ *obj, PJ_WKT_TYPE type,
- const char* const *options);
-
-/** \brief PROJ string version. */
-typedef enum
-{
- /** cf osgeo::proj::io::PROJStringFormatter::Convention::PROJ_5 */
- PJ_PROJ_5,
- /** cf osgeo::proj::io::PROJStringFormatter::Convention::PROJ_4 */
- PJ_PROJ_4
-} PJ_PROJ_STRING_TYPE;
-
-const char PROJ_DLL* proj_obj_as_proj_string(PJ_OBJ *obj,
- PJ_PROJ_STRING_TYPE type,
- const char* const *options);
-
-PJ_OBJ PROJ_DLL *proj_obj_get_source_crs(PJ_OBJ *obj);
-
-PJ_OBJ PROJ_DLL *proj_obj_get_target_crs(PJ_OBJ *obj);
-
-PJ_OBJ_LIST PROJ_DLL *proj_obj_identify(PJ_OBJ* obj,
- const char *auth_name,
- const char* const *options,
- int **confidence);
-
-void PROJ_DLL proj_free_int_list(int* list);
-
-/* ------------------------------------------------------------------------- */
-
-/** \brief Type representing a NULL terminated list of NUL-terminate strings. */
-typedef char **PROJ_STRING_LIST;
-
-PROJ_STRING_LIST PROJ_DLL proj_get_authorities_from_database(PJ_CONTEXT *ctx);
-
-PROJ_STRING_LIST PROJ_DLL proj_get_codes_from_database(PJ_CONTEXT *ctx,
- const char *auth_name,
- PJ_OBJ_TYPE type,
- int allow_deprecated);
-
-void PROJ_DLL proj_free_string_list(PROJ_STRING_LIST list);
-
-/* ------------------------------------------------------------------------- */
-
-
-/*! @cond Doxygen_Suppress */
-typedef struct PJ_OPERATION_FACTORY_CONTEXT PJ_OPERATION_FACTORY_CONTEXT;
-/*! @endcond */
-
-PJ_OPERATION_FACTORY_CONTEXT PROJ_DLL *proj_create_operation_factory_context(
- PJ_CONTEXT *ctx,
- const char *authority);
-
-void PROJ_DLL proj_operation_factory_context_unref(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt);
-
-void PROJ_DLL proj_operation_factory_context_set_desired_accuracy(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- double accuracy);
-
-void PROJ_DLL proj_operation_factory_context_set_area_of_interest(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- double west_lon_degree,
- double south_lat_degree,
- double east_lon_degree,
- double north_lat_degree);
-
-/** Specify how source and target CRS extent should be used to restrict
- * candidate operations (only taken into account if no explicit area of
- * interest is specified. */
-typedef enum
-{
- /** Ignore CRS extent */
- PJ_CRS_EXTENT_NONE,
-
- /** Test coordinate operation extent against both CRS extent. */
- PJ_CRS_EXTENT_BOTH,
-
- /** Test coordinate operation extent against the intersection of both
- CRS extent. */
- PJ_CRS_EXTENT_INTERSECTION,
-
- /** Test coordinate operation against the smallest of both CRS extent. */
- PJ_CRS_EXTENT_SMALLEST
-} PROJ_CRS_EXTENT_USE;
-
-void PROJ_DLL proj_operation_factory_context_set_crs_extent_use(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- PROJ_CRS_EXTENT_USE use);
-
-/** Spatial criterion to restrict candiate operations. */
-typedef enum {
- /** The area of validity of transforms should strictly contain the
- * are of interest. */
- PROJ_SPATIAL_CRITERION_STRICT_CONTAINMENT,
-
- /** The area of validity of transforms should at least intersect the
- * area of interest. */
- PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION
-} PROJ_SPATIAL_CRITERION;
-
-void PROJ_DLL proj_operation_factory_context_set_spatial_criterion(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- PROJ_SPATIAL_CRITERION criterion);
-
-
-/** Describe how grid availability is used. */
-typedef enum {
- /** Grid availability is only used for sorting results. Operations
- * where some grids are missing will be sorted last. */
- PROJ_GRID_AVAILABILITY_USED_FOR_SORTING,
-
- /** Completely discard an operation if a required grid is missing. */
- PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID,
-
- /** Ignore grid availability at all. Results will be presented as if
- * all grids were available. */
- PROJ_GRID_AVAILABILITY_IGNORED,
-} PROJ_GRID_AVAILABILITY_USE;
-
-void PROJ_DLL proj_operation_factory_context_set_grid_availability_use(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- PROJ_GRID_AVAILABILITY_USE use);
-
-void PROJ_DLL proj_operation_factory_context_set_use_proj_alternative_grid_names(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- int usePROJNames);
-
-void PROJ_DLL proj_operation_factory_context_set_allow_use_intermediate_crs(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, int allow);
-
-void PROJ_DLL proj_operation_factory_context_set_allowed_intermediate_crs(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- const char* const *list_of_auth_name_codes);
-
-/* ------------------------------------------------------------------------- */
-
-
-PJ_OBJ_LIST PROJ_DLL *proj_obj_create_operations(
- PJ_OBJ *source_crs,
- PJ_OBJ *target_crs,
- PJ_OPERATION_FACTORY_CONTEXT *operationContext);
-
-int PROJ_DLL proj_obj_list_get_count(PJ_OBJ_LIST *result);
-
-PJ_OBJ PROJ_DLL *proj_obj_list_get(PJ_OBJ_LIST *result,
- int index);
-
-void PROJ_DLL proj_obj_list_unref(PJ_OBJ_LIST *result);
-
-/* ------------------------------------------------------------------------- */
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_geodetic_crs(PJ_OBJ *crs);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_horizontal_datum(PJ_OBJ *crs);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_sub_crs(PJ_OBJ *crs, int index);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs_to_WGS84(PJ_OBJ *crs);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_coordinate_system(PJ_OBJ *crs);
-
-const char PROJ_DLL *proj_obj_cs_get_type(PJ_OBJ* cs);
-
-int PROJ_DLL proj_obj_cs_get_axis_count(PJ_OBJ *cs);
-
-int PROJ_DLL proj_obj_cs_get_axis_info(PJ_OBJ *cs, int index,
- const char **pName,
- const char **pAbbrev,
- const char **pDirection,
- double *pUnitConvFactor,
- const char **pUnitName);
-
-PJ_OBJ PROJ_DLL *proj_obj_get_ellipsoid(PJ_OBJ *obj);
-
-int PROJ_DLL proj_obj_ellipsoid_get_parameters(PJ_OBJ *ellipsoid,
- double *pSemiMajorMetre,
- double *pSemiMinorMetre,
- int *pIsSemiMinorComputed,
- double *pInverseFlattening);
-
-PJ_OBJ PROJ_DLL *proj_obj_get_prime_meridian(PJ_OBJ *obj);
-
-int PROJ_DLL proj_obj_prime_meridian_get_parameters(PJ_OBJ *prime_meridian,
- double *pLongitude,
- double *pLongitudeUnitConvFactor,
- const char **pLongitudeUnitName);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_coordoperation(PJ_OBJ *crs,
- const char **pMethodName,
- const char **pMethodAuthorityName,
- const char **pMethodCode);
-
-int PROJ_DLL proj_coordoperation_is_instanciable(PJ_OBJ *coordoperation);
-
-int PROJ_DLL proj_coordoperation_get_param_count(PJ_OBJ *coordoperation);
-
-int PROJ_DLL proj_coordoperation_get_param_index(PJ_OBJ *coordoperation,
- const char *name);
-
-int PROJ_DLL proj_coordoperation_get_param(PJ_OBJ *coordoperation,
- int index,
- const char **pName,
- const char **pNameAuthorityName,
- const char **pNameCode,
- double *pValue,
- const char **pValueString,
- double *pValueUnitConvFactor,
- const char **pValueUnitName);
-
-int PROJ_DLL proj_coordoperation_get_grid_used_count(PJ_OBJ *coordoperation);
-
-int PROJ_DLL proj_coordoperation_get_grid_used(PJ_OBJ *coordoperation,
- int index,
- const char **pShortName,
- const char **pFullName,
- const char **pPackageName,
- const char **pURL,
- int *pDirectDownload,
- int *pOpenLicense,
- int *pAvailable);
-
-double PROJ_DLL proj_coordoperation_get_accuracy(PJ_OBJ* obj);
+/**@}*/
#ifdef __cplusplus
}